Clustering con K-Means e EM: come sono correlati?


50

Ho studiato algoritmi per il clustering dei dati (apprendimento non supervisionato): EM e k-medie. Continuo a leggere quanto segue:

k-mean è una variante di EM, con le ipotesi che i cluster siano sferici.

Qualcuno può spiegare la frase sopra? Non capisco cosa significhino sferica, e come siano correlati kmean ed EM, poiché uno fa un compito probabilistico e l'altro lo fa in modo deterministico.

Inoltre, in quale situazione è meglio usare il clustering k-means? o utilizzare il clustering EM?


Sferico significa matrici di varianza-covarianza identiche per ciascun cluster (assumendo la distribuzione gaussiana), che è anche noto come clustering basato su modelli. Quale approccio consideri deterministico?
chl

2
Sarebbe bello se dai la fonte della citazione.
ttnphns,

1
k-significa "presume" che i cluster siano più o meno rotondi e solidi (non fortemente allungati o curvi o semplicemente anellati) nello spazio euclideo. Non sono tenuti a provenire da normali distribuzioni. EM lo richiede (o almeno deve essere noto un tipo specifico di distribuzione).
ttnphns,

Risposte:


38

K significa

  1. Assegnare un punto dati a un determinato cluster sulla convergenza.
  2. Fa uso della norma L2 durante l'ottimizzazione (punto della norma L2 Min {Theta} e sue coordinate centroide).

EM

  1. Soft assegna un punto ai cluster (in modo da dare una probabilità di qualsiasi punto appartenente a qualsiasi centroide).
  2. Non dipende dalla norma L2, ma si basa sull'aspettativa, ovvero sulla probabilità del punto appartenente a un particolare cluster. Questo rende i mezzi K distorti verso i cluster sferici.

57

Non esiste un "algoritmo k-significa". Esiste l'algoritmo MacQueens per k-mean, l'algoritmo Lloyd / Forgy per k-mean, il metodo Hartigan-Wong, ...

Inoltre non esiste "l'algoritmo EM". È uno schema generale di aspettarsi ripetutamente le probabilità e quindi massimizzare il modello. La variante più popolare di EM è anche conosciuta come "Gaussian Mixture Modeling" (GMM), dove il modello è distribuzioni gaussiane multivariate.

Uno può considerare l'algoritmo di Lloyds composto da due passaggi:

  • l'E-step, in cui ogni oggetto è assegnato al centroide in modo tale da essere assegnato al cluster più probabile.
  • il passo M, in cui viene ricalcolato il modello (= centroidi) (= ottimizzazione dei minimi quadrati).

... iterando questi due passaggi, come fatto da Lloyd, questo fa di fatto un'istanza del sistema EM generale. Si differenzia da GMM che:

  • utilizza il partizionamento rigido, ovvero ogni oggetto è assegnato esattamente a un cluster
  • i modelli sono solo centroidi, non vengono prese in considerazione covarianze o varianze

kk

10
Molti libri equivalgono a k-mean con l'algoritmo lloyds, ma non lo ha mai chiamato k-mean. MacQueen ha introdotto il nome k-mean. Spiacenti: molti libri usano nomi errati qui . k-mean è il problema, ma solo una soluzione popolare. In effetti, R eseguirà Hartigan-Wong per impostazione predefinita per risolvere i kmean.
Anony-Mousse,

4

Ecco un esempio, se lo facessi in mplus, che potrebbe essere utile e complimentarmi con risposte più complete:

Supponiamo che io abbia 3 variabili continue e che voglia identificare i cluster in base a questi. Vorrei specificare un modello di miscela (più specificamente in questo caso, un modello di profilo latente), assumendo l'indipendenza condizionale (le variabili osservate sono indipendenti, data l'appartenenza al cluster) come:

Model: 
%Overall%
v1* v2* v3*;  ! Freely estimated variances
[v1 v2 v3];   ! Freely estimated means

Avrei eseguito questo modello più volte, specificando ogni volta un diverso numero di cluster e scegliendo la soluzione che mi piace di più (fare questo è un vasto argomento da solo).

Per eseguire k-mean, specifica il seguente modello:

Model: 
%Overall%
v1@0 v2@0 v3@0;  ! Variances constrained as zero
[v1 v2 v3];      ! Freely estimated means

Quindi l'appartenenza alla classe si basa solo sulla distanza dalla media delle variabili osservate. Come affermato in altre risposte, le variazioni non hanno nulla a che fare con esso.

La cosa bella di fare questo in mplus è che si tratta di modelli nidificati, e quindi puoi testare direttamente se i vincoli si traducono in un adattamento peggiore o meno, oltre a poter confrontare la discordanza nella classificazione tra i due metodi. Entrambi questi modelli, a proposito, possono essere stimati usando un algoritmo EM, quindi la differenza è davvero di più sul modello.

Se pensi nello spazio 3-D, il 3 significa creare un punto ... e le variazioni dei tre assi di un ellissoide che attraversano quel punto. Se tutte e tre le varianze sono uguali, otterrai una sfera.


Grazie per questo esempio Aiuta molto a risolvere alcune idee.
Myna,
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.