13
1 Apprendimento Automatico: Apprendimento Non Supervisionato Roberto Navigli Roberto Navigli Apprendimento Automatico: Apprendimento Pigro (Lazy Learning) Cap. 5.3 [Tan, Steinbeck & Kum

Apprendimento Automatico: Apprendimento Non Supervisionato Roberto Navigli 1 Apprendimento Automatico: Apprendimento Pigro (Lazy Learning) Cap. 5.3 [Tan,

Embed Size (px)

Citation preview

Page 1: Apprendimento Automatico: Apprendimento Non Supervisionato Roberto Navigli 1 Apprendimento Automatico: Apprendimento Pigro (Lazy Learning) Cap. 5.3 [Tan,

1Apprendimento Automatico: Apprendimento Non SupervisionatoRoberto Navigli

Roberto Navigli

Apprendimento Automatico:Apprendimento Pigro (Lazy Learning)

Cap. 5.3 [Tan, Steinbeck & Kumar]

Page 2: Apprendimento Automatico: Apprendimento Non Supervisionato Roberto Navigli 1 Apprendimento Automatico: Apprendimento Pigro (Lazy Learning) Cap. 5.3 [Tan,

2Apprendimento Automatico: Apprendimento Non SupervisionatoRoberto Navigli

Concetto di base: Pigrizia

Pigrizia mentale (Devoto-Oli 2008): atteggiamento di chi trascura l’arricchimento delle proprie conoscenze […]

Page 3: Apprendimento Automatico: Apprendimento Non Supervisionato Roberto Navigli 1 Apprendimento Automatico: Apprendimento Pigro (Lazy Learning) Cap. 5.3 [Tan,

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

Page 4: Apprendimento Automatico: Apprendimento Non Supervisionato Roberto Navigli 1 Apprendimento Automatico: Apprendimento Pigro (Lazy Learning) Cap. 5.3 [Tan,

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)

Page 5: Apprendimento Automatico: Apprendimento Non Supervisionato Roberto Navigli 1 Apprendimento Automatico: Apprendimento Pigro (Lazy Learning) Cap. 5.3 [Tan,

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

Page 6: Apprendimento Automatico: Apprendimento Non Supervisionato Roberto Navigli 1 Apprendimento Automatico: Apprendimento Pigro (Lazy Learning) Cap. 5.3 [Tan,

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ˆ

Page 7: Apprendimento Automatico: Apprendimento Non Supervisionato Roberto Navigli 1 Apprendimento Automatico: Apprendimento Pigro (Lazy Learning) Cap. 5.3 [Tan,

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ˆ

Page 8: Apprendimento Automatico: Apprendimento Non Supervisionato Roberto Navigli 1 Apprendimento Automatico: Apprendimento Pigro (Lazy Learning) Cap. 5.3 [Tan,

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ˆ

Page 9: Apprendimento Automatico: Apprendimento Non Supervisionato Roberto Navigli 1 Apprendimento Automatico: Apprendimento Pigro (Lazy Learning) Cap. 5.3 [Tan,

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

Page 10: Apprendimento Automatico: Apprendimento Non Supervisionato Roberto Navigli 1 Apprendimento Automatico: Apprendimento Pigro (Lazy Learning) Cap. 5.3 [Tan,

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

Page 11: Apprendimento Automatico: Apprendimento Non Supervisionato Roberto Navigli 1 Apprendimento Automatico: Apprendimento Pigro (Lazy Learning) Cap. 5.3 [Tan,

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(

),(

Page 12: Apprendimento Automatico: Apprendimento Non Supervisionato Roberto Navigli 1 Apprendimento Automatico: Apprendimento Pigro (Lazy Learning) Cap. 5.3 [Tan,

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)

Page 13: Apprendimento Automatico: Apprendimento Non Supervisionato Roberto Navigli 1 Apprendimento Automatico: Apprendimento Pigro (Lazy Learning) Cap. 5.3 [Tan,

13Apprendimento Automatico: Apprendimento Non SupervisionatoRoberto Navigli

Esercizio

• Provate ad adattare l’algoritmo ID3 al paradigma di apprendimento pigro