Erlauben Sie mir, ohne weit zu gehen, einfach eine Liste von Optionen aus meiner eigenen Funktion !kmini
(ein Makro für SPSS) zu kopieren und einzufügen, die sich in der Sammlung "Clustering" hier befindet .
Methode zum Erstellen oder Auswählen von anfänglichen Clusterzentren. Wählen:
- RGC - Schwerpunkte zufälliger Teilproben . Die Daten werden zufällig durch nicht
k
überlappende, nach Mitgliedschaft, Gruppen und Schwerpunkten dieser Gruppen aufgeteilt, die als anfängliche Zentren festgelegt werden. Somit werden Zentren berechnet und nicht aus den vorhandenen Datensatzfällen ausgewählt. Diese Methode liefert Zentren, die nahe beieinander und am allgemeinen Schwerpunkt der Daten liegen.
- RP - zufällig ausgewählte Punkte .
k
Verschiedene Fälle der Daten werden zufällig ausgewählt, um die Anfangszentren zu sein.
- RUNFP -
am weitesten entfernte Punkte (laufende Auswahl). Erste
k
Fälle werden als Zentren genommen, und dann werden während des Durchlaufs der restlichen Fälle des Datensatzes schrittweise Ersetzungen zwischen den Zentren vorgenommen. Ziel der Ersetzungen ist es, an den k
am weitesten voneinander entfernten Endpunkten im variablen Raum zu erhalten. Diese Punkte (Fälle), die periphere Positionen in der Datenwolke einnehmen, sind die erzeugten Anfangszentren. (Die Methode wird standardmäßig in der SPSS-k-means-Prozedur verwendet QUICK CLUSTER
. Siehe Details in SPSS-Algorithmen. Siehe auch hier beschrieben. )
- SIMFP - am weitesten entfernte Punkte (einfache Auswahl). Das erste Zentrum wird als zufälliger Fall aus dem Datensatz ausgewählt. Das 2. Zentrum wird als der Fall ausgewählt, der maximal von diesem Zentrum entfernt ist. Das 3. Zentrum wird als der Fall ausgewählt, der maximal von diesen beiden entfernt ist (vom nächsten der beiden), - und so weiter.
- KMPP - zufällige am weitesten entfernte Punkte oder k-means ++. Das erste Zentrum wird als zufälliger Fall aus dem Datensatz ausgewählt. Das 2. Zentrum wird ebenfalls zufällig ausgewählt, aber die Wahrscheinlichkeit der Auswahl eines Falls ist proportional zum Abstand (quadratisch euklidisch) von diesem zu diesem (1.) Zentrum. Das 3. Zentrum wird ebenfalls zufällig ausgewählt, wobei die Auswahlwahrscheinlichkeit proportional zum Abstand eines Falls zum nächsten dieser beiden Zentren ist, - und so weiter. (Arthur, D., Vassilvitskii, S. K-means ++: die Vorteile einer sorgfältigen Aussaat. // Vorträge des 18. jährlichen ACM-SIAM-Symposiums über diskrete Algorithmen. 2007., 1027–1035.)
- GREP - Gruppenrepräsentative Punkte . Die Methodenidee - als Zentren sammeln
k
die repräsentativsten "stellvertretenden" Fälle. Das 1. Zentrum wird als der Fall angesehen, der dem allgemeinen Daten-Cenroid am nächsten liegt. Dann werden die übrigen Zentren aus den Datenpunkten so ausgewählt, dass jeder Punkt dahingehend berücksichtigt wird, ob er näher (und wie viel in Bezug auf den euklidischen Quadratabstand) an einer Reihe von Punkten liegt als jeder der letzteren ist zu einem der bereits bestehenden Zentren. Das heißt, jeder Punkt wird als Kandidat geprüft, um eine Gruppe von Punkten zu repräsentieren, die von den bereits gesammelten Zentren noch nicht gut genug repräsentiert wird. Der in dieser Hinsicht repräsentativste Punkt wird als nächstes Zentrum ausgewählt. (Kaufman, L. Rousseeuw, PJ Gruppen in Daten finden: eine Einführung in die Clusteranalyse., 1990. Siehe auch: Pena, JM et al. Ein empirischer Vergleich von vier Initialisierungsmethoden für den K-Mittelwert-Algorithmus // Pattern Recognition Lett. 20 (10), 1999,
- [Es gibt auch eine nette Methode, die ich noch nicht im Makro implementiert habe, um
k
Punkte zu generieren, die zufällig zufällig, aber "weniger zufällig als zufällig" sind, irgendwo zwischen zufällig und Gier; siehe mögliche theoretische Grundlage für diese Methode]
- Eine weitere Methode besteht darin, hierarchisches Clustering nach der Ward-Methode durchzuführen. Sie können dies für eine Teilstichprobe von Objekten tun, wenn die Stichprobe zu groß ist. Dann sind
k
Mittelwerte der von ihm erzeugten Cluster die anfänglichen Keime für das k-Mittel-Verfahren. Ward's ist anderen hierarchischen Clustering-Methoden vorzuziehen, da es das gemeinsame Ziel mit k-means teilt .
Die Methoden RGC, RP, SIMFP, KMPP hängen von Zufallszahlen ab und können ihr Ergebnis von Lauf zu Lauf ändern.
Die Methode RUNFP kann abhängig von der Reihenfolge der Groß- und Kleinschreibung im Datensatz sein. Die Methode GREP ist dies jedoch nicht (abgesehen von Fällen, in denen die Daten viele identische Fälle und Bindungen enthalten). Die Methode GREP kann möglicherweise nicht alle k
Zentren erfassen , wenn k
die Anzahl der Fälle in den Daten ( n
) relativ groß ist , insbesondere wenn k>n/2
. [Das Makro informiert, wenn die Daten es dieser Methode nicht erlauben, k
Zentren zu sammeln ]. Die Methode GREP ist die langsamste, sie berechnet [in meiner Implementierung] eine Matrix von Abständen zwischen allen Fällen, daher ist sie nicht geeignet, wenn es viele Zehntausende oder Millionen von Fällen gibt. Sie können dies jedoch anhand einer zufälligen Teilstichprobe der Daten tun.
Ich diskutiere derzeit nicht, welche Methode unter welchen Umständen "besser" ist, da ich die Frage bisher nicht ausführlich simuliert habe. Meine sehr vorläufigen und oberflächlichen Eindrücke waren, dass GREP besonders wertvoll ist (aber teuer ist) und dass, wenn Sie eine wirklich billige Methode wollen, die immer noch wettbewerbsfähig genug ist, nur zufällige k Punkte, RP, eine anständige Wahl sind.
Als ich das letzte Mal vor fast 20 Jahren eine umfassende Literaturrecherche dazu durchführte, waren die beiden wichtigsten Empfehlungen:
In Big-Data-Anwendungen funktioniert die Methode von Ward nicht so gut, obwohl sie auf eine Teilstichprobe angewendet werden kann.
Ich habe einige Simulationen durchgeführt, die ich nie veröffentlicht habe, und festgestellt, dass:
Die wichtigste Erkenntnis, die ich daraus gezogen habe, ist, dass der SPSS-Algorithmus überraschend gut ist, aber wenn man über die Ressourcen verfügt, sind mehr als 1000 zufällige Startpunkte der richtige Weg.
quelle
Mit der ttnphns-Nomenklatur habe ich RGC, RP und KMPP getestet auf:
Ich empfehle RGC nicht, da die resultierenden Zentren sehr nahe beieinander liegen: Der Mittelwert vieler Punkte liegt nahe am globalen Mittelwert (Gesetz der großen Zahlen). Dies kann die Konvergenz erheblich verlangsamen: Es dauert einige Zeit, bis sich die Cluster individualisieren.
RP ist im Allgemeinen gut und würde als erste einfache Wahl empfehlen.
KMPP ist sehr beliebt und funktioniert in kleinen Dimensionen sehr gut: Im Vergleich zu RP verringert es tendenziell die Wahrscheinlichkeit, in einem lokalen Minimum zu enden.
Als ich jedoch an großen Datensätzen arbeitete (1 Million Punkte, die eine Fülle von Wörtern aus Textdokumenten mit großer Dimension sind), übertraf RP KMPP geringfügig in dem Sinne, dass es mit etwas weniger Iterationen endete. Das hat mich überrascht. Bei großen Datenmengen / hohen Dimensionen ist die Konvergenz zum globalen Minimum nicht möglich. Sie messen die Qualität als "wie gut das lokale Minimum ist" = "wie klein die endgültige SOD ist". Beide Methoden hatten die gleiche Qualität.
Beachten Sie, dass es wichtig ist, eine randomisierte Methode zu verwenden, wenn Sie Replikationen verwenden möchten, um die Qualität zu verbessern.
quelle