Unterschied zwischen Standard- und sphärischen k-Means-Algorithmen


28

Ich würde gerne verstehen, was der Hauptunterschied in der Implementierung zwischen Standard- und sphärischen K-Mittel-Clustering-Algorithmen ist.

In jedem Schritt berechnet k-means die Abstände zwischen Elementvektoren und Cluster-Schwerpunkten und ordnet das Dokument diesem Cluster zu, dessen Schwerpunkt der nächste ist. Dann werden alle Zentroide neu berechnet.

Im sphärischen k-Mittel sind alle Vektoren normalisiert, und das Abstandsmaß ist die Kosinusunterschiedlichkeit.

Ist das alles oder gibt es noch etwas anderes?

Antworten:


23

Die Frage ist:

Was ist der Unterschied zwischen klassischen k-Mitteln und sphärischen k-Mitteln?

Klassisches K-bedeutet:

In klassischen k-Mitteln versuchen wir, einen euklidischen Abstand zwischen dem Clusterzentrum und den Mitgliedern des Clusters zu minimieren. Die Intuition dahinter ist, dass der radiale Abstand vom Clusterzentrum zum Elementstandort für alle Elemente dieses Clusters "gleich" oder "ähnlich" sein sollte.

Der Algorithmus ist:

  • Festlegen der Anzahl der Cluster (auch Clusteranzahl genannt)
  • Initialisierung durch zufällige Zuweisung von Punkten im Raum zu Cluster-Indizes
  • Wiederholen, bis sie zusammenlaufen
    • Suchen Sie für jeden Punkt den nächsten Cluster und weisen Sie dem Cluster einen Punkt zu
    • Ermitteln Sie für jeden Cluster den Mittelwert der Mitgliederpunkte und den Mittelwert des Update Centers
    • Der Fehler ist die Norm der Entfernung von Clustern

Kugelförmiges K-bedeutet:

Bei sphärischen k-Mitteln besteht die Idee darin, den Mittelpunkt jedes Clusters so festzulegen, dass der Winkel zwischen den Komponenten sowohl gleichmäßig als auch minimal wird. Die Intuition ist wie das Betrachten von Sternen - die Punkte sollten einen gleichmäßigen Abstand voneinander haben. Dieser Abstand ist einfacher als "Cosinus-Ähnlichkeit" zu quantifizieren, bedeutet jedoch, dass es keine "Milchstraße" -Galaxien gibt, die große helle Bereiche über dem Himmel der Daten bilden. (Ja, ich versuche in diesem Teil der Beschreibung mit Oma zu sprechen .)

Weitere technische Version:

Denken Sie an Vektoren, die Objekte, die Sie als Pfeile mit Ausrichtung und fester Länge darstellen. Es kann überall übersetzt werden und derselbe Vektor sein. ref

Bildbeschreibung hier eingeben

Die Orientierung des Punktes im Raum (sein Winkel von einer Referenzlinie) kann unter Verwendung der linearen Algebra, insbesondere des Punktproduktes, berechnet werden.

Wenn wir alle Daten so verschieben, dass sich ihr Ende am selben Punkt befindet, können wir "Vektoren" nach ihrem Winkel vergleichen und ähnliche Daten in einem einzigen Cluster gruppieren.

Bildbeschreibung hier eingeben

Zur Verdeutlichung sind die Längen der Vektoren skaliert, so dass sie leichter mit dem "Augapfel" verglichen werden können.

Bildbeschreibung hier eingeben

Man könnte es sich als eine Konstellation vorstellen. Die Sterne in einem einzelnen Cluster sind in gewisser Weise nahe beieinander. Dies sind meine Augapfel als Sternbilder.

Bildbeschreibung hier eingeben

Der Wert des allgemeinen Ansatzes besteht darin, dass wir Vektoren konstruieren können, die ansonsten keine geometrische Dimension haben, wie bei der tf-idf-Methode, bei der die Vektoren Worthäufigkeiten in Dokumenten sind. Zwei hinzugefügte "und" Wörter entsprechen nicht einem "das". Wörter sind nicht fortlaufend und nicht numerisch. Sie sind im geometrischen Sinne nicht physisch, aber wir können sie geometrisch erfinden und dann geometrische Methoden anwenden, um sie zu handhaben. Sphärische k-Mittel können verwendet werden, um basierend auf Wörtern Cluster zu bilden.

Die (2d zufälligen, kontinuierlichen) Daten waren also:

[x1y1x2y2GrOup0-0,8-0.2013-0,7316B-0,80,1-0,95240,3639EIN0,20,30,2061-0,1434C0,80,10,47870,153B-0,70,2-0,72760,3825EIN0.90.90,7480,6793C]

Ein paar Punkte:

  • Sie projizieren auf eine Einheitskugel, um Unterschiede in der Dokumentlänge zu berücksichtigen.

Lassen Sie uns einen tatsächlichen Prozess durcharbeiten und sehen, wie (schlecht) mein "Augenzwinkern" war.

Das Verfahren ist:

  1. (implizit im Problem) Verbinde Vektoren-Schwänze am Ursprung
  2. Projizieren auf eine Einheitskugel (um Unterschiede in der Dokumentlänge zu berücksichtigen)
  3. Verwenden Sie Clustering, um die " Cosinus-Unähnlichkeit " zu minimieren.

J=ichd(xich,pc(ich))
wobei
d(x,p)=1-cOs(x,p)=x,pxp

(weitere Änderungen folgen in Kürze)

Links:

  1. http://epub.wu.ac.at/4000/1/paper.pdf
  2. http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.111.8125&rep=rep1&type=pdf
  3. http://www.cs.gsu.edu/~wkim/index_files/papers/refinehd.pdf
  4. https://www.jstatsoft.org/article/view/v050i10
  5. http://www.mathworks.com/matlabcentral/fileexchange/32987-the-spherical-k-meanss-algorithm
  6. https://ocw.mit.edu/courses/sloan-school-of-management/15-097-prediction-machine-learning-and-statistics-spring-2012/projects/MIT15_097S12_proj1.pdf

In Textdateien denke ich, dass die Funktion "diff", die Zeichen ausrichtet oder Änderungen mit Gewichten anzeigt, eine nützliche Vorverarbeitung für "nahe beieinander liegende" Texte sein kann, um das sinnvolle Clustering zu verbessern.
EngrStudent - Reinstate Monica

Ich erhalte "Zugang verboten" unter dem Link in # 1 ( sci.utah.edu/~weiliu/research/clustering_fmri/… )
David Doria

@ David - ich auch. Immer in Bewegung ist das ... Internet? Einen Moment bitte.
EngrStudent - Wiedereinsetzung von Monica

1
Nach einigem Zögern habe ich beschlossen, diese Antwort derzeit abzustimmen. Es ist nicht nur zu "Oma" Erklärung, es ist ungenau. radial distance from the cluster-center to the element location should "have sameness" or "be similar" for all elements of that clusterklingt einfach falsch oder stumpf. In both uniform and minimal the angle between components"Komponenten" ist nicht definiert. Ich hoffe, dass Sie die potenziell gute Antwort verbessern können, wenn Sie sie etwas strenger und ausführlicher ausführen.
TTNPHNS
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.