Antworten:
k-medoid basiert auf Medoiden (einem Punkt, der zum Datensatz gehört), die durch Minimieren des absoluten Abstands zwischen den Punkten und dem ausgewählten Schwerpunkt berechnet werden, anstatt den quadratischen Abstand zu minimieren. Infolgedessen ist es robuster gegenüber Rauschen und Ausreißern als k-means.
Hier ist ein einfaches, erfundenes Beispiel mit 2 Clustern (ignorieren Sie die umgekehrten Farben).
Wie Sie sehen können, unterscheiden sich die Medoide und Zentroide (von k-means) in jeder Gruppe geringfügig. Beachten Sie außerdem, dass Sie bei jedem Ausführen dieser Algorithmen aufgrund der zufälligen Startpunkte und der Art des Minimierungsalgorithmus leicht unterschiedliche Ergebnisse erhalten. Hier ist ein weiterer Lauf:
Und hier ist der Code:
library(cluster)
x <- rbind(matrix(rnorm(100, mean = 0.5, sd = 4.5), ncol = 2),
matrix(rnorm(100, mean = 0.5, sd = 0.1), ncol = 2))
colnames(x) <- c("x", "y")
# using 2 clusters because we know the data comes from two groups
cl <- kmeans(x, 2)
kclus <- pam(x,2)
par(mfrow=c(1,2))
plot(x, col = kclus$clustering, main="Kmedoids Cluster")
points(kclus$medoids, col = 1:3, pch = 10, cex = 4)
plot(x, col = cl$cluster, main="Kmeans Cluster")
points(cl$centers, col = 1:3, pch = 10, cex = 4)
pam
Methode (eine beispielhafte Implementierung von K-Medoiden in R) standardmäßig den euklidischen Abstand als Metrik. K-means verwendet immer den quadratischen Euklidischen. Die Medoide in K-Medoiden werden aus den Clusterelementen ausgewählt, nicht aus einem ganzen Punktraum als Schwerpunkte in K-Mitteln.
Ein Medoid muss Mitglied des Sets sein, ein Schwerpunkt nicht.
Zentroide werden normalerweise im Zusammenhang mit festen, kontinuierlichen Objekten diskutiert, aber es gibt keinen Grund zu der Annahme, dass für die Erweiterung auf diskrete Stichproben der Schwerpunkt ein Mitglied des ursprünglichen Satzes sein müsste.
Sowohl k-means- als auch k-medoids-Algorithmen teilen den Datensatz in k Gruppen auf. Außerdem versuchen beide, den Abstand zwischen Punkten desselben Clusters und einem bestimmten Punkt, der das Zentrum dieses Clusters darstellt, zu minimieren. Im Gegensatz zum k-means-Algorithmus wählt der k-medoids-Algorithmus Punkte als Zentren aus, die zum Dastaset gehören. Die häufigste Implementierung des Clustering-Algorithmus für k-Medoids ist der PAM-Algorithmus (Partitioning Around Medoids). Der PAM-Algorithmus verwendet eine gierige Suche, die möglicherweise nicht die globale optimale Lösung findet. Medoide sind gegenüber Ausreißern robuster als Zentroide, benötigen jedoch mehr Berechnungen für hochdimensionale Daten.