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