tutorial
Transcript
tutorial
Apprendimento Apprendimento: uso diuso e generico del termine. Caratterizzazione del processo di apprendimento: \Learning denotes changes in the system that are adaptive in the sense that they enable the system to do the same task or tasks drawn from the same population more eciently and more eectively the next time" [Michalski et al., 1984] L'apprendimento e una caratteristica essenziale dell'intelligenza. Tipologie di apprendimento: Knowledge acquisition (apprendimento concettuale) Skill renement (apprendimento motorio) 1 Apprendimento umano estremamente lento manca un processo di \copia" della conoscenza (solo trasmissione mediante linguaggio naturale) linguaggio di codica ignoto Apprendimento delle macchine costruzione automatica di una base di conoscenza eliminazione del \collo di bottiglia" nello sviluppo di Sistemi Esperti minore dipendenza dagli esperti umani necessita di interazione uomo-macchina simile all' interazione uomouomo: { linguaggio uguale o almeno simile al linguaggio naturale { possibilita di chiedere spiegazioni 2 Strategie di apprendimento Classicazione secondo la quantita di elaborazione a carico del sistema (naturale o articiale) che apprende: Rote learning (imparare a memoria): impianto diretto di nuova conoscenza. Elaborazione: nessuna. Apprendimento per istruzione: conoscenza acquisita da un in- segnante o da un libro di testo. Elaborazione: trasformazione dal linguaggio naturale ad una rappresentazione interna. Apprendimento per analogia: determinazione di nuove conclusioni partendo da fatti e situazioni simili. Elaborazione: superiore alle precedenti (elaborazione della conoscenza preesistente). Apprendimento da esempi: conoscenza acquisita a partire da un insieme di esempi e controesempi. Elaborazione: superiore alle precedenti (assenza di insegnanti e di analogie con concetti gia noti). Apprendimento dall'osservazione e dalle scoperte: conoscen- za acquisita mediante osservazione e sperimentazione (attiva o passiva) sull'ambiente circostante. Elaborazione: superiore a tutte le precedenti (interazione non guidata, problemi di focalizzazione dell'attenzione). 3 Apprendimento da esempi: l'induzione Ragionamento induttivo: asserzioni speciche ) asserzioni universali. Asserzioni generali: spiegano le asserzioni speciche gia note e ne prevedono di nuove. Inferenza deduttiva: preserva la verita (correttezza). Inferenza induttiva: non preserva la verita. Apprendimento da esempi: ragionamento induttivo: insieme di esempi e controesempi (asserzioni speciche) ) relazioni generali (asserzioni universali). Training set: insieme di esempi e controesempi, la cui scelta e critica (inferenza induttiva non preserva la verita). Generalizzazione del concetto appreso: classicazione di nuovi casi con un tasso di errore molto contenuto. Dati rumorosi: ricerca di una descrizione che costituisca un buon compromesso tra semplicita ed accuratezza sul training set. 4 Natura della sorgente di esempi e controesempi: Insegnante: conosce il concetto ) sequenze estremamente utili e selezionate in modo da ottimizzare la convergenza del processo di apprendimento. Soggetto stesso: conosce il proprio stato ) nuovi casi particolarmente discriminanti. Ambiente esterno: sequenze casuali. Tipo di esempi disponibili: Solo esempi positivi: rischio di una eccessiva generalizzazione )(minima generalizzazione oppure conoscenza a priori). Esempi positivi e negativi: caso ideale. 5 Rappresentazione della conoscenza Classicazione secondo la rappresentazione interna: Parametri di una espressione algebrica: ricerca dei valori ottimali di un insieme di parametri (esempio: reti neurali). Alberi decisionali: ogni nodo corrisponde a un test su un particolare attributo, ogni foglia dell'albero corrisponde ad una classe. Grammatiche formali: costruzione di una grammatica che permetta di generare le sequenze di simboli considerate corrette (riconoscimento di un linguaggio). Regole di produzione: coppia condizione-azione fC ) Ag, con C insieme di condizioni e A sequenza di azioni. Operazioni base: Creazione. Generalizzazione. Specializzazione. Composizione sequenziale. 6 Gra e reti: rappresentazione spesso eciente e comprensibile pur con una notevole potenza espressiva. Frames e schemi: ogni frame visto come un insieme di entita (slots ), ognuna etichettata con un nome ed individuante un preciso componente o caratteristica del frame. Programmi o altre codiche procedurali: ecienza nello svolgi- mento di un compito piuttosto che comprensione del compito stesso. Tassonomie: organizzazione degli oggetti in una struttura gerarchica. Rappresentazioni multiple: combinazioni di piu rappresentazioni. 7 Alberi decisionali e regole di produzione Esempio: classicazione di semplici forme geometriche colorate. Universo considerato: forme: triangolo, quadrato, pentagono colori: rosso, verde Umano: Si ha numero ) classe di appartenenza dell'oggetto di lati e colore senza nemmeno sapere, a livello conscio, come viene operata la classicazione. Macchina: La conoscenza deve essere esplicitata. Un albero di decisione puo assolvere questo compito: L<4 NO SI L<5 C=? ROSSO TRIANGOLO ROSSO VERDE SI TRIANGOLO VERDE NO C=? C=? ROSSO QUADRATO ROSSO VERDE QUADRATO VERDE ROSSO PENTAGONO ROSSO VERDE PENTAGONO VERDE 8 La medesima conoscenza puo essere rappresentata in forma di regole di produzione: ' $ & % (numero lati < 4) e (colore = rosso) ) triangolo rosso (numero lati < 4) e (colore = verde) ) triangolo verde (4 numero lati < 5) e (colore = rosso) ) quadrato rosso (4 numero lati < 5) e (colore = verde) ) quadrato verde (numero lati 5) e (colore = rosso) ) pentagono rosso (numero lati 5) e (colore = verde) ) pentagono verde La regola attivata indica direttamente la classe di appartenenza (rilevante il loro ordine) Generico sistema a regole di produzione: l'azione associata ad una regola puo rendere soddisfatte altre regole. Sistema di classicazione: attivazione di una sola regola. 9 C4.5 Insieme di algoritmi per l'apprendimento da esempi [Quinlan, 1993]. Evoluzione di ID3, altro sistema 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 [Quinlan, 1996] (release 8): rimane uno dei punti di riferimento nella propria classe di algoritmi. 10 Esempio di utilizzo Risultati delle contrattazioni sindacali in Canada negli anni 1987{88. Concetto di contratto accettabile o non accettabile. Contratto: sedici attributi, non tutti applicabili a tutti i casi. Preclassicazione di ogni esempio: accettabile (good) o non accettabile (bad). Obiettivo: ottenere un sistema in grado di: { Classicare correttamente il training set. { Giudicare l'accettabilita di un nuovo contratto. 11 Dati strutturati in alcuni le: labor-neg.names: descrizione del problema in termini di classi e di attributi; | | Classes ------- good, bad. | | Attributes ---------- duration: wage increase first year: wage increase second year: wage increase third year: cost of living adjustment: working hours: pension: standby pay: shift differential: education allowance: statutory holidays: vacation: longterm disability assistance: contribution to dental plan: bereavement assistance: contribution to health plan: continuous continuous continuous continuous none, tcf, tc continuous none, ret_allw, empl_contr continuous continuous yes, no continuous below average, average, generous yes, no none, half, full yes, no none, half, full 12 labor-neg.data: training set. Attributi non applicabili oppure di cui non e noto il valore: \?". 1,5.0,?,?,?,40,?,?,2,?,11,average,?,?,yes,?,good 3,3.7,4.0,5.0,tc,?,?,?,?,yes,?,?,?,?,yes,?,good 3,4.5,4.5,5.0,?,40,?,?,?,?,12,average,?,half,yes,half,good 2,2.0,2.5,?,?,35,?,?,6,yes,12,average,?,?,?,?,good 3,6.9,4.8,2.3,?,40,?,?,3,?,12,below average,?,?,?,?,good 3,3.5,4.0,4.6,none,36,?,?,3,?,13,generous,?,?,yes,full,good 1,3.0,?,?,none,36,?,?,10,no,11,generous,?,?,?,?,good 2,4.0,5.0,?,tcf,35,?,13,5,?,15,generous,?,?,?,?,good 2,2.5,3.0,?,?,40,none,?,?,?,11,below average,?,?,?,?,bad 3,3.5,4.0,4.6,tcf,27,?,?,?,?,?,?,?,?,?,?,good 2,4.5,4.0,?,?,40,?,?,4,?,10,generous,?,half,?,full,good 1,6.0,?,?,?,38,?,8,3,?,9,generous,?,?,?,?,good 2,3.0,3.0,?,none,33,?,?,?,yes,12,generous,?,?,yes,full,good 3,2.0,2.5,?,?,35,none,?,?,?,10,average,?,?,yes,full,bad 3,4.5,4.5,5.0,none,40,?,?,?,no,11,average,?,half,?,?,good 2,2.5,2.5,?,?,38,empl_contr,?,?,?,10,average,?,?,?,?,bad 1,2.0,?,?,tc,40,ret_allw,4,0,no,11,generous,no,none,no,none,bad 3,2.0,2.5,2.0,?,37,empl_contr,?,?,?,10,average,?,?,yes,none,bad 2,4.5,4.0,?,none,40,?,?,4,?,12,average,yes,full,yes,half,good labor-neg.test: insieme di casi nuovi, mediante il quale vericare il comportamento del sistema. 13 Esempio: alberi decisionali Due alberi decisionali: albero \completo"; albero \semplicato" (pruned tree, albero \potato"). Semplicazione per ottenere un classicatore: piu comprensibile; di minore costo computazionale; in grado di generalizzare maggiormente. Valutazione delle \prestazioni". 14 C4.5 [release 8] decision tree generator Sat May 18 17:05:35 1996 ---------------------------------------Options: File stem <labor-neg> Trees evaluated on unseen cases Read 40 cases (16 attributes) from labor-neg.data Decision Tree: wage increase first year <= 2.5 : | statutory holidays <= 10 : bad (6.0) | statutory holidays > 10 : | | working hours <= 38 : good (2.3/1.0) | | working hours > 38 : bad (3.0) wage increase first year > 2.5 : | statutory holidays > 10 : good (21.2) | statutory holidays <= 10 : | | wage increase first year <= 4 : bad (4.5/0.5) | | wage increase first year > 4 : good (3.0) Simplified Decision Tree: wage increase first year <= 2.5 : bad (11.3/2.8) wage increase first year > 2.5 : | statutory holidays > 10 : good (21.2/1.3) | statutory holidays <= 10 : | | wage increase first year <= 4 : bad (4.5/1.7) | | wage increase first year > 4 : good (3.0/1.1) Tree saved 15 Evaluation on training data (40 items): Before Pruning ---------------Size Errors 11 1( 2.5%) After Pruning --------------------------Size Errors Estimate 7 1( 2.5%) (17.4%) << Evaluation on test data (17 items): Before Pruning ---------------Size Errors 11 4(23.5%) After Pruning --------------------------Size Errors Estimate 7 3(17.6%) (17.4%) << (a) (b) <-classified as ---- ---10 1 (a): class good 2 4 (b): class bad 16 Esempio: regole di produzione Classe di default. Valutazione della \prestazione". 17 C4.5 [release 8] rule generator Sat May 18 17:05:42 1996 ------------------------------Options: File stem <labor-neg> Rulesets evaluated on unseen cases Read 40 cases (16 attributes) from labor-neg -----------------Processing tree 0 Final rules from tree 0: Rule 6: wage increase first year > 2.5 statutory holidays > 10 -> class good [93.0%] Rule 5: wage increase first year > 4 -> class good [90.6%] Rule 4: wage increase first year <= 4 statutory holidays <= 10 -> class bad [87.1%] Rule 3: wage increase first year <= 2.5 working hours > 38 -> class bad [79.4%] Default class: good 18 Evaluation on training data (40 items): Rule ---6 5 4 3 Size ---2 1 2 2 Error ----7.0% 9.4% 12.9% 20.6% Used ---19 3 10 3 Wrong ----0 0 0 0 Tested 40, errors 1 (2.5%) (0.0%) (0.0%) (0.0%) (0.0%) Advantage --------0 (0|0) 0 (0|0) 7 (7|0) 3 (3|0) good good bad bad << (a) (b) <-classified as ---- ---26 (a): class good 1 13 (b): class bad Evaluation on test data (17 items): Rule ---6 5 4 3 Size ---2 1 2 2 Error ----7.0% 9.4% 12.9% 20.6% Used ---9 3 1 2 Wrong ----1 1 0 0 Tested 17, errors 3 (17.6%) (11.1%) (33.3%) (0.0%) (0.0%) Advantage --------0 (0|0) good 0 (0|0) good 1 (1|0) bad 2 (2|0) bad << (a) (b) <-classified as ---- ---11 (a): class good 3 3 (b): class bad 19 Determinazione dell'albero T : insieme degli esempi; fC1; C2; : : : ; Ck g : insieme delle classi; Ad ogni passo tre possibilita: T non contiene nessun esempio (insieme vuoto) ) singola foglia. T contiene uno o piu esempi, tutti appartenenti alla medesima classe Cj ) singola foglia. T contiene casi che appartengono a piu classi ) partizionamento di T in piu sottoinsiemi ) nodo associato al test, con un sottoalbero per ogni possibile risultato del test stesso. Ecacia dell'algoritmo: criterio di scelta del test. Albero di dimensioni ridotte. Generazione di tutti i possibili alberi: non praticabile dal punto di vista computazionale. Criteri di ottimizzazione locale con scelta irrevocabile (nonbacktracking ). 20 Criterio del guadagno Problema: valutazione della \bonta" di un test senza esplorare ulteriori partizionamenti. Informazione disponibile: distribuzione delle classi in T ed in T1; T2; : : : ; Tn. Un esempio scelto casualmente in S appartiene alla classe Cj . Probabilita: freq(Cj ; S ) jS j con freq(Ci; S ) : numero di esempi dell'insieme S che appartengono alla classe Ci ; jS j : numero di esempi dell'insieme S . Contenuto informativo in bit: ! ; log2 freq(Cj ; S ) jS j Indicazione della classe di un esempio scelto a caso in S . Contenuto informativo in bit: ! k X info(S ) = ; freq(Cj ; S ) log2 freq(Cj ; S ) j =1 jS j jS j 21 Entropia del training set: info(T ) Entropia dopo il partizionamento (secondo il test X ): n X infoX (T ) = jjTTijj info(Ti) i=1 Guadagno di informazione: gain(X ) = info(T ) ; infoX (T ) 22 Criterio del guadagno normalizzato Criterio del guadagno: forte tendenza a favorire test con molti risultati. Esempio: test su un identicatore unico. n = jT j e info(Ti) = 0 8 i 2 [1; 2; : : : ; n] ) infoX (T ) = 0 e quindi guadagno massimo essendo gain(X ) = info(T ) \Normalizzazione" del guadagno. Generazione di informazione (indicazione del risultato del test): ! n X jTi j split info(X ) = ; jT j log2 jjTTijj i=1 Guadagno normalizzato: gain(X ) gain ratio(X ) = split info(X ) 23 Esempio precedente: gain(X ) = info(T ) log2 k split info(X ) = log2 n log2 k gain ratio(X ) log n Se n k ) gain ratio(X ) piccolo. 2 24 Generazione dei test Problema: generazione dell'insieme di test possibili. Denizione a priori delle forme ammissibili C4.5: tre possibili tipi di test. Attributo discreto, un risultato per ogni valore. Attributo discreto, un risultato per ogni gruppo di valori. Attributo continuo, due possibili risultati (test binario). Ulteriore vincolo: almeno due tra T1; T2; : : : ; Tn devono contenere un numero minimo di esempi. 25 Test su attributi discreti Un risultato per ogni valore: completamente denito. Un risultato per ogni gruppo di valori: bisogna stabilire quanti e quali gruppi considerare. { Conoscenza sul domino: creazione a priori di raggruppamenti signicativi (nuovi attributi). { C4.5: impiego dei soli dati, criterio locale di ottimizzazione. Test su attributi continui Scelta del valore di soglia Z : numero nito di candidati (m ; 1, con m numero di valori assunti dall'attributo in T ). Variazione della soglia ) variazione del partizionamento ) variazione di split info(X ) ) tendenza a favorire test con molti risultati. Peggioramento delle prestazioni in problemi con molti attributi continui ) necessita di correggere questa tendenza [Quinlan, 1996]. Guadagno \corretto" (MDL): { Attributo discreto: gain(X ) { Attributo continuo: gain(X ) ; log2(jTmj; 1) 26 Test fuzzy Test \classico": Probabilità 1 0 Z v Test fuzzy: Probabilità 1 0,5 0 Z- Z Z+ v Soglie \brusche" o \smussate" a seconda della natura dei dati. 27 Attributi con valore non specicato Confronto fra test Informazione nell'attributo non specicato: nulla. Guadagno: posto F T insieme in T per cui A e specicato: info(T ) = info(F ) infoX (T ) = infoX (F ) ; gain(X ) = (Probabilita che A sia noto) info(T ) ; infoX (T ) + (Probabilita che A sia incognito) 0 jF j ;info(T ) ; info (T ) = X jT j Informazione generata dal partizionamento: sottoinsieme aggiuntivo: ! n+1 X split info(X ) = ; jjTTijj log2 jjTTijj i=1 Partizionamento. Partizionamento generalizzato in modo probabilistico. Classicazione di nuovi casi. Classicazione generalizzata in modo probabilistico. 28 Semplicazione dell'albero Pruning: albero piu semplice e piu accurato nel valutare nuovi casi. Sostituzione: sottoalbero (anche singola foglia) al posto di un albero. Stima del tasso di errore: stima (euristica) pessimistica. 29 Determinazione delle regole di produzione Generazione (albero \completo"). Generalizzazione (semplicazione). Insieme di regole per ogni classe (MDL, simulated annealing). Ordinamento e classe di default. Ranamento nale. 30 Limitazioni Algoritmi presentati: essibili e veloci ma impongono alcuni vincoli. Attributi pressati. Classi predenite. Classi discrete. Numero di casi possibili molto maggiore del numero di classi. Quantita suciente di dati. Penalizzazione uniforme degli attributi. Penalizzazione uniforme degli errori. Algoritmo non incrementale. Alternative Alberi decisionali obliqui [Murthy et al., 1994]. ILP (Inductive Logic Programming) [Bergadano and Gunetti, 1996]. 31 Bibliograa [Bergadano and Gunetti, 1996] Bergadano, F. and Gunetti, D. (1996). Inductive Logic Programming - From Machine Learning to Software Engineering. MIT Press, Cambridge, Massachusetts. [Cameron-Jones and Quinlan, 1993a] Cameron-Jones, R. M. and Quinlan, J. R. (1993a). Avoiding pitfalls when learning recursive theories. In Proceedings of Thirteenth International Joint Conference on Articial Intelligence, pages 1050{1055. France. [Cameron-Jones and Quinlan, 1993b] Cameron-Jones, R. M. and Quinlan, J. R. (1993b). First order learning, zeroth order data. In Proceedings of AI'93 Australian Joint Conference on Articial Intelligence. Melbourne. [Cameron-Jones and Quinlan, 1994] Cameron-Jones, R. M. and Quinlan, J. R. (1994). Ecient top-down induction of logic programs. SIGART, 5:33{42. [Dougherty et al., 1995] Dougherty, J., Kohavi, R., and Sahami, M. (1995). Supervised and unsupervised discretization of continuous features. In Proceedings of Twelfth International Conference on Machine Learning, pages 194{202. Morgan Kaufmann, San Francisco. [Michalski, 1980] Michalski, R. S. (1980). Pattern recognition as ruleguided inductive inference. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2:349{361. 32 [Michalski et al., 1984] Michalski, R. S., Carbonell, J. G., and Mitchell, T. M., editors (1984). Machine Learning - An Articial Intelligence Approach. Springer-Verlag, Berlin. [Michalski et al., 1986] Michalski, R. S., Carbonell, J. G., and Mitchell, T. M., editors (1986). Machine Learning - An Articial Intelligence Approach, volume II. Morgan Kaufmann Publishers, Los Altos, California. [Muggleton, 1992] Muggleton, S., editor (1992). Inductive Logic Programming. Academic Press, London. [Muggleton and Buntine, 1988] Muggleton, S. and Buntine, W. (1988). Machine invention of rst-order predicates by inverting resolution. In Proceedings of Fifth International Conference on Machine Learning, pages 339{352. Morgan Kaufmann, San Mateo, California. Ann Arbor, Michigan. [Muggleton and Feng, 1992] Muggleton, S. and Feng, C. (1992). Ecient induction of logic programs. In [Muggleton, 1992], pages 281{298. [Murthy et al., 1994] Murthy, S. K., Kasif, S., and Salzberg, S. (1994). A system for induction of oblique decision trees. Journal of Articial Intelligence Research, 2:1{32. [Pellegretti et al., 1994] Pellegretti, P., Roli, F., Serpico, S. B., and Vernazza, G. (1994). Supervised learning of descriptions for image recognition purposes. IEEE Transactions on Pattern Analysis and Machine Intelligence, 16(1):92{98. [Quinlan, 1989] Quinlan, J. R. (1989). Unknown attribute values in induction. In Proceedings of Sixth International Machine Learning Workshop, pages 164{168. Morgan Kaufmann, Los Altos, California. [Quinlan, 1990] Quinlan, J. R. (1990). Learning logical denitions from relations. Machine Learning, 5:239{266. 33 [Quinlan, 1991] Quinlan, J. R. (1991). Determinate literals in inductive logic programming. In Proceedings of Twelfth International Joint Conference on Articial Intelligence, pages 746{750. Morgan Kaufmann, San Mateo, California. [Quinlan, 1993] Quinlan, J. R. (1993). C4.5: Programs for machine learning. Morgan Kaufmann Publishers, San Mateo, California. [Quinlan, 1996] Quinlan, J. R. (1996). Improved use of continuous attributes in C4.5. Journal of Articial Intelligence Research, 4:77{90. [Quinlan and Cameron-Jones, 1993] Quinlan, J. R. and Cameron-Jones, R. M. (1993). FOIL: A midterm report. In Proceedings of European Conference on Machine Learning, pages 3{20. Vienna. [Quinlan and Cameron-Jones, 1994] Quinlan, J. R. and Cameron-Jones, R. M. (1994). Living in a closed world. (Anonymous ftp from ftp.cs.su.oz.au). [Quinlan and Cameron-Jones, 1995a] Quinlan, J. R. and CameronJones, R. M. (1995a). Induction of logic programs: FOIL and related systems. New Generation Computing, 13:287{312. [Quinlan and Cameron-Jones, 1995b] Quinlan, J. R. and CameronJones, R. M. (1995b). Oversearching and layered search in empirical learning. In Proceedings of Fourteenth International Joint Conference on Articial Intelligence, pages 1019{1024. Morgan Kaufmann, Montreal. [Russel and Norvig, 1995] Russel, S. J. and Norvig, P. (1995). Articial Intelligence - A Modern Approach. Prentice Hall, Upper Saddle River, New Jersey. [Sammutt and Banerji, 1986] Sammutt, C. A. and Banerji, R. B. (1986). Learning concepts by asking questions, pages 167{191. Volume II of [Michalski et al., 1986]. 34