K-means ist kein entfernungsbasierter Clustering-Algorithmus .
K-Mittel sucht nach der minimalen Summe von Quadraten Zuordnung , dh es ist nicht normalisierte Varianz (= minimiert total_SS
) durch Punkte auf Clusterzentren zuweisen.
Damit k-means konvergieren kann, benötigen Sie zwei Bedingungen:
- Durch das Neuzuweisen von Punkten wird die Summe der Quadrate reduziert
- Durch Neuberechnung des Mittelwerts wird die Summe der Quadrate reduziert
Da es nur eine begrenzte Anzahl von Kombinationen gibt, können Sie diesen Wert nicht unendlich reduzieren, und der Algorithmus muss irgendwann zu einem lokalen Optimum konvergieren .
∑ich( xich- μj i)2j. Mathematisch gesehen entspricht die Zuweisung durch die kleinste Quadratsumme der Zuweisung durch geschlossene quadratische euklidische Entfernung, was (wenn Sie die CPU-Zyklen für die Berechnung verschwenden sqrt
) einer minimalen euklidischen Entfernungszuweisung entspricht. Die Intuition , jeden Punkt dem nächsten Mittelwert zuzuordnen, ist also richtig, aber nicht das, was das Optimierungsproblem bewirkt.
between_SS
Wahrscheinlich ist dies die gewichtete Summe der Quadrate zwischen zwei Mitteln, um zu messen, wie gut Clusterzentren getrennt sind (Hinweis: Clusterzentren vergleichen nicht die tatsächlichen Cluster - technisch gesehen berührt die Cluster-Voronoi-Zelle die Nachbar-Cluster-Voronoi-Zelle).
Beachten Sie, dass Sie mit k-means die naive Clustering-Qualität verbessern können, indem Sie k erhöhen. Die hier gemessene Qualität ist ein mathematischer Wert, der möglicherweise nicht den Anforderungen des Benutzers entspricht. Iris ist eigentlich ein ziemlich gutes Beispiel, bei dem k-means oft zu weniger als zufriedenstellenden Ergebnissen konvergiert, selbst angesichts der externen Information, dass es genau 3 Cluster geben sollte.
Wenn Sie eine entfernungsbasierte Variation von k-Mitteln wünschen , schauen Sie sich k-Medoide an . Hier wird die Konvergenz sichergestellt, indem der Mittelwert durch das Medoid ersetzt wird:
- Jedes Objekt wird dem nächsten Cluster zugeordnet (durch ein beliebiges Abstandsmaß).
- Das Cluster-Center wird auf das zentralste Objekt des Clusters aktualisiert, dh auf den kleinsten durchschnittlichen Abstand zu allen anderen.
In jedem Schritt verringert sich die Summe der Entfernungen ; Es gibt eine endliche Anzahl von Kombinationen, daher muss der Algorithmus bei einem lokalen Minimum enden.