Upload
simona-vianello
View
235
Download
0
Embed Size (px)
Citation preview
1Apprendimento Automatico: Apprendimento Non SupervisionatoRoberto Navigli
Roberto Navigli
Apprendimento Automatico:Apprendimento Pigro (Lazy Learning)
Cap. 5.3 [Tan, Steinbeck & Kumar]
2Apprendimento Automatico: Apprendimento Non SupervisionatoRoberto Navigli
Concetto di base: Pigrizia
Pigrizia mentale (Devoto-Oli 2008): atteggiamento di chi trascura l’arricchimento delle proprie conoscenze […]
3Apprendimento Automatico: Apprendimento Non SupervisionatoRoberto Navigli
In altre parole
• Il principio di base è quello di ritardare il processo di modellazione dell’insieme di addestramento finché non è richiesto per classificare le istanze di test– Lazy learner vs. eager learner
• Il più semplice lazy learner: rote classifier– Apprende tutto a memoria– Classifica solo ciò che fa match con almeno un esempio
dell’insieme di addestramento
4Apprendimento Automatico: Apprendimento Non SupervisionatoRoberto Navigli
Siamo seri!
• Per rendere l’approccio più flessibile, cerchiamo gli esempi di addestramento relativamente più simili all’istanza di test
• “Se cammina come una papera, fa qua qua come una papera e somiglia fisicamente a una papera, allora probabilmente è una papera!”– Apprendimento basato su istanze
• Un noto rappresentante è l’algoritmo k-Nearest Neighbours (kNN)
5Apprendimento Automatico: Apprendimento Non SupervisionatoRoberto Navigli
Chi sono i k “vicini più vicini”?
• Le istanze sono rappresentate mediante punti nello spazio m-dimensionale degli m attributi
• I k “vicini più vicini” (nearest neighbours) di un’istanza di test x sono i k punti dell’insieme d’addestramento più vicini a x
+++
+
+
+
+
+--
-
+++
x
+++
+
+
+
+
+--
-
+++
x
+++
+
+
+
+
+--
-
+++
x
k=1 k=2 k=3
6Apprendimento Automatico: Apprendimento Non SupervisionatoRoberto Navigli
Come avviene la classificazione?
• Si sceglie la classe di maggioranza dei k esempi più vicini:
dove Dx è il sottoinsieme di D dei k esempi più vicini a x (majority voting)
• Se k è troppo piccolo si rischia overfitting dovuto al rumore nell’insieme di addestramento
• Se k è troppo grande, potremmo includere istanze troppo dissimili dall’istanza di test
xii Dyx
iYy
yyy),(
),(maxargˆ
7Apprendimento Automatico: Apprendimento Non SupervisionatoRoberto Navigli
Algoritmo kNN
kNN(k, D)
For each istanza di test x do Calcola d(x, xi) per ogni esempio (xi, yi) D
Determina l’insieme Dx D dei k esempi più vicini a x
Classifica x:
xii Dyx
iYy
yyy),(
),(maxargˆ
8Apprendimento Automatico: Apprendimento Non SupervisionatoRoberto Navigli
Posso migliorare la classificazione?
• Vista la dipendenza dalla scelta di k, è possibile migliorare la classificazione di kNN pesando il contributo di ciascun esempio secondo la sua distanza:
• Quindi la classe di maggioranza è scelta come segue:
(majority voting pesato sulla distanza)
2),(
1
ii xxdw
xii Dyx
iiYy
yywy),(
),(maxargˆ
9Apprendimento Automatico: Apprendimento Non SupervisionatoRoberto Navigli
Alcune metriche per determinare la distanza
• Distanza euclidea:
• Distanza di Manhattan (o city block):
• Distanza di Minkowski (generalizzazione):
2
1
)(),( j
m
jj yxyxd
m
jjj yxyxd
1
),(
rr
j
m
jj yxyxd ||),(
1
10Apprendimento Automatico: Apprendimento Non SupervisionatoRoberto Navigli
Misure di Prossimità: Cosine Similarity
• Nota: se la distanza è normalizzata tra 0 e 1, la similarità sim(x, y) è data da 1-d(x, y)
• Esempio: similarità del coseno di due vettori di documenti:
m
jj
m
jj
m
jjj
yx
yx
yx
yxyx
1
2
1
2
1),cos(
2
1
4
2
44
111010010111),cos(
)1,1,1,0,0,1(
)1,0,0,1,1,1(
yx
y
x
11Apprendimento Automatico: Apprendimento Non SupervisionatoRoberto Navigli
Misure di Prossimità: Coefficiente di Jaccard
• Esempio: similarità di Jaccard di due vettori di documenti:
6
2),(
)1,1,1,0,0,1(
)1,0,0,1,1,1(
yxJ
y
x
m
jjj
m
jjj
yx
yx
yxJ
1
1
)00(
)11(
),(
12Apprendimento Automatico: Apprendimento Non SupervisionatoRoberto Navigli
kNN “in a nutshell”
• Vantaggi:– Non è necessario appprendere né costruire un’astrazione
(modello) a partire dai dati– kNN può adattare i propri confini di decisione in modo arbitrario,
producendo una rappresentazione del modello più flessibile– Si può arricchire incrementalmente l’insieme di addestramento
• Svantaggi:– Classificare le istanze di test è costoso, perché dobbiamo
calcolare i valori di prossimità tra ciascun esempio di addestramento e l’istanza di test
– Essendo la classificazione fatta in modo locale (al contrario degli alberi di decisione), kNN è suscettibile al rumore
– La misura di prossimità può essere dominata da alcuni attributi (es. altezza vs. peso)
13Apprendimento Automatico: Apprendimento Non SupervisionatoRoberto Navigli
Esercizio
• Provate ad adattare l’algoritmo ID3 al paradigma di apprendimento pigro