APPRENDIMENTO AUTOMATICO - Prof. Evelina Lamma Dip. di Ingegneria, Univ. di Ferrara
←
→
Trascrizione del contenuto della pagina
Se il tuo browser non visualizza correttamente la pagina, ti preghiamo di leggere il contenuto della pagina quaggiù
APPRENDIMENTO AUTOMATICO Prof. Evelina Lamma Dip. di Ingegneria, Univ. di Ferrara elamma@ing.unife.it Apprendimento Automatico 1 • La capacità di apprendimento è fondamentale in un sistema “intelligente” – risolvere nuovi problemi – non ripetere gli errori fatti in passato – risolvere problemi più efficientemente o in modo migliore – autonomia nell’affrontare e risolvere problemi (indipendenza da esperto che fornisce la conoscenza) – adattarsi ai cambiamenti dell’ambiente circostante • Un sistema senza queste caratteristiche difficilmente potrebbe essere considerato intelligente • Machine Learning (Apprendimento Automatico) – importante area della AI fino dagli anni ‘60 – importanti risultati: vari approcci all’apprendimento – importanti relazioni con altre aree di ricerca, non solo dell’IA o dell’informatica Apprendimento Automatico 2
attuatori Problem solver K.B. environment learning sensori element • Learning element estende la K.B. – Interagendo con l’ambiente – usando il problem solver – usando conoscenza già disponibile • Molti approcci per definire il “learning element” – obiettivo del processo di apprendimento – tipo di informazione disponibile – tipo di conoscenza disponibile – forma della conoscenza da apprendere Apprendimento Automatico 3 Apprendimento induttivo • Apprendimento a partire da esempi forniti da un supervisore • Induzione: una possibile visione matematica – dato un insieme di coppie – determinare quale è la funzione f(x) di cui le coppie sono istanze • Terminologia: – Esempio = una istanza della funzione da apprendere – Contro-esempio = una coppia per cui si ha che b ≠ f(aj) – Ipotesi = una possibile definizione h per la funzione da apprendere – Spazio di ipotesi = l’insieme delle ipotesi possibili – Bias = un criterio di preferenza tra le ipotesi • ad esempio forma sintattica delle funzioni • Induzione = generalizzazione da esempi obiettivo: trovare un’ipotesi h che sia in accordo con tutti gli esempi e i contro-esempi • Induzione: forma di inferenza logica Apprendimento Automatico 4
• Concept learning: un’altra visione dell’induzione – problema: • dato insieme di concetti (classi di oggetti) • dato un insieme di esempi e contro-esempi per i concetti – esempi: istanze del concetto – contro-esempi: individui che non sono istanze del concetto • apprendere la descrizione dei concetti – esempio: classificazione (vedremo) • Molti approcci all’apprendimento induttivo – tipo di conoscenza da apprendere (linguaggio e bias) – tipo di esempi – diverse forme (più o meno forti) di generalizzazione • nel corso del seminario vedremo – Linguaggi attributo-valore • apprendimento di alberi decisionali (classificazione) • apprendimento di descrizioni strutturate di concetti (version space) • apprendimento con metodi statistici – Linguaggi del primo ordine (Inductive Logic Programming) Apprendimento Automatico 5 Classificazione • Forma di problem solving comune in molti task • Dato un insieme di classi C1, C2, …, Cn – per ogni classe è fornita una definizione (descrizione) per ognuna delle Ci è dato un insieme di features fi1, …, fiji • dato un oggetto a: stabilire a quale delle classi appartiene • Apprendimento per classificazione: – dato un insieme di esempi (e contro-esempi) – apprendere la descrizione delle classi • Esempio – descrizione di classi • classe C1=auto: ruote=4, motore=presente • classe C2=bici: ruote=2, motore=assente – esempi • a=auto motore=presente • a not = auto ruote=2 • Molte possbili rappresentazioni delle classi e approcci alla classificazione Apprendimento Automatico 6
Una visione grafica • Classe C descritta da due attributi a1 e a2 • rappresentazione grafica di esempi e contro-esempi a2 esempio contro-esempio a1 • Concetto da apprendere: figura nel piano di a1, a2 che – copre tutti gli esempi – non copre contro-esempi • bias: forma geometrica della figura • esempio a2 a1 Apprendimento Automatico 7 Linguaggi attributo-valore • Ciascuna istanza è descritta dai valori assunti da un insieme di attributi (fisso per tutte le istanze). • Gli attributi possono essere: – booleani o binari – nominali – ordinali – numerici – continui o discreti, etc • Se k sono gli attributi, ciascuna istanza può essere rappresentata come un punto in uno spazio k-dimensionale • Imparare: – alberi di decisione – descrizioni strutturate (formule logiche) – con metodi statistici, la classe di appartenenza Apprendimento Automatico 8
Alberi decisionali • Una rappresentazione operazionale per un sistema di decisione (e di classificazione) • Alberi in cui – i nodi con figli corrispondono a domande (attributi) – gli archi che escono dai nodi alle possibili risposte (valori degli attributi) – le foglie sono decisioni (le classi) • Esempio No. di ruote 2 4 motore auto si no moto bici • Una versione più semplice: albero di decisione per un concetto booleano (appartenenza a una classe) Apprendimento Automatico 9 • Esempio [Russel, Norvig]: entrare in un ristorante? no. clienti nessuno alcuni pieno no si stima attesa >60 0-10 30-60 10-30 no alternative fame si no si no si prenotazione Ven/Sab si alternative no si si no no si piove si Bar si no si no si no si no si no si si e no sono le due classi di decisione Apprendimento Automatico 10
• Apprendimento: costruire l’albero a partire da esempi – esempi di decisioni • si/no (esempi e contro-esempi) nel caso di decisioni binarie – esempi delle varie classi corrispondenti alle foglie • Esempio: Es. attributi Dec alt. bar V/S fame noC prez piov pren tipo att x1 si no no si alc £££ no si F 0-10 Si x2 si no no si pieno £ no no Thai 30-60 No x3 no si no no alc £ no no hamb 0-10 Si x4 si no si si pieno £ no no Thai 10-30 Si x5 si no si no pieno £££ no si F >60 No x6 no si no si alc ££ si si I 0-10 Si x7 no si no no ness £ si no hamb 0-10 No x8 no no no si alc ££ si si Thai 0-10 Si x9 no si si no pieno £ si no hamb >60 No x10 si si si si pieno £££ no si I 10-30 No x11 no no no no ness £ no no Thai 0-10 No x12 si si si si pieno £ no no hamb 30-60 Si Apprendimento Automatico 11 • Una soluzione banale – costruire un ramo per ognuno degli esempi • Obiettivo – costruire un albero “semplice” – costruire il più semplice tra quelli consistenti con gli esempi • in generale è indecidibile • euristiche per costruirne uno “ragionevolmente semplice” • Un algoritmo: ID3 [Quinlan] if non ci sono esempi then termina (o classifica a maggioranza) if tutti gli esempi hanno la stessa classificazione then etichetta il nodo con la classificazione else if nessun attributo rimasto then termina con problema seleziona attributo Ai che discrimina meglio dividi gli esempi in base ai valori di Ai costruisci un nodo etichettato con Ai e con un ramo in uscita per ogni valore vj di Ai richiama ricorsivamente per ogni vj con gli esempi corrispondenti Apprendimento Automatico 12
• Attributo ideale Ai da selezionare ad ogni passo – discrimina completamente tra gli esempi, ossia • dati valori v1, …, vk • per ogni vj, tutti gli esempi con lo stesso valore vj hanno la stessa classificazione • Attributo da scegliere – quello che discrimina meglio tra gli gli esempi • per la maggior parte dei vj, gli esempi con lo stesso valore di vj hanno quasi tutti la stessa classificazione • Una misura della bontà di un attributo: entropia – studiata in information theory [Shannon, Weaver] – misura la quantità di informazione fornita da ognuno degli attributi • per ogni attributo Ai, e ogni valore vj costruiamo distribuzione di probabilità delle classi: P(C1), …, P(Cm) • I(Ai) informazione fornita da Ai definita nel modo seguente I(Ai) = Σ I(vj) I(vj) = Σ -P(Cj) log2 P(Cj) • ha valore minimo (0) quando una P(Cj) vale 1, ossia quando ogni valore dell’attributo discrimina completamente Apprendimento Automatico 13 • Esempio – attributo noClienti: per due valori discrimina completamente (“nessuno” e “alcuni”) noClienti nessuno alcuni pieno si: --- si: x1, x3, x6, x8 si: x4, x12 no: x7, x11 no: --- no: x2, x5, x9, x10 – attributo tipo: discrimina male per tutti i valori tipo burg Thai I F si: x3, x12 si: x6 si: x1 si: x4, x8 no: x7, x19 no: x10 no: x5 no: x2, x11 – Tra i due noClienti è la scelta migliore – in generale tra tutti è quello con entropia più bassa Apprendimento Automatico 14
– L’algoritmo procede ricorsivamente considerando il valore “pieno” di noClienti e considerando gli esempi per quel valore • si analizzano gli altri attributi • si seleziona quello che discrimina meglio nel caso “fame”: per uno dei due valori si ha classificazione completa noClienti nessuno alcuni pieno si: --- si: x1, x3, x6, x8 si: x4, x12 no: x7, x11 no: --- no: x2, x5, x9, x10 fame si no si: x4, x12 si: --- no: x2, x10 no: x5, x9 – Analogamente si procede ricorsivamente su ramo “si” Apprendimento Automatico 15 – Alla fine, l’albero risultante (diverso da quello visto prima) noClienti nessuno alcuni pieno si: --- si: x1, x3, x6, x8 si: x4, x12 no: x7, x11 no: --- no: x2, x5, x9, x10 no si fame si no si: x4, x12 si: --- no: x2, x10 no: x5, x19 no tipo burg Thai I F si: x12 si: --- si: --- si: x4 no: --- no: x10 no:--- no: x2 si no si Ven/Sab si no si: x4 si: --- no: --- no: x2 si no Apprendimento Automatico 16
Valutazione delle prestazioni • Conoscenza appresa influenzata dagli esempi – potrebbe classificare in modo sbagliato nuove istanze – esempi devono essere un buon campione della popolazione • Una strategia di verifica della conoscenza appresa da esempi – collezionare un grande insieme di esempi che sia un campione significativo – dividere l’insieme in due • training set T • test set S in modo uniforme (secondo la stessa distribuzione degli esempi) – effettuare l’apprendimento usando T – valutare la percentuale di corretta classificazione usando S – ripete lo stesso processo più volte con diversa divisione tra T e S e per diverse dimensioni del training set Apprendimento Automatico 17 Sistemi che apprendono alberi di decisione • CLS, IDR, C4.5, ASSISTANT, ID5, etc. • Problemi appropriati: – le istanze sono rappresentate da coppie attributo valore – la funzione target ha valori discreti – possono essere richieste descrizioni disgiuntive di concetti – l’insieme dei dati di training può contenere errori – l’insieme dei dati di training può contenere dati mancanti Apprendimento Automatico 18
Alberi di decisione: c4.5 • Evoluzione di ID3, del medesimo autore, J.R. Quinlan, • ispirato ad uno dei primi sistemi di questo genere, CLS (Concept Learning Systems) di E.B. Hunt • Continuo studio ed aggiornamento (release 8): rimane uno dei punti di riferimento nella propria classe di algoritmi. • Tratta attributi: – discreti – continui – con valore indefinito • E’ in grado di produrre alberi completi, alberi semplificati (maggiore generalizzazione) regole di produzione a partire dall’albero Apprendimento Automatico 19 Apprendimento di descrizioni strutturate • In alberi decisionali le classi non sono rappresentate in modo esplicito • Altri approcci: rappresentazione strutturata delle classi usando un linguaggio di rappresentazione delle conoscenza – reti semantiche [Winston] – logica – … • Vedremo l’approccio definito da Mitchell (version space) per – apprendimento di descrizioni basate su formule logiche Apprendimento Automatico 20
Apprendimento di formule logiche • Descrizione classi – formula logica F i cui predicati sono attributi delle classi – F consistente con esempi • F vera su esempi • F falsa su contro-esempi – estensione di F: insieme delle istanze per cui F è vera • Esempi – formule logiche e classe di appartenenenza (spesso Fi ground) • Esempio – classe attesa del ristorante ∀x attesa(X) ↔ noClienti(X,alcuni) ∨ (noClienti(X,molti) ∧ ¬fame(X) ∧ tipo(X,f)) ∨ (noClienti(X,molti) ∧ ¬fame(X) ∧ tipo(X,thai) ∧ ven-sab(X)) ∨ (noClienti(X,molti) ∧ ¬fame(X) ∧ tipo(X,burger)) – istanza alternative(x1) ∧ ¬bar(x1) ∧ ¬ven-sab(x1) ∧ fame(x1) …. CLASSIF attesa(x1) Apprendimento Automatico 21 • Hypothesis space – spazio delle possibili formule logiche per definire ogni classe C • Hypothesis – una particolare definizione H per C • Estensione di una ipotesi – insieme di istanze di H • Una ipotesi H si dice completa: – se copre tutti gli esempi positivi (ogni esempio positivo è istanza di H) • Una ipotesi H si dice consistente: – se non copre alcun esempio negativo (nessun contro-esempio è istanza di H) Apprendimento Automatico 22
Falsi negativi e falsi positivi • Falso negativo per H esempio x è un falso negativo per H se e solo se • x è un esempio per C • x non è istanza di H (H prevede che sia negativo) • Falso positivo per H esempio x è un falso positivo per H se e solo se • x non è un esempio per C (contro-esempio) • x è istanza di H (H prevede che sia positivo) • Falso negativo e falso positivo indicano che H è sbagliata e deve essere modificata • Come modificarla? – Se ci sono falsi negativi per H, occorre renderla più generale in modo da includerli – Se ci sono falsi positivi per H occorre renderla più specifica, in modo da escluderli Apprendimento Automatico 24
• Generalizzazione e specializzazione: due operatori per modificare formule date ipotesi H e H’ con estensioni e(H) e e(H’) – H è più specifica di H’ (H è una specializzazione di H’) se e solo se e(H) ⊆ e(H’) (alt. |— H → H’) – vv. H’ è più generale di H esempio – cubo(x) ∧ rosso(x) è più specifica di cubo(x) – cubo(x) è più specifica di cubo(x) ∨ piramide(x) ATTN: possono anche essere definiti rispetto a teoria T • Operatori di generalizzazione – dropping condition: da cubo(x) ∧ rosso(x) a: cubo(x) – sostituzione con predicati più generali: da cubo(x) a figGeo(x) (se cubo(x) → figGeo(x)) • Operatori di specializzazione (duali) – aggiunta condizioni – sostituzione con predicati più specifici Apprendimento Automatico 25 Generalizzazione/Specializzazione: Esempio Es. attributi Dec alt. bar V/S fame noC prez piov pren tipo att x1 si no no si alc £££ no si F 0-10 Si x2 si no no si pieno £ no no Thai 30-60 No x3 no si no no alc £ no no hamb 0-10 Si x4 si no si si pieno £ no no Thai 10-30 Si x5 si no si no pieno £££ no si F >60 No x6 no si no si alc ££ si si I 0-10 Si x7 no si no no ness £ si no hamb 0-10 No x8 no no no si alc ££ si si Thai 0-10 Si x9 no si si no pieno £ si no hamb >60 No x10 si si si si pieno £££ no si I 10-30 No x11 no no no no ness £ no no Thai 0-10 No x12 si si si si pieno £ no no hamb 30-60 Si Apprendimento Automatico 26
Istanze X Regole H Generale x9 x5 x12 x4 x10 h2 x2 h1 h3 Specifico h2: noClienti=pieno h1: noClienti=pieno ∧ fame=si h3: noClienti=pieno ∧ bar=si • Apprendimento incrementale: parto da un esempio x1, con H ≡ x1 while ci sono esempi do seleziona esempio xi if H consistente con xi then H invariata else if xi è un falso negativo per H (H dice neg ma xi è esempio) then H := generalizzazione di H consistente con xi if xi è un falso positivo per H (H dice pos ma xi non è esempio) then H := specializzazione di H consistente con xi • Problemi – Hypothesis space enorme – molti modi per generalizzare e specializzare • Una soluzione: version space – introdurre un bias – gestire la ricerca con least-committment Apprendimento Automatico 28
Version space • Apprendere formule logiche da esempi ma: – non mantenere singola ipotesi che viene modificata – mantenere in forma compatta l’intero spazio di ipotesi consistenti • bias: ipotesi in forma congiuntiva – consente di strutturare Hypothesis space e di rappresentare in forma compatta insiemi di ipotesi T (ipotesi più generale che copre universo) • Hypothesis space: reticolo ⊥ (ipotesi più specifica che non copre niente) T a b c • Esempio: predicati a, b, c a∧b a∧c b∧c a∧b ∧c ⊥ Apprendimento Automatico 29 • Algoritmo di apprendimento – in ogni istante una parte del reticolo contiene ipotesi consistenti con esempi • all’inizio intero reticolo – parte del reticolo caratterizzabile in modo compatto con boundary set • Boundary set: – insieme G delle ipotesi più generali consistenti con esempi (ossia delle ipotesi H / non esiste H’ più generale di H consistente con esempi) – insieme S delle ipotesi più specifiche consistenti con esempi (ossia delle ipotesi H / non esiste H’ più specifico di H consistente con esempi) • rappresentazione compatta – ogni nodo tra quelli in G e S nel reticolo è una ipotesi • Boundary set iniziale: G= {T } S= { ⊥ } • Ad ogni passo – modificare boundary set in accordo con gli esempi • specializzare ipotesi in G quando si hanno contro-esempi (per escluderli) • generalizzare ipotesi in S quando si hanno esempi (per coprirli) Apprendimento Automatico 30
inconsistenti G G1 G2 Gm generale Hypothesis space S S1 S2 Sn specifico inconsistenti • Algoritmo – se esempio xi è un falso positivo per Si allora eliminare Si da S (vuol dire che Si è troppo generale, ma tutte sue specializzazioni sono incomplete) – se esempio xi è un falso positivo per Gj, allora sostituire Gj con le sue specializzazioni più generali consistenti con xi – se esempio xi è un falso negativo per Si allora sostituire Si con le sue generalizzazioni più specifiche consistenti con xi – se esempio xi è un falso negativo per Gj, allora eliminare Gj da G (vuol dire che Gi è troppo specifico, ma tutte sue generalizzazioni sono inconsistenti) Apprendimento Automatico 31 • Esempio – apprendere il concetto di auto economica – predicati: • origine: Jap, I, F, D, USA • colore: b, r, g, … • tipo: berlina, coupè, .. • decade: 70, 80, 90 • marca: Fiat, Alfa, Mercedes, BMW, Renault, Honda, Ford, … – inizio • G= {T } S= { ⊥ } – primo esempio (positivo) • origine(jap), colore(b), marca(honda), tipo(berlina), decade(70) • falso negativo per ⊥ che deve essere generalizzato G= {T } S= {origine(jap)∧ colore(b) ∧ marca(honda) ∧ tipo(berlina) ∧ decade(70) } – secondo esempio (negativo, ossia contro-esempio) • origine(usa), colore(r), marca(chevrolet), tipo(coupè), decade(90) • falso positivo per T che deve essere specializzato e ho cinque modi possibili (non confrontabili) di specializzarlo: uno per ogni predicato Apprendimento Automatico 32
G= {origine(jap), colore(b), marca(honda), tipo(berlina), decade(70) } S= {origine(jap)∧ colore(b) ∧ marca(honda) ∧ tipo(berlina) ∧ decade(70) } – terzo esempio (positivo) • origine(jap), colore(b), marca(toyota), tipo(berlina), decade(80) • si deve rimuovere da G ogni ipotesi inconsistente con esempio (per cui falso neg.) G= {origine(jap), colore(b), tipo(berlina) } • falso negativo per S che deve essere generalizzato S= {origine(jap)∧ colore(b) ∧ tipo(berlina) } – quarto esempio (negativo) • origine(i), colore(b), marca(alfa), tipo(coupè), decade(80) • falso positivo per colore(b) in G che deve essere sostituito da sue specializzazioni più generali che sono – colore(b) ∧ tipo(berlina) colore(b) ∧ origine(jap) entrambe più specifiche di ipotesi già in G (quindi non le aggiungiamo) G= {origine(jap), tipo(berlina) } • S= {origine(jap)∧ colore(b) ∧ tipo(berlina) } – quinto esempio (positivo) • origine(jap), colore(r), marca(honda), tipo(berlina), decade(80) • falso negativo per S che deve essere generalizzato S= {origine(jap) ∧ tipo(berlina) } • G= {origine(jap), tipo(berlina) } Apprendimento Automatico 33 • Osservazioni – importanza del bias – forma di least-commitment nel senso che si specializza (generalizza) sempre il meno possibile – collassamento del version space in caso di errori(rumore) negli esempi – disponendo di molti esempi si può arrivare a una singola formula – conoscenza a-priori potrebbe essere utile nel processo di specializzazione/generalizzazione (vedremo nel caso di ILP) es: origine(jap) → origine(asia) origine(corea) → origine(asia) potrei usare questa conoscenza per generalizzare/specializzare Apprendimento Automatico 34
Classificazione con tecniche statistiche • Assunzione: – i dati assumono la forma di vettori n-dimensionali di vettori reali, con n finito: X=(x1,x2,…,xn) – vengono anche detti pattern • In termini geometrici: ciascun pattern può essere rappresentato da un punto in uno spazio Euclideo n- dimensionale En • appartengono ad m classi: ωi con i da 1 a m Apprendimento Automatico 35 Tecniche statistiche • Scopo: definire m regioni Ωi dello spazio (classi), affinché: X∈ Ωi ⇔ X∈ ωi ∀ i=1,…,m Ω1 Ω2 Ω3 Apprendimento Automatico 36
Classificazione Bayesiana • Selezionare, dato un certo pattern X, la classe Ci che ha, a posteriori, la massima probabilità rispetto al pattern: P(Ci| X)>P(Cj| X) ∀i≠j • Teorema di Bayes (TDB): P(B | A) * P(A) P(A | B) = P(B) • Fornisce un metodo per calcolare la probabilità di un certo evento casuale A sapendo che si è verificato un evento B quando sono note le probabilità a priori di A e B e la probabilità di B condizionato da A. • Per classificare: evento A il fatto che venga data in output dal Classifier una certa classe e come evento B, che si è verificato, il pattern (noto) che deve essere classificato. Apprendimento Automatico 37 Esempio • Consideriamo due ipotesi: il paziente ha un tipo di epatite; il paziente non ha una epatite. • Anche gli esiti degli esami sono due: + (epatite) e – (no epatite). • Dai risultati di laboratorio sappiamo: – P ( epatite ) = 0.008 ; P ( no epatite ) = 0.992 – P ( + | epatite ) = 0.98 ; P ( - | epatite ) = 0.02 – P ( + | no epatite ) = 0.03 ; P ( - | no epatite ) = 0.97 • Osserviamo che, secondo il laboratorio, un nuovo paziente è risultato + e vogliamo classificarlo (ha l’epatite oppure no?). • Dal TDB ( tralasciando il denominatore) abbiamo: – P ( + | epatite ) * P (epatite ) = 0.078 – P ( + | no epatite ) * P ( no epatite ) = 0.298 • quindi è più probabile che il paziente non abbia una epatite. Apprendimento Automatico 38
Classificazione Naive Bayes • Teorema di Bayes di poca utilità pratica, a causa della difficoltà di trovare le probabilità condizionate. • La classificazione Naive Bayes applica direttamente il teorema, ma sfrutta l’ipotesi semplificativa di indipendenza degli attributi osservati. • Dati due eventi casuali a e b (nel nostro caso saranno gli attributi) indipendenti, con probabilità condizionate P(a|C) e P(b|C), infatti, la probabilità che a e b siano verificati simultaneamente è data semplicemente dal prodotto P(a|C)*P(b|C). • Il nostro scopo è sempre quello di trovare la classe che massimizza la probabilità condizionata: maxi P(Ci|x1,x2,…,xn) • Applicando il TDB, abbiamo: P(x1 , x 2 ,..., x n | Ci ) P(Ci ) max i P(x1 , x 2 ,..., x n ) • Ciò equivale a trovare la classe che massimizza il numeratore. Apprendimento Automatico 39 Naive Bayes (cont.) • Con il metodo Naive Bayes, otteniamo: max P(C i ) ∏ P(x j | Ci ) i j • con il prodotto esteso a tutti gli attributi del pattern. • Nella classificazione Naive Bayes la fase di apprendimento serve per la stima delle probabilità della formula precedente. • Le probabilità a priori sono in numero pari a quello delle classi, le probabilità condizionate sono pari al numero degli attributi per quello delle classi. • Le probabilità P(Ci) sono pari alla proporzione di ogni classe nell’insieme di campioni. • La probabilità condizionata P(xj|Ci) dgli attributi (discreti o continui) viene anch’essa stimata come proporzione degli esempi con quel valore (o in quell’intervallo discretizzato) dell’attributo rispetto alle occorrenze della classe Ci • Quando, arriva un nuovo pattern, si utilizza la formula e si ricava la classe avente probabilità massima. Apprendimento Automatico 40
Esempio Giorno Cielo Temperatura Umidità Vento GiocaTennis G1 Sole Caldo Alta Debole NO G2 Sole Caldo Alta Forte NO G3 Nuvoloso Caldo Alta Debole SI G4 Pioggia Mite Alta Debole SI G5 Pioggia Freddo Normale Debole SI G6 Pioggia Freddo Normale Forte NO G7 Nuvoloso Freddo Normale Forte SI G8 Sole Mite Alta Debole NO G9 Sole Freddo Normale Debole SI G10 Pioggia Mite Normale Debole SI G11 Sole Mite Normale Forte SI G12 Nuvoloso Mite Alta Forte SI G13 Nuvoloso Caldo Normale Debole SI G14 Pioggia Mite Alta Forte NO Dato un giorno con le seguenti caratteristiche: < Cielo=sole, Temperatura=freddo, Umidità=alta, Vento=forte > vogliamo sapere se si giocherà o meno una partita di tennis. Apprendimento Automatico 41 Esempio (cont.) P( GiocaTennis=sì )=9/14=0.64 P( GiocaTennis=no )=5/14=0.36 P( Vento=forte | GiocaTennis=sì )=3/9=0.33 P( Vento=forte | GiocaTennis=no )=3/5=0.6 P( Cielo=sole | GiocaTennis=sì )=2/9=0.222 P( Cielo=sole | GiocaTennis=no )=3/5=0.6 P( Temperatura=freddo | GiocaTennis=sì )=3/9=0.333 P(Temperatura=freddo | GiocaTennis=no )=1/5=0.2 P( Umidità=alta | GiocaTennis=sì )=3/9=0.333 P( Umidità=alta | GiocaTennis=no )=4/5=0.8 • P(GiocaTennis=sì)*P(Cielo=sole|sì)*P(Vento=forte|sì)* *P(Temperatura=freddo|sì)*P(Umidità=alta|sì) = 0.0053 • P(GiocaTennis=no)*P(Cielo=sole|no)*P(Vento=forte|no)* *P(Temperatura=freddo|no)*P(Umidità=alta|no) = 0.0206 Apprendimento Automatico 42
Altri metodi statistici: Funzioni discriminanti di Fisher • Si vogliono trovare m funzioni scalari g1(X), g2(X),…,gm(X) cosiddette discriminanti • Il pattern X appartiene alla classe i per la quale gi(X) è maggiore • Il luogo dei punti ove gi(X) e gj(X) sono uguali definisce il bordo tra la regione Ωi e Ωj • L’analisi discriminante di Fisher utilizza funzioni lineari per individuare le regioni di separazione nell’iperspazio corrispondenti ai confini delle classi Apprendimento Automatico 43 Funzioni discriminanti • Nel caso di due classi e due attributi, lo scopo è quello di trovare una curva di separazione tra le due classi (che divide lo spazio in due semispazi) + + + + + - + + + - - + - - + + + - - - - - - - + - - -- + - - - Apprendimento Automatico 44
Analisi discriminante (Fisher 1936) • L’ipotesi del naive Bayes è molto forte. • L’analisi discriminante di Fisher utilizza funzioni lineari per individuare le regioni di separazione nell’iperspazio corrispondenti ai confini delle classi • definite dalla Statistical Decision Theory. • Esse hanno la seguente formulazione generale (TDB): g i ( X ) = p ( X ω i ) P (ω i )∀j = 1,..., m dove • p(X|ωi) è la densità di probabilità di un pattern X dato ωi • P(ωi) è la probabilità a priori della classe ωi Apprendimento Automatico 45 Esempio con m=2 I coefficienti delle rette che separano le regioni vengono calcolati a partire dal training set, applicando tecniche statistiche (vettore medio degli esempi, matrici di covarianza) ++ + + + + + + - - - + - + + + - - - - - - - - + + -- - - - - - Apprendimento Automatico 46
Analisi discriminante (Fisher 1936) • Si fanno le seguenti assunzioni sulla popolazione iniziale: – p(X|ωi) è un funzione di densità di probabilità multivariata normale, ovvero della forma 1 1 pi ( X ω i ) = exp − (x − μi ) ' Σ −1 (x − μi ) (2π) n Σ 2 • dove µi indica la media e Σi indica la matrice di covarianza relative alla classe ωi • Ipotesi: si assume che tutte le matrici di covarianza Σi siano identiche (ovvero si considera un’unica Σ) Apprendimento Automatico 47 Analisi discriminante (Fisher 1936) • Gli esempi sono utilizzati per stimare i parametri µi e Σi e la probabilità a priori P(ωi) in questo modo: • per µi su utilizza la media degli esempi del training set per la classe ωi • per Σ si utilizza la “pooled sample covariance matrix” definita da: S= ∑ (ni − 1)Si n−m • dove ni è il numero di esempi della classe ωi Apprendimento Automatico 48
Analisi discriminante (Fisher 1936) • Ciascuna Si è data da: 1 T T Si = X X −µ µ ni − 1 • dove X è la matrice ni × n degli ni vettori appartenenti alla classe ωi e µ è un vettore i cui elementi sono le medie di ciascun attributo. • In questo modo si ottengono le m funzioni discriminanti • Nel caso di m=2, le classi sono separate da una retta la cui equazione è data dall’uguaglianza delle pdf per le due classi: 1 x ' Σ −1 ( μ1 − μ2 ) − ( μ1 + μ2 ) ' Σ −1 ( μ1 − μ2 ) = 0 2 Apprendimento Automatico 49 Conoscenza e learning (learning con prior knowledge) • Approcci visti fino a ora: apprendimento da esempi – nessuna conoscenza a priori richiesta – K.B. appresa dipende solo da esempi (e da bias) – K.B. appresa a volte di difficile comprensione anche per esperti di un settore (esperimenti in sistemi esperti) – processo di apprendimento lento (servono molti esempi) • Altro gruppo di approcci da metà anni ‘80 – fruttare K.B. a -priori nel processo di apprendimento (conoscenza di background) – K.B. consente di apprendere di più e in modo più efficace (più velocemente) • Noi ci concentreremo sull’appproccio noto come – Knowledge-based induction • e su Inductive Logic Programming (ILP), in particolare Apprendimento Automatico 50
Puoi anche leggere