Computational Learning Theory and PAC learning
Obiettivo Questa teoria cerca di dare risposte al seguente problema: data una ipotesi h, come posso predire quanto questa ipotesi sia promettente, ovvero quanto approssimi la funzione obiettivo c, se non conosco c? Implicazione: “quanto” devo addestrare l’apprendista perché apprenda un’ipotesi promettente? Apprendimento PAC: una ipotesi consistente con un numero elevato di esempi è probabilmente approssimativamente corretta (PAC)
Definizioni Ipotesi di stazionarietà: l'insieme di addestramento e l'insieme di test devono essere estratti dalla medesima popolazione di esempi usando la medesima distribuzione di probabilità. Sia X lo spazio delle istanze Sia C una classe di concetti definiti su X Sia c un concetto di C Sia D la distribuzione di probabilità dei fenomeni nello spazio delle istanze X Sia E(c, D ) una procedura che estrae istanze da X secondo D e le classifica <x,c(x)> Sia D l'insieme di apprendimento estratto da E(c, D ) Sia H l'insieme delle ipotesi possibili Sia m il numero di esempi in D Sia di un esempio di D di <xi,c(xi)> Sia h un'ipotesi di H NOTA: D Distribuzione D esempi
PAC learning Def(modello PAC learning): Sia C una classe di concetti definita su X. C si dice PAC learnable se esiste un algoritmo di apprendimento L con le seguenti proprietà: per ogni cC, per ogni D su X, e per ogni 0 e , se L ha accesso ad una procedura E(c, D ) e ai valori e , allora con probabilità almeno (1-) L produrrà una ipotesi hC che soddisfa errore(h). Se L gira in un tempo polinomiale in 1/ e 1/, allora si dice efficiently PAC learnable. prende il nome di parametro di errore, prende il nome di parametro di confidenza, m è detto complessità del campionamento Il parametro di confidenza tiene conto della probabilità che, in un particolare insieme di apprendimento D compaiano esempi poco rappresentativi (o rumorosi). In questo caso, la cui probabilità si assume <, l'errore di h potrebbe essere maggiore del parametro .
Occam Learning Indichiamo con C la classe di concetti sui quali viene effettuato l'apprendimento. Sia C =Cn con n finito (es: se Cn è l'insieme degli n-monomials , Cn =2n , mentre l'insieme Cn delle rete neurali di architettura G è infinito) In questo caso, è possibile dare una definizione specifica delle condizioni di apprendibilità. Il principio del rasoio di Occam dice che le teorie scientifiche dovrebbero essere il più semplici possible. (Entia non est multiplicanda praeter necessitatem) Apprendere è l'atto di trovare una regolarità nei dati che faciliti una rappresentazione compatta dei medesimi.
Occam learning (2) Def(Occam learning): Siano <1 due costanti, D un insieme di apprendimento di dimensione m, L un algoritmo di apprendimento, C una classe di concetti, H un insieme di ipotesi in un certo spazio di rappresentazione. L si dice un (,)-Occam algorithm per C usando H se, sottoponendo un campione D di m esempi di un concetto cCn, L emette un'ipotesi h(c) H tale che: h è consistente con D size(h)(n·size(c)) m dove size(h) e size(c) indicano rispettivamente, la dimensione in bit di h e la più piccola dimensione di c in H. Notate che n è la dimensionalità di un singolo esempio xX
size(h)(n·size(c)) m Commento size(h)(n·size(c)) m La dimensione dell’ipotesi dipende da n (il numero di attributi che descrivono un esempio) e dal numero m degli esempi sottoposti. Un “buon” algoritmo dovrebbe emettere una ipotesi che sia più compatta di mn (come, ad esempio, un’ipotsi che sia banalmente la disgiunzione di tutti gli m esempi visti). I parametri e suggeriscono appunto questo.
Teorema 1 Teorema 1 (PAC learnability of Occam algorithms): Sia L un (,)-Occam algorithm per C usando H, sia cCn, sia D la distribuzione di probabilità su X, e siano 0 e . Allora, esiste una costante a>0 tale che se ad L viene sottoposto un campione D di m esempi scelti su X in accordo a E (c, D ), allora se: con probabilità almeno (1-) L produrrà un'ipotesi h che soddisfa error(h). Inoltre, L gira in tempo polinomiale in n, size(c), 1/ e 1/
Teorema 1 (versione 2) Sia L… Allora, esiste una costante b>0 tale che se ad L viene sottoposto un campione D di m esempi scelti su X in accordo a EX(c, D ), allora se: logbm - log(1/) con probabilità almeno (1-) L produrrà un'ipotesi h che soddisfa error(h). Inoltre, L gira in tempo polinomiale in n, size(c), 1/ e 1/
Dimostrazione error(h) h Hbuone error(h)> h Hcattive Per un'ipotesi hbadHcattive la probabilità che l'ipotesi concordi con m esempi (risulti consistente) è stimata dalla: P(hbadconcordi con m esempi)=(1-)m(1-)m P(Hcattive contenga ipotesi consistenti) Hcattive (1-)m H (1-)m ma poiché 1-e- otteniamo: He -m Se desideriamo un PAC learning, dobbiamo imporre che He -m <, da cui, estraendo i logaritmi: m dipende dalla dimensione dello spazio delle ipotesi. error(h) h Hbuone error(h)> h Hcattive hbad
Esempio 1: congiunzione di letterali booleani H è lo spazio di formule congiuntive di n attributi booleani Consideriamo l’algoritmo Find_S: inizializza h con l’ipotesi più specifica in h x tale che c(x)=1, ai in h Se x soddisfa ai do nothing Altrimenti, rimpiazza ai con la condizione più generale che sia soddisfatta da x Produci l’ipotesi h L'ipotesi più specifica per una congiunzione di n booleani è: sia d: <x,c(x)> un esempio positivo (i negativi vengono ignorati) x è una stringa di bit a1…an per ogni ai in x, se ai =1 cancella in h, se ai =0 cancella xi in h in ogni passo, h è più specifica di c (non esistono letterali che compaiono in c ma non in h, o falsi negativi)
PAC learnability di Find_S Consideriamo dunque la probabilità di falsi positivi. Sia z un letterale che compare in h ma non in c (una causa di errore per h). Dunque, h commetterà un errore ogni volta che verrà sottoposto un elemento da classificare x che sia positivo per c ma che non contenga z. Sia: p(z)=Pr(c(a)=1, z è contraddetto in a) Es: ipotesi corrente concetto corretto x=(1111) c(x)=1 esempio corrente la possibilità di errore, data una ipotesi h, è limitata dalla: errore(h)zhp(z) definiamo z un letterale pericoloso (bad literal ) se: p(z)n Se h non contiene letterali pericolosi, allora possiamo ricavare un limite inferiore per l' errore: errore(h) zhp(z) zh(n) 2n(n)= z
PAC learnability di Find_S (2) Supponiamo viceversa che esistano alcuni letterali pericolosi. Per ogni z pericoloso, la probabilità che nessuno, fra m esempi di addestramento, contenesse questo letterale è al più: p(z non eliminato dopo m esempi)=(1-p(z))m(1-n)m Poiché la probabilità che z non venga eliminato sulla base di un singolo esempio è (1-p(z)). Siccome il massimo numero di letterali è 2n, la probabilità che ci sia qualche letterale pericoloso dopo m esempi è al più 2n(1-n)m Ma per garantire la PAC learnability deve essere verificata la: 2n(1-n)m dove rappresenta la confidenza poiché (1-x) e-x 2ne(-mn) che porta alla: mnln(2n)+ln(1/
Esempio 2: apprendibilità di Liste di decisione Una lista di decisione consiste in una sequenza ordinata di test, ciascuno dei quali è una congiunzione di letterali. Se un test ha successo, viene restituita una decisione, se fallisce, si passa al test successivo.
Apprendibilità di Liste di decisione (2) Se si limita la dimensione di ciascun test ad al più k letterali, è possibile per l'algoritmo di apprendimento trovare buone ipotesi con un piccolo numero di esempi. Un test è una congiunzione di k letterali su n attributi. Chiamiamo k-DL(n) un linguaggio costituito da tutte le liste di decisione DL con al più k attributi. Che dimensione ha questo linguaggio? Ogni possibile test può fornire risposta Si, No, o può non comparire nella lista , dunque possono esserci al più 3conj(n,k)insiemi di test componenti, dove conj(n,k)rappresenta il numero di congiunzioni di k letterali su n attributi: (in quanti modi posso costruire un test)
Apprendibilità di Liste di decisione (3) Poiché i vari test possono essere ordinati in modo qualsiasi, avrò: da cui ricavo Una lista di decisione dunque consente di apprendere in modo PAC in un numero ragionevole di esempi, con k abbastanza piccolo.
La dimensione di Vapnik-Chernovenkis Dobbiamo trattare il problema dell'apprendibilità nel caso in cui C ed X siano infiniti. Esempi: L'insieme delle reti neurali di architettura G L'insieme degli iperpiani di separazione in uno spazio F L'insieme dei rettangoli allineati con gli assi x,y
La dimensione di Vapnik-Chernovenkis (2) Data una classe di concetti binari C definita su uno spazio di rappresentazione H, il massimo numero di possibili classificazioni di un campione D di dimensione m è 2m. Indichiamo con: l'insieme delle possibili dicotomie che D induce su C. Es: C classe degli iperpiani di separazione su 2 . Ogni cC induce una suddivisione del piano in un semipiano “positivo” ed un semipiano “negativo”. Dato un insieme D di 3 esempi, x1 x2 e x3, ogni cC induce su questi esempi una classificazione. Ad esempio: c x1 x2 x3 c(1,0,0) x2 c’ c’(1,0,1)
La dimensione di Vapnik-Chernovenkis (3) Se C(D)=0,1m (cioè il massimo numero di dicotomie) diciamo che D è tracciato (shattered ) da C (Ovvero: per ogni m-upla binaria (a1..am) in 0,1}m esiste un cC tale che: (c(x1),c(x2)..c(xm)) = (a1..am) ) Nell’esempio precedente, D3 risultava tracciato dalla classe C dei semipiani di separazione. La dimensione VC di C , VCD(C), è la cardinalità d del massimo insieme D tracciato da C. Diciamo anche che d è la capacità di C. Nota: per dimostrare che la dimensione massima VCD(C)=d basta trovare qualche insieme D di dimensione d tracciato da C, ma dobbiamo anche dimostrare che non esiste alcun insieme di dimensione d+1 tracciato da C. Nell’esempio precedente, per provare che d=3, dobbiamo anche provare che non è possibile tracciare D4 con C
Esempi x1 x2 x3 x4 Nessun semipiano traccia (x4x3x2x1)=(0,0,1,1) o (1,1,0,0)!! d=3 In generale se Cn, d=n+1 x1 x2 x3 x4 r1 r2 r4 r3 Se C è la classe dei rettangoli paralleli agli assi, è facile vedere che d è almeno 4 r1 induce (0,0,0,0), r2 (0,0,0,1) r3 (0,0,1,0) ecc. x5 Ma se aggiuno un punto x5, nessun rettangolo induce, ad es., (0,1,1,1,1) !!!
PAC learnability per classi di dimensione infinita Teorema: sia C una classe di concetti di dimensione VC pari a d. Sia L un algoritmo che accetta in ingresso un insieme D di m esempi classificati di un concetto c di C, e produce in uscita una ipotesi h C consistente con D. Allora, L è un algoritmo PAC per C, purché venga addestrato con un insieme di m esempi estratti in accordo con EX(c,D ), tale che: dove c0 è una costante >0.
PAC learnability di reti neurali Sia G un grafo diretto aciclico con n nodi di ingresso ed un numero di stati interni s, ognuno avente r uscite. Sia CG la classe di reti neurali con architettura G. Il numero di esempi richiesti per apprendere CG è inf. limitato dalla: Nota: la dimensione VC della classe delle funzioni soglia (semipiani r-dimensionali) è r+1. Ricordate: soglia