Ich lese Bishop über den EM-Algorithmus für GMM und die Beziehung zwischen GMM und k-means.
In diesem Buch heißt es, dass k-means eine schwer zuzuordnende Version von GMM ist. Ich frage mich, ob dies bedeutet, dass ich k-means nicht verwenden kann (oder zumindest nicht verwenden kann), wenn die Daten, die ich zu gruppieren versuche, nicht Gaußsch sind. Was ist zum Beispiel, wenn es sich bei den Daten um Bilder handgeschriebener Ziffern handelt, die aus 8 × 8 Pixeln mit dem Wert 0 oder 1 bestehen (und davon ausgehen, dass sie unabhängig sind, sodass es sich um eine Mischung aus Bernoulli handeln sollte)?
Ich bin ein bisschen verwirrt und werde alle Gedanken zu schätzen wissen.
clustering
data-mining
k-means
gaussian-mixture
eddie.xie
quelle
quelle
Antworten:
In typischen EM-GMM-Situationen werden Varianz und Kovarianz berücksichtigt. Dies wird nicht mit k-means gemacht.
Tatsächlich ist eine der populären Heuristiken für k-means (Anmerkung: k-means ist ein Problem, kein Algorithmus) - der Lloyd-Algorithmus - im Wesentlichen ein EM-Algorithmus, der ein Schwerpunktmodell (ohne Varianz) und harte Zuweisungen verwendet.
Wenn Sie k-means style clustering (dh Varianzminimierung) durchführen, tun Sie dies
Es wird allgemein gesagt, dass k-means kugelförmige Cluster annimmt. Es wird auch allgemein anerkannt, dass k-Mittelwert-Cluster Voronoi-Zellen sind, dh nicht kugelförmig. Beide sind richtig und beide sind falsch. Erstens sind die Cluster keine vollständigen Voronoi-Zellen, sondern nur die bekannten Objekte darin. Es ist nicht erforderlich, den Totraum zwischen den Clustern als Teil eines Clusters zu betrachten, da ein Objekt dort das Algorithmusergebnis beeinflussen würde. Aber es ist auch nicht viel besser, es "sphärisch" zu nennen, nur weil der euklidische Abstand sphärisch ist. K-means kümmert sich nicht um die euklidische Distanz. Alles, was es ist, ist eine Heuristik, um die Abweichungen zu minimieren . Und genau das sollten Sie als k-means bezeichnen: Varianzminimierung.
quelle
minimize squared euclidean distance
oderminimize the variances
? Es muss Wörter wie "Summe von" oder "gepoolt" geben, weil wir 2+ Cluster haben, nicht wahr?coincidentally minimize Euclidean distance, because the sqrt function is monotone
genau genommen nicht korrekt.minimize squared Euclidean distance, because WCSS variance contribution = squared euclidean distance
bedeutet ? Wollen Sie damit sagen „squared d's zwischen den Objekten in Cluster minimieren erhalten , weil WCSS Abweichungen minimieren bekommen“, oder einfach „WCSS Abweichungen minimieren erhalten, die - die Abweichungen - sind euklidische Entfernungen von der Natur“? Oder noch etwas?GMM verwendet überlappende Hügel, die sich bis ins Unendliche erstrecken (aber praktisch nur für 3 Sigma zählen). Jeder Punkt erhält die Wahrscheinlichkeitswerte aller Hügel. Außerdem sind die Hügel "eiförmig" [okay, sie sind symmetrische Ellipsen ] und können unter Verwendung der vollständigen Kovarianzmatrix geneigt werden .
K-means ordnet einem einzelnen Cluster einen Punkt fest zu , sodass die Punktzahlen der anderen Cluster-Zentren ignoriert werden (implizit auf Null zurückgesetzt / egal). Die Hügel sind kugelförmige Seifenblasen. Wenn sich zwei Seifenblasen berühren, wird die Grenze zwischen ihnen zu einer flachen (Hyper-) Ebene. So wie beim Blasen eines Schaums aus vielen Seifenblasen die Blasen im Inneren nicht flach, sondern kastenförmig sind, so bilden die Grenzen zwischen vielen (Hyper-) Kugeln tatsächlich eine Voronoi-Partition des Raums. In 2D sieht dies in der Regel vage aus wie eine hexagonale Packung, denken Sie an einen Bienenstock (obwohl natürlich nicht garantiert ist, dass Voronoi-Zellen Sechsecke sind). Ein K-bedeutet Hügel ist rund und wird nicht gekippt, daher hat er weniger Darstellungskraft. Aber es ist viel schneller zu berechnen, besonders in den höheren Dimensionen.
Da K-means die euklidische Distanzmetrik verwendet, wird davon ausgegangen, dass die Dimensionen vergleichbar und gleich schwer sind. Wenn also die Dimension X Einheiten von Meilen pro Stunde hat, die von 0 bis 80 variieren, und die Dimension Y Einheiten von Pfund hat, die von 0 bis 400 variieren, und Sie Kreise in diesen XY-Raum einpassen, dann eine Dimension (und ihre Ausbreitung) wird mächtiger sein als die andere Dimension und wird die Ergebnisse überschatten. Deshalb ist es üblich die Daten bei der Verwendung von K-Mitteln normalisieren .
Sowohl GMM als auch K-means modellieren die Daten, indem sie die angegebenen Werte bestmöglich angleichen. GMM passt auf gekippte Eier und K-bedeutet passt auf ungekippte Kugeln. Die zugrunde liegenden Daten könnten jedoch beliebig geformt sein, es könnte sich um eine Spirale oder ein Picasso-Gemälde handeln, und jeder Algorithmus würde weiterhin ausgeführt und seine beste Aufnahme machen. Ob das resultierende Modell den tatsächlichen Daten ähnelt, hängt vom zugrunde liegenden physischen Prozess ab, der die Daten generiert. (Beispielsweise sind Zeitverzögerungsmessungen einseitig; passt ein Gaußscher Wert? Vielleicht.)
Daher wird Ihr 8x8-Binärbild im ersten Hyperquadranten als 64-dimensionaler Hyperwürfel interpretiert. Die Algorithmen verwenden dann geometrische Analogien, um Cluster zu finden. Entfernung mit K-Mitteln zeigt sich als euklidische Entfernung im 64-dimensionalen Raum. Es ist eine Möglichkeit, es zu tun.
quelle