Відповіді:
k-medoid базується на медоїдах (що є точкою, що належить до набору даних), обчислюючи мінімізацію абсолютної відстані між точками та вибраним центроїдом, а не мінімізацією квадратної відстані. Як результат, він більш надійний до шуму та перешкод, ніж k-засобів.
Ось простий надуманий приклад з двома кластерами (ігноруйте зворотні кольори)
Як бачимо, медоїди та центроїди (k-засобів) дещо відрізняються у кожній групі. Також слід зауважити, що кожного разу, коли ви запускаєте ці алгоритми, через випадкові стартові точки та характер алгоритму мінімізації ви отримаєте дещо інші результати. Ось ще один запуск:
І ось код:
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
метод (приклад реалізації K-медоїдів у R), використаний вище, за замовчуванням використовує евклідову відстань як метрику. K-засоби завжди використовують квадрат Евкліда. Медоїди в K-медоїдах вибираються з елементів кластера, а не з цілого простору точок, як центроїди в K-значенні.
Медоїд повинен бути членом набору, центроїд - ні.
Центроїди, як правило, обговорюються в контексті твердих суцільних об'єктів, але немає причин вважати, що розширення дискретних зразків вимагає, щоб центроїд був членом оригінального набору.
Як алгоритми k-засобів, так і k-medoids розбивають набір даних на k групи. Крім того, вони намагаються мінімізувати відстань між точками одного кластера та певною точкою, яка є центром цього кластера. На відміну від алгоритму k-засобів, алгоритм k-медоїдів вибирає точки як центри, що належать до дастасу. Найпоширенішою реалізацією алгоритму кластеризації k-медоїдів є алгоритм розділення навколо медоїдів (PAM). Алгоритм PAM використовує жадібний пошук, який може не знайти оптимального глобального рішення. Медоїди є більш надійними для людей, що виживають, ніж центроїди, але їм потрібно більше обчислень для даних високих розмірів.