Metodologie di Clustering

Похожие документы
Riconoscimento e recupero dell informazione per bioinformatica. Clustering: validazione. Manuele Bicego

Riconoscimento e recupero dell informazione per bioinformatica

Cluster Analysis. La Cluster Analysis è il processo attraverso il quale vengono individuati raggruppamenti dei dati. per modellare!

Cenni di apprendimento in Reti Bayesiane

Riconoscimento e recupero dell informazione per bioinformatica

Introduzione all analisi di arrays: clustering.

Tesina Intelligenza Artificiale Maria Serena Ciaburri s A.A

Obiettivo: assegnazione di osservazioni a gruppi di unità statistiche non definiti a priori e tali che:

APPUNTI DI CLUSTER ANALYSIS (Paola Vicard)

Riconoscimento automatico di oggetti (Pattern Recognition)

Cluster Analysis Distanze ed estrazioni Marco Perugini Milano-Bicocca

Concetti di teoria dei campioni ad uso degli studenti di Statistica Economica e Finanziaria, A.A. 2016/2017. Giovanni Lafratta

Riconoscimento e recupero dell informazione per bioinformatica

2.6 Calcolo degli equilibri di Nash

Appunti di statistica ed analisi dei dati

IL CRITERIO DELLA MASSIMA VEROSIMIGLIANZA

Nel modello omoschedastico la varianza dell errore non dipende da i ed è quindi pari a σ 0.

Naïve Bayesian Classification

Clustering con Weka Testo degli esercizi. Prof. Matteo Golfarelli Alma Mater Studiorum - Università di Bologna

Statistica multivariata 27/09/2016. D.Rodi, 2016

Risoluzione di sistemi lineari sparsi e di grandi dimensioni

Il modello di regressione lineare multipla. Il modello di regressione lineare multipla

Sintesi Sequenziale Sincrona Sintesi Comportamentale di reti Sequenziali Sincrone

Modelli Probabilistici per la Computazione Affettiva: Learning/Inferenza parametri

Analisi Statistica dei Dati Misurazione e gestione dei rischi a.a

Apprendimento Automatico

Algoritmi di classificazione supervisionati

CALCOLO DELL ERRORE E VALUTAZIONE DI UN METODO ANALITICO

9.3 Il metodo dei minimi quadrati in formalismo matriciale

METODI DI CLASSIFICAZIONE. Federico Marini

lezione n. 6 (a cura di Gaia Montanucci) Verosimiglianza: L = = =. Parte dipendente da β 0 e β 1

Транскрипт:

Metodologie di Clustering

Nota preliminare Esistono moltissimi algoritmi di clustering Questi algoritmi possono essere analizzati da svariati punti di vista La suddivisione principale tuttavia è quella che raggruppa i metodi di clustering in due categorie: metodi partizionali e metodi gerarchici 2

Gerarchico vs partizionale La suddivisione si basa sul tipo di risultato dell operazione di clustering Clustering Partizionale: il risultato è una singola partizione dei dati (tipicamente il numero di cluster deve essere dato a priori) mira ad identificare i gruppi naturali presenti nel dataset tipicamente richiede che i dati siano rappresentati in forma vettoriale genera una partizione (insieme di cluster disgiunti la cui unione ritorna il data set originale) Clustering Gerarchico: il risultato è una serie di partizioni innestate (un dendrogramma ) mira ad evidenziare le relazioni tra i vari pattern del dataset tipicamente richiede una matrice di prossimità 3

x 2 F G D E x 2 F G A C B partizionale A C B D E x 1 gerarchico problema originale x 1 4

Gerarchico vs partizionale Ulteriori dettagli Partizionale: ottimo per dataset grandi scegliere il numero di cluster è un problema (esistono metodi per determinare in modo automatico il numero di cluster) tipicamente il clustering è il risultato di un procedimento di ottimizzazione, definito sia localmente (su un sottoinsieme dei pattern) che globalmente (su tutti i pattern) Esempi: K-means (e sue varianti), PAM, ISODATA,... Gerarchico non è necessario settare a priori il numero di cluster più informativo del partizionale, è improponibile per dataset grandi Esempi: Complete Link, Single Link, Ward Link,... 5

Il clustering partizionale 6

Clustering partizionale Classi di approcci: clustering sequenziale: approccio di clustering molto semplice e intuitivo tipicamente i pattern vengono processati poche volte in generale, il risultato finale dipende dall ordine con cui vengono presentati i pattern funzionano bene per cluster convessi center-based clustering: ogni cluster è rappresentato da un centro metodi efficienti per clusterizzare database grandi l obiettivo è minimizzare una funzione di costo funzionano bene per cluster convessi 7

Clustering partizionale model based clustering l idea è quella di creare dei modelli per i dati (tipicamente probabilistici) tipicamente si assume che i dati siano generati da una mistura di distribuzioni di probabilità in cui ogni componente identifica un cluster 8

Clustering sequenziale BSAS: Basic Sequential Algorithmic Scheme algoritmo di clustering sequenziale facile e intuitivo Assunzioni/Idee i pattern vengono processati una volta sola, in ordine ogni pattern processato viene assegnato ad un cluster esistente oppure va a creare un nuovo cluster il numero di cluster non è conosciuto a priori ma viene stimato durante il processo 9

BSAS: algoritmo Notazione/parametri: x i : vettore di punti, {x 1, x N } dataset da clusterizzare C j : j-esimo cluster d(x,c): distanza tra un punto e un insieme (un cluster) (simile alla distanza tra insiemi) Max: distanza massima Min: distanza minima Average: distanza media center-based: distanza dal rappresentante Θ: soglia di dissimilarità m: numero di cluster trovati ad un determinato istante 10

BSAS: algoritmo Algoritmo: 11

BSAS: algoritmo Se la distanza d(x,c) = d(x,m C ) (distanza dalla media del cluster), allora l aggiornamento dei rappresentanti può essere fatto on-line Notazioni m Ck è la media del cluster k x è il punto aggiunto al cluster C k n Ck è la cardinalità del cluster C k 12

Clustering sequenziale Commenti su BSAS: si può osservare che l ordine con cui vengono processati i pattern è cruciale ordini diversi possono produrre risultati diversi la scelta della soglia θ è cruciale θ troppo piccola, vengono determinati troppi cluster θ troppo grande, troppo pochi cluster si può scambiare la dissimilarità con la similarità (cambiando min con max e > con <) con i rappresentanti (con le medie) i cluster che escono sono compatti 13

Clustering sequenziale Metodo per calcolare il numero ottimale di clusters: for θ = a to b step c Eseguire s volte l algoritmo BSAS, ogni volta processando i pattern con un ordine differente stimare m θ come il numero più frequente di cluster end for visualizzare il numero di cluster m θ vs il parametro θ il numero di cluster ottimale è quello della regione piatta più lunga dettagli a è la distanza minima tra i punti, b la distanza massima assumiamo che esista un clustering 14

Clustering sequenziale 40 35 30 n u m e ro d i c lu s te rs 25 20 15 10 5 0 0 5 10 15 20 25 30 15

Center-based clustering K-means Algoritmo più famoso di clustering partizionale IDEE: minimizza una funzione di errore ogni cluster è rappresentato dalla sua media si parte da una clusterizzazione iniziale, ed ad ogni iterazione si assegna ogni pattern alla media più vicina si riaggiornano le medie si continua fino a convergenza algoritmo (alla lavagna) 16

Center-based clustering Commenti il numero di cluster deve essere fissato a priori l ottimizzazione spesso porta ad un ottimo locale l inizializzazione è cruciale: una cattiva inizializzazione porta ad un clustering pessimo è molto efficiente nel clusterizzare dataset grandi, perché la sua complessità computazionale è linearmente dipendente dalla dimensione del data set i cluster ottenuti hanno una forma convessa lavora solo su dati vettoriali numerici (deve calcolare la media) non funziona bene su dati altamente dimensionali (soffre del problema della curse of dimensionality) tipicamente viene utilizzata la distanza euclidea 17

Center based clustering Varianti del K-means cercare di migliorare l inizializzazione ([Anderberg 1973]) ISODATA (Iterative Self-Organizing Data Analysis Techniques ) permettere lo splitting e il merging dei cluster risultanti Ad ogni iterazione effettua dei controlli sui cluster risultanti: un cluster viene diviso se la sua varianza è sopra una soglia prefissata, oppure se ha troppi punti due cluster vengono uniti se la distanza tra i due relativi centroidi è minore di un altra soglia prefissata, oppure se hanno troppo pochi punti la scelta delle soglie è cruciale, ma fornisce anche una soluzione alla scelta del numero di cluster 18

Center based clustering Varianti del K-means utilizzo della distanza di Mahalanobis come distanza per i punti ([Mao Jain 1996]) vantaggio: posso anche trovare cluster ellissoidali svantaggio: devo calcolare ogni volta la matrice di covarianza PAM (Partitioning around the medoids) l idea è quella di utilizzare come centri del K-means i medoidi (o i punti più centrali) invece che le medie non introduco nuovi elementi nel dataset più robusto agli outliers posso lavorare anche con dati non vettoriali (data una funzione di distanza tra questi dati) 19

Model-based clustering IDEE: utilizzare un insieme di modelli per i cluster l obiettivo diventa quello di massimizzare il fit tra i modelli e i dati si assume che i dati siano generati da una mistura di funzioni di probabilità differenti f j (x Θ j ), ognuna delle quali rappresenta un cluster Una mistura è descritta dalla seguente formula K p( x)= j=1 π j f j ( x Ɵ j ) πj è la probabilità della j-esima componente NOTA: ovviamente il metodo di clustering funziona bene i dati sono conformi al modello 20 se

Model-based clustering Per massimizzare il fit di dati e modelli tipicamente si utilizza un approccio Maximum Likelihood Dato un dataset D che contiene N punti D={x1..xN}, si massimizza la likelihood (produttoria di tutti i p(xi)) Funzione molto difficile da ottimizzare, tipicamente non si può fare in modo analitico, di solito si utilizza l'em (Expectation Maximization) 21

Gaussian Mixture Models Tecnica di model-based clustering più utilizzata (soft clustering) Assume che ogni componente della mistura (ogni cluster) sia gaussiano 22

Gaussian Mixture Models Assunzioni sulla forma della matrice di covarianza portano a diverse forme delle misture Sferica Diagonale Full Diversa / uguale per ogni cluster (vedi parte sulla classificazione) 23

Gaussian Mixture Models il modello è stimato utilizzando Expectation-Maximization (EM) IDEE: (Non vediamo nel dettaglio) Algoritmo iterativo, parte da un modello iniziale e lo migliora iterativamente Concettualmente simile al kmeans, ma tiene conto del grado di appartenenza ad un clustering 24

Gaussian Mixture Models Cicla continuamente tra questi due passi. E-step. Data la mistura, stima il grado di appartenenza di ogni punto alle diverse gaussiane M-step. Ristima i parametri delle gaussiane utilizzando queste informazioni 25

Esempio 26

Model based clustering VANTAGGI: molto utilizzato in svariati contesti per la sua flessibilità ritorna anche la probabilità con cui un punto appartiene ad un cluster SVANTAGGI: l inizializzazione è un problema Come si determina il numero di cluster? il problema può essere visto come un problema di model selection 27

Clustering gerarchico 28

Clustering gerarchico Algoritmi di clustering che generano una serie di partizioni innestate Rappresentazione di un clustering gerarchico: il dendrogramma 29

Clustering gerarchico Clustering gerarchico agglomerativo: si parte da una partizione in cui ogni cluster contiene un solo elemento si continua a fondere i cluster più simili fino ad avere un solo cluster definizioni diverse del concetto di cluster più simili generano algoritmi diversi Approcci più utilizzati: single link complete link formulazione con le matrici (alla lavagna) 30

Clustering gerarchico Single Link: d(c rs,c j ) = min{d(c r,c j ), d(c s,c j )} Complete Link: d(c rs,c j ) = max{d(c r,c j ), d(c s,c j )} single link complete link 31

Clustering gerarchico Altri criteri di unione dei cluster UPGMA (Unweighted pair group method using arithmetic averages) la distanza tra cluster è definita come la media delle distanze di tutte le possibili coppie formate da un punto del primo e un punto del secondo utilizzato nel periodo iniziale della filogenesi Metodo di Ward fonde assieme i cluster che portano alla minima perdita di informazione informazione intesa in termini di varianza 32

La validazione del clustering 33

Definizione Validazione del clustering: insieme di procedure che valutano il risultato di un analisi di clustering in modo quantitativo e oggettivo Differente dalla validazione soggettiva : data dal particolare contesto applicativo, con l utilizzo della conoscenza a priori sul problema (intesa anche come interpretazione dei risultati ) In questa parte: validazione oggettiva : misura quantitativa della capacità della struttura trovata di spiegare i dati (indipendentemente dal contesto) 34

Indici di validità Gli indici possono essere diversi a seconda della struttura analizzata (del tipo di clustering) Gerarchie: risultato degli algoritmi gerarchici Possiamo anche voler valutare una gerarchia esistente, ad esempio un modello teorico Partizioni: risultato degli algoritmi partizionali Si può valutare una partizione esistente derivante da informazioni di categoria Clusters: sottoinsiemi di patterns Derivanti da cluster analysis, informazione di categorie, 35

Indici di validità Tipi di indici: Criteri esterni: misurano le performance di un clustering andando a confrontare informazioni a priori Esempio: etichette già note a priori Criteri interni: Misurano le performance di un clustering utilizzando solo i dati (completamente non supervisionato) Criteri relativi: Confronta due risultati di clustering 36

Indici di validità per partizioni Rispondono alle seguenti domande: La partizione ha un buon match con le categorie? Quanti cluster ci sono nel dataset? Dove deve essere tagliato il dendrogramma? Quale tra due partizioni date fitta meglio il dataset? 37

Indici di validità per partizioni Criteri esterni: Tipicamente si va a confrontare due partizioni: Una deriva dal clustering Una deriva dall informazione a priori (etichette) Diversi indici Rand, Jaccard, Fowlkes and Mallows, Г statistic 38

Indici di validità per partizioni Punto di partenza: una funzione indicatrice I U (i,j) I U (i,j) vale 1 se gli oggetti i e j sono nello stesso cluster secondo il clustering U Partizione U Funzione Indicatrice I U 1 2 3 4 5 6 1 4 2 3 6 5 1 1 1 0 1 0 0 2 1 1 0 1 0 0 3 0 0 1 0 1 1 4 1 1 0 1 0 0 5 0 0 1 0 1 1 6 0 0 1 0 1 1 39

Indici di validità per partizioni Tipicamente si hanno due partizioni U e V U: risultato del clustering V: clustering vero (deriva dalle etichette note a priori) Posso calcolare la matrice di contingenza a = numero di coppie di oggetti che sono messi nello stesso cluster in tutte e due le partizioni b = numero di coppie di oggetti che sono messi nello stesso cluster da U ma non da V c = numero di coppie di oggetti che sono messi nello stesso cluster da V ma non da U d = numero di coppie di oggetti messi in cluster diversi sia da U che da V 40

Indici di validità per partizioni Matematicamente a= i, j I U (i, j) I V (i, j) { È uguale a 1 se sia U che V sono 1, cioè se sia U che V mettono gli oggetti xi e xj nello stesso cluster { b= i, j I U (i, j)(1 I V (i, j)) È uguale a 1 se U è 1 e V è 0, quindi se U mette xi e xj nello stesso cluster ma V no 41

Indici di validità per partizioni c= i, j d = i, j (1 I U (i, j)) I V (i, j) (1 I U (i, j))(1 I V (i, j)) Si possono anche calcolare le seguenti quantità m 1 = numero di coppie nello stesso gruppo in U m 1 = a+b m 2 = numero di coppie nello stesso gruppo in V m 2 = a+c M = numero totale di coppie M = a+b+c+d 42

Indici di validità per partizioni I diversi indici sono definiti a partire da queste quantità: l'idea generale è quella di misurare quanto vanno d'accordo le due partizioni a+ d ( n 2) Indice RAND a (a+ b+ c) Indice Jaccard Ma m 1 m 2 (m 1 m 2 ( M m 1 )( M m 2 )) 1/ 2 Γ statistic a (m 1 m 2 ) 1 /2 Fowlkes & Mallows 43

Indici di validità per partizioni Criteri interni: Difficili da stimare: devono misurare il fitting tra una partizione data e il dataset Problema fondamentale: stimare il numero di clusters Molti metodi (esempio metodi di model selection per modelli probabilistici) Ma molte difficoltà: Stima della baseline (campionamento di molti dataset + stima di un indice interno --- ma quale modello per campionare i dati?) Gli indici interni dipendono strettamente dai parametri del problema: Numero di features, numero di patterns, numero di clusters 44

Un particolare indice L indice di Davies-Bouldin (1979) Inizialmente utilizzato per decidere quando fermare un clustering sequenziale L indice viene calcolato al variare del numero di clusters Il miglior clustering corrisponde al valore minimo 45

L'indice di Davies Bouldin DEFINIZIONI {x 1, x N } punti da clusterizzare C 1..C K : partizione da valutare (insieme dei K clusters, ognuno di cardinalità n j ) Si possono calcolare il centroide, la variazione intracluster e la variazione tra cluster m j = 1 n j x i C j x i centroide e j 2 = 1 n j (x i m j ) T ( x i m j ) x i C j within cluster variation dm( j,h)=d (m j, m h ) between cluster variation 46

L'indice di Davies Bouldin Passi per calcolare l'indice Per ogni coppia di cluster (j,h) si calcola Per ogni cluster si calcola R jh = e j + e h dm( j,h) R j =max j h R jh L'indice di Davies Bouldin viene determinato come K DB({C 1,..., C K })= 1 K j=1 R j Più piccolo è il valore dell'indice migliore è il clustering! 47

Può anche essere utilizzato per determinare la presenza di una struttura di clustering 48

Clustering tendency Problema: gli algoritmi di clustering producono sempre un output, indipendentemente dal dataset Definizione di cluster tendency: identificare, senza effettuare il clustering, se i dati hanno una predisposizione ad aggregarsi in gruppi naturali Operazione preliminare cruciale: Previene dall applicare elaborate metodologie di clustering e di validazione a dati in cui i cluster sono sicuramente degli artefatti degli algoritmi di clustering 49

Clustering tendency IDEA: studio dello spazio delle features in modo da identificare tre possibili situazioni: 1. I pattern sono sistemati in modo casuale (spatial randomness) 2. I pattern sono aggregati, cioè esibiscono una mutua attrazione 3. I pattern sono spaziati regolarmente, cioè esibiscono una mutua repulsione Nei casi 1 e 3 non ha senso effettuare il clustering 50

Cluster tendency random regular cluster 51

Cluster tendency IDEA: effettuare alcuni test in modo da determinare se esiste o meno una struttura (e.g. test per una distribuzione uniforme in una finestra detta sampling window) ESEMPI: Scan tests: Contare il numero di pattern presenti nella sottoregione più popolosa Se il numero è inusualmente grande allora esiste un clustering PROBLEMI: come definire le sottoregioni, cosa vuol dire inusualmente grande 52