Cluster Analysis: concetti di base e algoritmi
Cos’è Cluster Analysis? Trovare gruppi di unità statistiche tali che le unità di un gruppo siano simili (o correlate) tra loro e diverse da (o estranee a) le unità in altri gruppi Distanze TRA cluster sono massime Distanze NEI cluster sono minime
Applicazioni della Cluster Analysis Inferenza Cluster di documenti da ricerche web Gruppi di geni e proteine che hanno funzioni simili, Gruppi di azioni con fluttuazioni di prezzo simili Sintesi Ridurre la dimensione di dataset eccessivamente grandi Clustering delle precipitazioni in Australia
Non è Cluster Analysis Classificazione supervisionata delle unità Quando si ha già l’etichetta di appartenenza ad un gruppo Segmentazione semplice Dividere gli studenti in gruppi in base al cognome Risultato di un’interrogazione del database Raggruppare in base ad alcune caratteristiche predefinite Partizione grafica Rilevanza parziale, ma non la stessa cosa
Quanti cluster? Quanti cluster? Sei Cluster Due Cluster Quattro Cluster
Clustering Si definisce clustering un insieme di cluster Clustering partizionale Una divisione in cluster che non si sovrappongono Clustering gerarchico Un insieme di cluster innestati organizzati come un albero gerarchico
Clustering Partizionale Punti originari
Clustering Gerarchico Clustering gerachico Dendrogramma
Algoritmi di Clustering K-means e le sue varianti Clustering gerarchico Clustering basato sulla densità
K-means Clustering Approccio partizionale al clustering Ogni cluster è associato ad un centroide (baricentro) Ogni punto è assegnato al cluster con il baricentro più vicino Il numero di cluster, K, è specificato dall’analista L’algoritmo di base è molto semplice: Seleziona K centroidi iniziali Assegna le unità al gruppo del centroide più prossimo Ricalcola I centroidi Ripeti fino a convergenza
K-means Clustering – Dettagli I centroidi iniziali sono spesso scelti in maniera casuale. Il centroide è (tipicamente) la media dei punti nel gruppo. La ‘vicinanza’ è misurata usando la distanza Euclidea, similarità angolare, correlazione, etc. L’algoritmo K-means converge per le più comuni misure di prossimità. La convergenza avviene di solito dopo poche operazioni. Spesso la condizione di arresto viene modificata in 'Fino a quando relativamente pochi punti cambiano cluster‘ La complessità è O( n * K * I * d ) n = numero di unità, K = numero di cluster, I = numero di iterazioni, d = numero di attributi
Due differenti soluzioni K-means Gruppi reali Clustering ottimale Clustering Sub-ottimale
Importanza della scelta dei centroidi iniziali
Importanza della scelta dei centroidi iniziali
Valutazione dei cluster K-means La misura più comune è la Somma degli errori quadratici (SSE) x è un punto del cluster Ci e mi è centroide di Ci Dati due clustering, possiamo scegliere quello con SSE minore Di solito SSE si riduce incrementando K, Un buon raggruppamento con un certo K può avere un SSE inferiore a un clustering scorretto con K più elevato
Importanza della scelta dei centroidi iniziali
Importanza della scelta dei centroidi iniziali
Ancora sul problema dei centroidi iniziali Se ci sono K cluster 'reali' la probabilità di selezionare un centroide per ogni cluster è piccola. Se i cluster sono della stessa dimensione, n, allora Se K = 10, la probabilità è 10!/1010 = 0.00036 A volte i centroidi iniziali stessi si riallocano correttamente e altre volte no Si consideri il caso di cinque coppie di cluster
Esempio: 10 Cluster Due centroidi iniziali in un cluster di ogni coppia di cluster
Esempio: 10 Cluster Due centroidi iniziali in un cluster di ogni coppia di cluster
Esempio: 10 Cluster Alcune coppie di cluster con tre centroidi iniziali, e altre con uno
Esempio: 10 Cluster Alcune coppie di cluster con tre centroidi iniziali, e altre con uno
Alcune Soluzioni Seleziona più insiemi iniziali Si usi il clustering gerarchico per determinare i centroidi iniziali Selezionare più di K centroidi iniziali e quindi selezionare tra questi centroidi iniziali Selezionare quelli più separati Postprocessing Bisecting K-means Non così sensibile alla scelta iniziale
Bisecting K-means Variante di K-means che può produrre un clustering partizionale o gerarchico Algoritmo: Si inizi con un cluster che contiene tutte le unità Bisezionare il cluster usando k-means Dei due cluster formati, bisezionare quello con SSE più elevato Procedere fino ad ottenere K cluster
Esempio: Bisecting K-means
Limitazioni di K-means K-Means ha problemi quando i cluster sono di differenti: dimensioni densità forme non globulari K-means ha problemi quando i dati contengono outlier.
Limitazioni di K-means: diverse dimensioni Gruppi reali K-means (3 Cluster)
Limitazioni di K-means : densità differenti Gruppi reali K-means (3 Cluster)
Limitazioni di K-means : forme Non-globulari Gruppi reali K-means (2 Cluster)
Superare le limitazioni di K-means Gruppi reali K-means Clusters Una soluzione è quella di utilizzare molti cluster. E’ necessario però ricostruire i cluster successivamente.
Superare le limitazioni di K-means Gruppi reali K-means Clusters
Superare le limitazioni di K-means Gruppi reali K-means Clusters
Clustering gerarchico Produce un insieme di cluster innestati organizzati come un albero gerarchico Può essere visualizzato con un dendrogramma
Vantaggi del Clustering gerarchico Non è necessario assumere un numero fissato di cluster: Qualsiasi numero desiderato di cluster può essere ottenuto con un 'taglio' del dendogramma al livello appropriato Possono corrispondere a tassonomie Specie animali, classificazioni di imprese
Clustering gerarchico Due tipi principali di clustering gerarchico Agglomerativo: Inizia con i punti come singoli cluster Ad ogni passo, unisce la coppia più vicina di cluster fino a quando rimane un solo cluster (o k cluster) Divisivo: Inizia con un cluster, (contiene tutti i punti) Ad ogni passo, divide un gruppo fino a quando ogni cluster contiene un solo punto (o ci sono k cluster) Gli algoritmi gerarchici tradizionali utilizzano una matrice di similarità o di dissimilarità (distanza) Si unisce o si divide un gruppo alla volta
Algoritmo Agglomerativo La tecnica di clustering gerarchico più diffusa Algoritmo di base Calcola una matrice di prossimità (similarità o dissimilarità) Ogni punto è un cluster Ripeti Unisci i due cluster più vicini Aggiornal la matrice di prossimità Fino a quando rimane un solo cluster. Punto chiave: la matrice di prossimità. Approcci differenti nella definizione di prossimità portano a soluzioni differenti
Come definire la similarità tra gruppi . . . . Similarità? MIN MAX Media del gruppo Distanza tra i centroidi Altri metodi basati su una funzione obiettivo Ward’s Method → SSE Matrice di prossimità
Come definire la similarità tra gruppi . . . . MIN MAX Media del gruppo Distanza tra i centroidi Altri metodi basati su una funzione obiettivo Ward’s Method → SSE Matrice di prossimità
Come definire la similarità tra gruppi . . . . MIN MAX Media del gruppo Distanza tra i centroidi Altri metodi basati su una funzione obiettivo Ward’s Method → SSE Matrice di prossimità
Come definire la similarità tra gruppi . . . . MIN MAX Media del gruppo Distanza tra i centroidi Altri metodi basati su una funzione obiettivo Ward’s Method → SSE Proximity Matrix
Come definire la similarità tra gruppi . . . . MIN MAX Media del gruppo Distanza tra i centroidi Altri metodi basati su una funzione obiettivo Ward’s Method → SSE Matrice di prossimità
MIN o Legame singolo La similarità (distanza) di due cluster è definita dai due punti (uno per gruppo) più simili (o meno distanti) nei diversi cluster Determinata da un solo paio di punti , cioè un legame singolo Matrice di similarità 1 2 3 4 5
Clustering gerarchico: MIN Distanze 5 1 2 3 4 5 6 4 3 2 1 Cluster innestati Dendrogramma
Vantaggi di MIN Due Cluster Gruppi reali Gestisce forme non-ellittiche
Limitazioni di MIN Due Cluster Gruppi reali Sensibile a rumore e outlier
Determinata da tutte le coppie di punti nei due cluster MAX o legame completo La similarità (distanza) di due gruppi si basa sui due punti meno simili (più distanti) nei due cluster Determinata da tutte le coppie di punti nei due cluster 1 2 3 4 5
Clustering gerarchico: MAX 5 4 1 2 3 4 5 6 2 3 1 Cluster innestati Dendrogramma
Vantaggi di MAX Due Cluster Punti originari Meno sensibile a rumore statistico e outlier
Limitazioni di MAX Due Cluster Punti originari Tende a spezzare grandi cluster Sbilanciato verso cluster globulari
Media del gruppo La similarità di due cluster è la media delle similarità a coppie tra i punti nei due gruppi.
Clustering gerarchico: Media 5 4 1 2 3 4 5 6 2 3 1 Cluster innestati Dendrogramma
Clustering gerarchico : Media Compromesso tra legame singolo e legame completo Punto di forza Meno sensibile a rumore e outliers Limitazioni Sbilanciato verso cluster globulari
Metodo di Ward La similarità di due gruppi si basa sull’incremento di SSE quando i due gruppi vengono uniti: tanto minore l’incremento tanto più elevata la similarità Simile al criterio della media se la distanza tra punti è la distanza Euclidea al quadrato. Meno sensibile a rumore e outliers e sbilanciato verso cluster globulari Analogo gerarchico di K-means Può essere usato per scegliere I centroidi in K-means
Clustering gerarchico: Comparazioni 5 5 1 2 3 4 5 6 4 4 1 2 3 4 5 6 3 2 2 1 MIN MAX 3 1 5 5 1 2 3 4 5 6 1 2 3 4 5 6 4 4 2 2 Ward’s 3 3 1 Media 1
Clustering gerarchico: Problemi e limitazioni Una volta presa la decisione di combinare due cluster , non può essere annullata Nessuna funzione obiettivo è minimizzata Schemi differenti hanno problemi di vario tipo: Sensibili a rumore statistico e outlier Difficoltà nel gestire cluster di dimensioni differenti e forme convesse Spezzano grandi cluster
DBSCAN : density-based algorithm. Densità = numero di punti entro un raggio specificato (Eps) Un punto è definito core point se ha più di un numero specificato di punti (MinPts) entro Eps Punti all’interno del cluster Un border point ha meno punti di MinPts entro Eps, ma è nel vicinato di un core point Un noise point è ogni altro punto che non è né core point o border point.
DBSCAN: Core, Border, e Noise Points
Algoritmo DBSCAN Elimina i noise points Aggrega in cluster i punti rimanenti Gruppi formati da core point e border point collegati tra loro
DBSCAN: Core, Border e Noise Points Punti originari Tipi: core, border e noise Eps = 10, MinPts = 4
Quando DBSCAN funziona bene Cluster Punti originari Resistente al rumore statistico Può gestire gruppi di forma e dimensione differenti
Quando DBSCAN NON funziona (MinPts=4, Eps=9.75). Punti originari Densità variabili Dati ultra-dimensionali (MinPts=4, Eps=9.92)
DBSCAN: Determinare EPS e MinPts Idea: per i punti in un cluster, il loro kth nearest neighbor è approssimativamente alla stessa distanza I Noise points hanno il kth nearest neighbor a distanza maggiore Disegna su un grafico la distanza di ogni punto dal suo kth nearest neighbor
Validazione dei cluster Evitare di trovare pattern in dati casuali Compare algoritmi di clustering Comparare i cluster
Cluster in Dati Casuali DBSCAN Punti casuali K-means Legame completo
Misure di validità dei Cluster Le misure numeriche usate per valutare la bontà di un clustering, sono classificate in tre tipi: Indici esterni: Usato per misurare fino a che punto le etichette del cluster corrispondono a quelle fornite da una fonte esterna. Entropia Indici interni: Usati per misurare la bontà di un clustering senza riferimento a informazione esterna. Sum of Squared Error (SSE) Indici relativi: Usati per comparare due clustering or cluster. Spesso un indice interno o esterno è usato in questi casi: SSE o entropia A volte si parla di criteri piuttosto che di indici
1. Misurare la validità con la correlazione Due matrici Matrice di prossimità Matrice di incidenza Un riga e una colonna per ogni punto (n x n) La cella della matrice è 1 se I punti associati sono nello stesso cluster. E’ nulla altrimenti Calcola la correlazione tra le celle corrispondenti delle due matrici Poichè le matrici sono simmetriche, solo n(n-1) / 2 celle sono considerate. Alta correlazione indica che i punti che appartengono allo stesso cluster sono vicini tra loro. Non è una misura che funziona bene nel caso di cluster a densità differente o definito dalla contiguità.
1. Misurare la validità con la correlazione Correlazioni per K-means clusterings in due data set. Corr = -0.9235 Corr = -0.5810
2. Misurare la validità con la similarità Ordinare la matrice di similarità in base alle etichette di gruppo e ispezionare visivamente.
2. Misurare la validità con la similarità Cluster nei dati casuali non sono così ben definiti DBSCAN
2. Misurare la validità con la similarità Cluster nei dati casuali non sono così ben definiti K-means
2. Misurare la validità con la similarità Cluster nei dati casuali non sono così ben definiti Complete Link
2. Misurare la validità con la similarità DBSCAN
Misure interne: SSE Indice interno: usato per misurare la bontà di un clustering senza riferimento a informazioni esterne SSE Utilizzato per comparare clustering differenti Può anche essere utilizzato per stimare il numero di cluster
Misure interne: SSE Curva SSE per un dataset più complicato SSE dei cluster usando K-means
Misure interne: Coesione e Separazione Coesione dei Cluster: misura quanto sono coese le unità all’interno di un cluster Separazione dei cluster: indice di separazione tra cluster Esempio: Errore quadratico (Squared Error) La coesione è misurata dalla somma dei quadrati NEI cluster (SSE) La separazione è misurata dalla somma dei quadrati FRA cluster
“The validation of clustering structures is the most difficult and frustrating part of cluster analysis. Without a strong effort in this direction, cluster analysis will remain a black art accessible only to those true believers who have experience and great courage.” Algorithms for Clustering Data, Jain and Dubes