Come comprendere gli svantaggi del clustering gerarchico?


19

Qualcuno può spiegare i pro ei contro del Clustering Gerarchico?

  1. Il Clustering Gerarchico presenta gli stessi inconvenienti di K?
  2. Quali sono i vantaggi del clustering gerarchico su K?
  3. Quando dovremmo usare K significa su Clustering gerarchico e viceversa?

Le risposte a questo post spiegano molto bene gli svantaggi di k. Come capire gli svantaggi di K-significa


2
In questa risposta ho toccato alcune delle sfaccettature potenzialmente problematiche dell'analisi dei cluster agglomerativi gerarchici. Il principale "svantaggio" è che si tratta di un algoritmo avido non passivo a passaggio singolo. Con un algoritmo avido, si ottimizza l'attività della fase corrente, che - per la maggior parte dei metodi HC - non garantisce necessariamente la migliore partizione in una fase futura distante. Il vantaggio principale di HC è che è flessibile rispetto alla scelta della misura di prossimità da utilizzare. @Mic ha già dato una buona risposta di seguito, quindi sto solo facendo eco.
ttnphns,

Risposte:


13

Considerando che -means cerca di ottimizzare un obiettivo globale (varianza dei cluster) e raggiunge un cluster gerarchico agglomerativo ottimale locale, mira a trovare il passo migliore in ogni fusione di cluster (algoritmo avido) che viene fatto esattamente ma risultando in una soluzione potenzialmente non ottimale .K

Si dovrebbe usare il clustering gerarchico quando i dati sottostanti hanno una struttura gerarchica (come le correlazioni nei mercati finanziari) e si desidera ripristinare la gerarchia. Puoi ancora applicare -means per farlo, ma potresti finire con partizioni (dalla più grossolana (tutti i punti di dati in un cluster) alla più fine (ogni punto di dati è un cluster)) che non sono nidificati e quindi non una vera gerarchia.k

Se si desidera approfondire le proprietà più fini del clustering, potrebbe non essere necessario opporsi al clustering piatto come significa al clustering gerarchico come i collegamenti Single, Average, Complete. Ad esempio, tutti questi raggruppamenti risparmiano spazio, ovvero quando si creano cluster non si distorce lo spazio, mentre un raggruppamento gerarchico come Ward non risparmia spazio, ovvero ad ogni fase di fusione distorce lo spazio metrico.k

Per concludere, gli svantaggi degli algoritmi di clustering gerarchico possono essere molto diversi l'uno dall'altro. Alcuni possono condividere proprietà simili a -means: Ward mira a ottimizzare la varianza, ma Single Linkage no. Ma possono anche avere proprietà diverse: Ward dilata nello spazio, mentre Single Linkage risparmia spazio come i mezzi k .kk

- modifica per specificare le proprietà di conservazione dello spazio e dilatazione dello spazio

Risparmio di spazio: dove D i j è la distanza tra i cluster C i e C j si desidera unire e d

Dioj[minXCio,yCjd(X,y),maxXCio,yCjd(X,y)]
DiojCioCjd è la distanza tra i punti dati.

Dilatazione dello spazio: ovvero unendo C i e C j l'algoritmo spingerà più lontano dal cluster C k .

D(CiCj,Ck)max(Dik,Djk),
CiCjCk

Puoi dare qualche altro esempio di dati con struttura gerarchica? Non ha seguito l'esempio del mercato finanziario.
GeorgeOfTheRF,

Sicuro. cf. arxiv.org/pdf/cond-mat/9802256.pdf o semplicemente la Figura 7 in arxiv.org/pdf/1506.00976.pdf che raffigura una matrice di correlazione che ha una struttura di blocchi di correlazione gerarchica (rumorosa): è possibile notare blocchi sul principale diagonale, che sono divisi in più blocchi, ognuno diviso in ancora più blocchi. Corrisponde approssimativamente a una suddivisione in regioni (Europa, Stati Uniti, Asia, Giappone escluso, Giappone), quindi ogni regione divisa per la qualità degli attivi (diciamo alta qualità vs. spazzatura), quindi divisa per i grandi settori industriali (vendita al dettaglio, industria, media), ulteriore suddivisione in (aerospaziale, auto ...)
mic

3
+1. Tuttavia, should use hierarchical clustering when underlying data has a hierarchical structure... and you want to recover the hierarchynon necessariamente. Nella maggior parte dei casi piuttosto al contrario. La gerarchia di HC è piuttosto una storia dell'algo che una struttura dei dati . Tuttavia, questa domanda è in definitiva filosofica / logica, non così statistica.
ttnphns,

Ward is not space-conserving, i.e. at each merging step it will distort the metric space. Puoi scriverne di più? Questo non è molto chiaro.
ttnphns,

Ward is space-dilating, whereas Single Linkage is space-conserving like k-means. Volevi dire contratti spaziali per un singolo collegamento?
ttnphns,

13

scalabilità

significa che è il chiaro vincitore qui. O ( n k d i ) è molto meglio dellascalabilità O ( n 3 d ) (in alcuni casi O ( n 2 d ) ) del clustering gerarchico perché di solito sia k che i e d sono piccoli (purtroppo, i tende a crescere con n , quindi O ( n ) fanonkO(nkdi)O(n3d)O(n2d)kidinO(n)di solito tenere). Inoltre, il consumo di memoria è lineare, al contrario di quadratico (di solito, esistono casi speciali lineari).

Flessibilità

-means ha un'applicabilità estremamente limitata. È essenzialmente limitato alle distanze euclidee (incluso l'euclideo negli spazi del kernel e le divergenze di Bregman, ma queste sono piuttosto esotiche e nessuno le usa effettivamente con k -means). Ancora peggio, k -means funziona solo su dati numerici (che in realtà dovrebbero essere continui e densi per adattarsi bene ai k -means).kkkk

Il clustering gerarchico è il chiaro vincitore qui. Non richiede nemmeno una distanza: è possibile utilizzare qualsiasi misura, comprese le funzioni di somiglianza semplicemente preferendo valori alti a valori bassi. Dati categorici? sicuramente basta usare ad esempio Jaccard. Stringhe? Prova la distanza Levenshtein. Serie storiche? sicuro. Dati di tipo misto? Distanza di Gower. Esistono milioni di set di dati in cui è possibile utilizzare il clustering gerarchico, ma in cui non è possibile utilizzare -means.k

Modello

Nessun vincitore qui. significa un punteggio alto perché produce una grande riduzione dei dati. I centroidi sono di facile comprensione e utilizzo. Il raggruppamento gerarchico, d'altra parte, produce un dendrogramma. Un dendrogramma può anche essere molto molto utile per comprendere il tuo set di dati.k


La gerarchia fallisce come k significa quando i cluster sono 1) non sferici 2) hanno raggio diverso 3) hanno densità diversa?
GeorgeOfTheRF,

2
Entrambi possono funzionare ed entrambi possono fallire. Ecco perché sono utili cose come i dendrogrammi. Mai fidarsi di un risultato di clustering per essere "corretto", mai.
Anony-Mousse - Restituisci Monica il

Il clustering gerarchico può fornire cluster ottimizzati localmente poiché basato su un approccio avido, ma K significa che fornisce cluster ottimizzati a livello globale. Ho anche sperimentato che la spiegazione del clustering gerarchico è relativamente facile per gli uomini d'affari rispetto ai mezzi di K.
Arpit Sisodia,

7

Volevo solo aggiungere un po 'alle altre risposte su come, in un certo senso, vi sia una forte ragione teorica per preferire determinati metodi di raggruppamento gerarchico.

Un presupposto comune nell'analisi dei cluster è che i dati sono campionati da una densità di probabilità sottostante cui non abbiamo accesso. Ma supponiamo di avervi accesso. Come definiremmo i cluster di f ?ff

Un approccio molto naturale e intuitivo è quello di dire che i cluster di sono le regioni ad alta densità. Ad esempio, considera la densità a due picchi di seguito:f

enter image description here

Tracciando una linea attraverso il grafico induciamo un insieme di cluster. Ad esempio, se tracciamo una linea su , otteniamo i due cluster mostrati. Ma se tracciamo la linea su λ 3 , otteniamo un singolo cluster.λ1λ3

Per renderlo più preciso, supponiamo di avere un arbitrario . Quali sono i cluster di f al livello λ ? Sono i componenti collegati del set di superlivello { x : f ( x ) λ } .λ>0fλ{x:f(x)λ}

Ora invece di scegliere un arbitrario potremmo considerare tutti λ , in modo tale che l'insieme dei cluster "veri" di f siano tutti componenti collegati di qualsiasi insieme di livello superiore di f . La chiave è che questa raccolta di cluster ha una struttura gerarchica .λ λff

Vorrei renderlo più preciso. Supponiamo è supportato su X . Ora sia C 1 un componente collegato di { x : f ( x ) λ 1 } e C 2 sia un componente collegato di { x : f ( x ) λ 2 } . In altre parole, C 1 è un cluster a livello λ 1 e C 2 è un cluster a livello λ 2 . Quindi sefXC1{x:f(x)λ1}C2{x:f(x)λ2}C1λ1C2λ2 , quindi C 1C 2 o C 1C 2 = . Questa relazione di nidificazione vale per qualsiasi coppia di cluster nella nostra raccolta, quindi ciò che abbiamo è in realtà unagerarchiadi cluster. Lo chiamiamo l'albero dei cluster.λ2<λ1C1C2C1C2=

Quindi ora ho alcuni dati campionati da una densità. Posso raggruppare questi dati in modo da recuperare l'albero del cluster? In particolare, vorremmo che un metodo fosse coerente nel senso che, man mano che raccogliamo sempre più dati, la nostra stima empirica dell'albero del cluster cresce sempre più vicino al vero albero del cluster.

Hartigan è stato il primo a porre tali domande e, nel fare ciò, ha definito con precisione cosa significherebbe per un metodo di clustering gerarchico valutare costantemente l'albero dei cluster. La sua definizione era la seguente: Siano e B veri e propri gruppi disgiunti di f come definito sopra - ovvero, sono componenti collegati di alcuni insiemi di livello superiore. Ora disegna un set di n campioni iid da f e chiama questo set X n . Applichiamo un metodo di clustering gerarchico ai dati X n e otteniamo una raccolta di cluster empirici . Sia A n il più piccoloABfnfXnXnAnAXnBnBXnPr(AnBn)=1nAB

In sostanza, la coerenza di Hartigan afferma che il nostro metodo di raggruppamento dovrebbe separare adeguatamente le regioni ad alta densità. Hartigan ha studiato se il clustering a singolo collegamento potesse essere coerente e ha scoperto che non era coerente in dimensioni> 1. Il problema di trovare un metodo generale e coerente per stimare l'albero del cluster era aperto fino a pochi anni fa, quando Chaudhuri e Dasgupta hanno introdotto collegamento singolo robusto , che è dimostrabilmente coerente. Suggerirei di leggere il loro metodo, poiché è abbastanza elegante, secondo me.

Quindi, per rispondere alle tue domande, c'è un senso in cui il cluster gerarchico è la cosa "giusta" da fare quando si tenta di recuperare la struttura di una densità. Tuttavia, notare le virgolette intorno a "giusto" ... In definitiva i metodi di clustering basati sulla densità tendono a funzionare male in dimensioni elevate a causa della maledizione della dimensionalità, e quindi anche se una definizione di cluster basata su cluster essendo regioni di alta probabilità è abbastanza pulito e intuitivo, spesso viene ignorato a favore di metodi che funzionano meglio nella pratica. Questo non vuol dire che un singolo collegamento robusto non sia pratico, in realtà funziona abbastanza bene su problemi di dimensioni inferiori.

Infine, dirò che la coerenza di Hartigan non è in un certo senso conforme alla nostra intuizione di convergenza. Il problema è che Hartigan consistenza consente un metodo di clustering per notevolmente su segmenti cluster tale che un algoritmo può essere Hartigan clustering coerente producono tuttavia che sono molto diverse dal vero albero di cluster. Quest'anno abbiamo prodotto lavoro su una nozione alternativa di convergenza che affronta questi problemi. Il lavoro è apparso in "Beyond Hartigan Coerency: Merge metrica di distorsione per clustering gerarchico" in COLT 2015.


Questo è un modo interessante di pensare al clustering gerarchico. Trovo ricorda molto da vicino il clustering per la stima non parametrica della densità ( pdf ), che viene realizzato nel Rnel pdfCluster pacchetto. (Ne discuto qui .)
gung - Ripristina Monica

HDBSCAN * utilizza un approccio simile.
Anony-Mousse - Restituisci Monica il

3

Un ulteriore vantaggio pratico nel clustering gerarchico è la possibilità di visualizzare i risultati usando il dendrogramma. Se non sai in anticipo quale numero di cluster stai cercando (come spesso accade ...), puoi che la trama del dendrogramma ti aiuti a scegliereKsenza necessità di creare cluster separati. Il dedrogramma può anche fornire una visione approfondita della struttura dei dati, aiutare a identificare i valori anomali, ecc. Anche il clustering gerarchico è deterministico, mentre k-significa con l'inizializzazione casuale può darti risultati diversi quando eseguito più volte sugli stessi dati. In k-medie, puoi anche scegliere diversi metodi per aggiornare le medie dei cluster (sebbene l'approccio Hartigan-Wong sia di gran lunga il più comune), il che non è un problema con il metodo gerarchico.

EDIT grazie a ttnphns: una caratteristica che il clustering gerarchico condivide con molti altri algoritmi è la necessità di scegliere una misura della distanza. Ciò dipende spesso in larga misura dall'applicazione e dagli obiettivi specifici. Questo potrebbe essere visto come un'ulteriore complicazione (un altro parametro da selezionare ...), ma anche come una risorsa: più possibilità. Al contrario, l'algoritmo classico dei mezzi K usa specificamente la distanza euclidea.


3
Suppongo che il "problema" nel tuo ultimo paragrafo sia visto positivamente come una risorsa. K-significa, tuttavia, si basa implicitamente solo sulla distanza euclidea .
ttnphns,

Molte possibili scelte possono essere un problema oltre che una risorsa, anzi :) Grazie per il commento su k-mean, migliorerò quel paragrafo.
Jacek Podlewski,

@ttnphns In realtà " K-means "può essere usato con qualsiasi divergenza di Bregman jmlr.org/papers/volume6/banerjee05b/banerjee05b.pdf ; voglio dire che è questo il caso se si considera cheK-stato è ciò che risulta quando si considera il caso limite dei modelli di miscele gaussiane (da morbido a duro), quindi sostituendo gaussiano con un altro membro della famiglia esponenziale, si sostituisce la distanza euclidea da un'altra divergenza di Bregman associata al membro della famiglia raccolte. Si finisce con uno schema di algoritmo simile che mira a trovare la massima probabilità con una massimizzazione delle aspettative.
microfono,

Credo che la domanda originale sia stata fatta riguardo ai "classici" mezzi K e non alla minima intenzione di approfondire le divergenze di Bregman. Bella osservazione però, darò un'occhiata più approfondita a questo documento di sicuro.
Jacek Podlewski,

@mic nessuno usa le divergenze di Bregman oltre le variazioni della distanza euclidea ... è solo una minuscola classe. Ma la gente vorrebbe usare ad esempio la distanza di Manhattan, Gower ecc. Che non sono divergenze di Bregman per quello che ne so.
Anony-Mousse -Reststate Monica
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.