Ich habe die kmeans
Anweisung von R verwendet, um den k-means-Algorithmus für Andersons Iris-Datensatz durchzuführen. Ich habe eine Frage zu einigen Parametern, die ich erhalten habe. Die Ergebnisse sind:
Cluster means:
Sepal.Length Sepal.Width Petal.Length Petal.Width
1 5.006000 3.428000 1.462000 0.246000
Wofür steht in diesem Fall "Cluster"? Es ist der Mittelwert der Entfernungen aller Objekte innerhalb des Clusters?
Auch im letzten Teil habe ich:
Within cluster sum of squares by cluster:
[1] 15.15100 39.82097 23.87947
(between_SS / total_SS = 88.4 %)
Dieser Wert von 88,4%, was könnte seine Interpretation sein?
Antworten:
Wenn Sie die Summe der quadratischen Abstände jedes Datenpunkts zum globalen Stichprobenmittelwert berechnen, erhalten Sie
total_SS
. Wenn Sie anstelle eines globalen Stichprobenmittelwerts (oder 'Schwerpunkts') einen pro Gruppe berechnen (hier gibt es drei Gruppen) und dann die Summe der quadratischen Abstände dieser drei Mittelwerte zum globalen Mittelwert berechnen, erhalten Siebetween_SS
. (Wenn Sie dies berechnen, multiplizieren Sie den quadratischen Abstand jedes Mittelwerts mit dem globalen Mittelwert mit der Anzahl der Datenpunkte, die er darstellt.)Wenn es kein erkennbares Clustering-Muster gäbe, würden die drei Mittelwerte der drei Gruppen nahe am globalen Mittelwert liegen und
between_SS
einen sehr kleinen Bruchteil von ausmachentotal_SS
. Hier ist das Gegenteil der Fall, was zeigt, dass sich Datenpunkte je nach Art im vierdimensionalen Raum recht ordentlich zusammenballen.quelle
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:
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 .
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:
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.
quelle