pattern recognition lez.13: unsupervised classification: clustering gerarchico

16
Pattern Recognition Lez.13: Unsupervised classification: clustering gerarchico

Upload: enrica-lombardo

Post on 02-May-2015

213 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Pattern Recognition Lez.13: Unsupervised classification: clustering gerarchico

Pattern Recognition

Lez.13: Unsupervised classification: clustering

gerarchico

Page 2: Pattern Recognition Lez.13: Unsupervised classification: clustering gerarchico

Clustering per “dicotomie successive”

• Quando una popolazione va divisa in sottogruppi? Quando al suo interno non c’è sufficiente omogeneità.

• Questa idea è alla base di un altro approccio al clustering, detto clustering gerarchico.

• L’idea si concretizza in un paio di algoritmi abbastanza facili da descrivere e implementare.

Page 3: Pattern Recognition Lez.13: Unsupervised classification: clustering gerarchico

La popolazione e la matrice delle distanze

• Possiamo didatticamente presentare il clustering gerarchico assumendo che siano date una popolazione di N record da ripartire e una matrice D, di N x N elementi in cui ciascun elemento Dij riporta la “distanza” tra il record i-esimo e il record j-esimo.

• Attenzione non sempre nelle reali implementazioni tale matrice è calcolata per intero (per ragioni di efficienza o di limiti di memoria).

Page 4: Pattern Recognition Lez.13: Unsupervised classification: clustering gerarchico

Un esempio “saccheggiato” da Internet

 

  BA FI MI NA RM TO

BA 0 662 877 255 412 996

FI 662 0 295 468 268 400

MI 877 295 0 754 564 138

NA 255 468 754 0 219 869

RM 412 268 564 219 0 669

TO 996 400 138 869 669 0

Distanze in chilometri tra città italiane

Page 5: Pattern Recognition Lez.13: Unsupervised classification: clustering gerarchico

Struttura di ogni algoritmo di clustering gerarchico

Passo 0: ogni record è l’unico rappresentante di una classe che lo contiene. Ci sono quinid all’inizio N classi ciascuna con un solo elemento.

Passo 1: fondere assieme le due classi che sono le più vicine possibili secondo la tabella delle distanze.

Passo 2: ri-calcolare le distanze tra la nuova classe, nata dalla fusione, e le altre classi.

I passi 1 e 2 vanno ripetuti alternativamente fino a che tutti i record non sono stati fusi in una unica mega classe onnicomprensiva.

Page 6: Pattern Recognition Lez.13: Unsupervised classification: clustering gerarchico

Un unico “punto sottile”: passo 2

• Se le distanze iniziali tra record sono ben definite cosa sono le distanze tra “classi”?

• Non esiste un unico approccio alla distanza tra “cluster” e nel contesto del clustering gerarchico si parla di due approcci:– Single-linkage;– Complete-linkage;– Average-linkage;

Page 7: Pattern Recognition Lez.13: Unsupervised classification: clustering gerarchico

Single-linkage (metodo della connessione o della minima distanza)

• La distanza tra due gruppi di record è definita come la minima distanza osservata tra tutte le coppie formate da un elemento del primo gruppo e un elemento del secondo gruppo.

La distanza è posta eguale alla distanza tra la coppia di record più vicini

Page 8: Pattern Recognition Lez.13: Unsupervised classification: clustering gerarchico

Complete-linkage (metodo del diametro o della massima distanza)

• La distanza tra due gruppi di record è definita come la massima distanza osservata tra tutte le coppie formate da un elemento del primo gruppo e un elemento del secondo gruppo.

La distanza è posta eguale alla distanza tra la coppia di record più lontani

Page 9: Pattern Recognition Lez.13: Unsupervised classification: clustering gerarchico

Average-linkage (metodo della distanza media)

• La distanza tra due gruppi di record è definita come la distanza media osservata tra tutte le coppie formate da un elemento del primo gruppo e un elemento del secondo gruppo.

Variante: considerare la mediana invece della media.

Page 10: Pattern Recognition Lez.13: Unsupervised classification: clustering gerarchico

Simuliamo il single-linkage sulle città italiane

  BA FIMI/TO

NA RM

BA 0 662 877 255 412

FI 662 0 295 468 268

MI/TO

877 295 0 754 564

NA 255 468 754 0 219

RM 412 268 564 219 0

Prima fusione

Page 11: Pattern Recognition Lez.13: Unsupervised classification: clustering gerarchico

Simuliamo il single-linkage sulle città italiane

Seconda fusione

  BA FIMI/TO

NA/RM

BA 0 662 877 255

FI 662 0 295 268

MI/TO

877 295 0 564

NA/RM

255 268 564 0

Page 12: Pattern Recognition Lez.13: Unsupervised classification: clustering gerarchico

Simuliamo il single-linkage sulle città italiane

Terza fusione

 BA/NA/RM

FIMI/TO

BA/NA/RM

0 268 564

FI 268 0 295

MI/TO

564 295 0

Page 13: Pattern Recognition Lez.13: Unsupervised classification: clustering gerarchico

Simuliamo il single-linkage sulle città italiane

Quarta fusione

 BA/NA/RM

FIMI/TO

BA/NA/RM

0 268 564

FI 268 0 295

MI/TO

564 295 0

Page 14: Pattern Recognition Lez.13: Unsupervised classification: clustering gerarchico

Simuliamo il single-linkage sulle città italiane

Quinta fusione

 BA/FI/NA/RM

MI/TO

BA/FI/NA/RM

0 295

MI/TO 295 0

La sesta fusione ovviamente forma un unico blocco

Page 15: Pattern Recognition Lez.13: Unsupervised classification: clustering gerarchico

La sequenza

L’”albero” delle fusioni è una guida alla “partizione” in classi.

Tagliando l’albero a vari livelli si possono ottenere classi più fini o più generali.

Page 16: Pattern Recognition Lez.13: Unsupervised classification: clustering gerarchico

Pro e Contro• PRO

– Algoritmo facile e non richiede analisi matematica complessa per la convergenza e per la ottimizzazione;

– L’albero “spiega” le relazioni tra cluster ed è facile per un esperto (in generale) interpretare i risultati dell’algoritmo;

• CONTRO– Quale livello di “taglio” scegliere per formare le classi?– Forte dipendenza dalla misura di similarità.– Impossibile gestire le similarità “fuzzy”.– Complessità elevata (la matrice iniziale e le successive

matrici richiedono O(N2) passi per il loro aggiornamento.– (Antipole?)