Clustering mit K-Means und EM: Wie hängen sie zusammen?


50

Ich habe Algorithmen zum Clustering von Daten (unbeaufsichtigtes Lernen) untersucht: EM und k-means. Ich lese ständig Folgendes:

k-means ist eine Variante von EM mit der Annahme, dass Cluster sphärisch sind.

Kann jemand den obigen Satz erklären? Ich verstehe nicht, was sphärisch bedeutet und wie kmeans und EM zusammenhängen, da der eine probabilistische Zuordnung vornimmt und der andere deterministisch.

In welcher Situation ist es außerdem besser, k-means Clustering zu verwenden? oder verwenden Sie EM-Clustering?


Sphärisch bedeutet identische Varianz-Kovarianz-Matrizen für jeden Cluster (unter der Annahme einer Gaußschen Verteilung), was auch als modellbasiertes Clustering bezeichnet wird. Welchen Ansatz halten Sie für deterministisch?
chl

2
Es wäre schön, wenn Sie die Quelle des Zitats angeben.
TTNPHNS

1
k-means "nimmt an", dass die Cluster mehr oder weniger runde und feste (nicht stark verlängerte oder gekrümmte oder nur ringförmige) Wolken im euklidischen Raum sind. Sie müssen nicht aus normalen Distributionen stammen. EM erfordert dies (oder zumindest eine bestimmte Art der Verbreitung, die bekannt sein muss).
TTNPHNS

Antworten:


38

K bedeutet

  1. Ordnen Sie einem bestimmten Cluster bei der Konvergenz einen Datenpunkt zu.
  2. Bei der Optimierung wird die L2-Norm verwendet (Min {Theta} L2-Normpunkt und seine Schwerpunktkoordinaten).

EM

  1. Soft weist Clustern einen Punkt zu (so dass die Wahrscheinlichkeit gegeben ist, dass ein Punkt zu einem Schwerpunkt gehört).
  2. Es hängt nicht von der L2-Norm ab, sondern von der Erwartung, dh der Wahrscheinlichkeit, dass der Punkt zu einem bestimmten Cluster gehört. Dies macht K-Mittel zu sphärischen Clustern vorgespannt.

57

Es gibt keinen "k-means Algorithmus". Es gibt den MacQueens-Algorithmus für k-means, den Lloyd / Forgy-Algorithmus für k-means, die Hartigan-Wong-Methode, ...

Es gibt auch nicht "den" EM-Algorithmus. Es ist ein allgemeines Schema, bei dem wiederholt die Wahrscheinlichkeiten erwartet und dann das Modell maximiert werden. Die beliebteste Variante von EM ist auch als "Gaussian Mixture Modeling" (GMM) bekannt, bei dem es sich um multivariate Gauß-Verteilungen handelt.

Man kann den Lloyds-Algorithmus als aus zwei Schritten bestehend betrachten:

  • der E-Schritt, bei dem jedes Objekt dem Schwerpunkt zugewiesen wird, sodass es dem wahrscheinlichsten Cluster zugewiesen wird.
  • der M-Schritt, in dem das Modell (= Zentroide) neu berechnet wird (= Optimierung der kleinsten Quadrate).

Wenn Sie diese beiden Schritte wie von Lloyd wiederholen, wird dies effektiv zu einer Instanz des allgemeinen EM-Schemas. Es unterscheidet sich von GMM, dass:

  • Es verwendet eine harte Partitionierung, dh jedes Objekt ist genau einem Cluster zugeordnet
  • Bei dem Modell handelt es sich nur um Zentroide, es werden keine Kovarianzen oder Varianzen berücksichtigt

kk

10
Viele Bücher gleichen k-means mit lloyds Algorithmus, aber er nannte es nie k-means. MacQueen führte den Namen k-means ein. Entschuldigung: Viele Bücher verwenden hier eine falsche Bezeichnung . k-means ist das Problem, lloyd nur eine beliebte Lösung. Tatsächlich wird R standardmäßig Hartigan-Wong ausführen, um kmeans zu lösen.
Anony-Mousse

4

Hier ist ein Beispiel, wenn ich dies in mplus mache, das hilfreich sein und umfassendere Antworten ergänzen könnte:

Angenommen, ich habe 3 stetige Variablen und möchte anhand dieser Cluster identifizieren. Ich würde ein Mischungsmodell (genauer gesagt ein latentes Profilmodell) unter der Annahme einer bedingten Unabhängigkeit (die beobachteten Variablen sind unabhängig, wenn die Clustermitgliedschaft gegeben ist) wie folgt angeben:

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

Ich habe dieses Modell mehrere Male ausgeführt, wobei jedes Mal eine andere Anzahl von Clustern angegeben wurde, und die Lösung ausgewählt, die mir am besten gefällt (dies zu tun, ist ein umfangreiches Thema für sich).

Um dann k-means auszuführen, würde ich folgendes Modell angeben:

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

Die Klassenzugehörigkeit basiert also nur auf dem Abstand zu den Mitteln der beobachteten Variablen. Wie in anderen Antworten angegeben, haben die Abweichungen nichts damit zu tun.

Das Schöne an mplus ist, dass es sich um verschachtelte Modelle handelt und Sie direkt testen können, ob die Einschränkungen zu einer schlechteren Anpassung führen oder nicht. Außerdem können Sie Unterschiede in der Klassifizierung zwischen den beiden Methoden vergleichen. Beide Modelle können übrigens mithilfe eines EM-Algorithmus geschätzt werden, sodass sich der Unterschied mehr auf das Modell bezieht.

Wenn Sie im 3D-Raum denken, bedeutet die 3, dass Sie einen Punkt bilden ... und die Varianzen die drei Achsen eines Ellipsoids, die durch diesen Punkt verlaufen. Wenn alle drei Varianzen gleich sind, erhalten Sie eine Kugel.


Vielen Dank für dieses Beispiel. Es hilft sehr dabei, einige Ideen zu korrigieren.
Myna
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.