Приклад, коли вихід алгоритму k-medoid відрізняється від виходу алгоритму k-засобів


11

Я розумію різницю між k medoid і k означає. Але чи можете ви надати мені приклад із невеликим набором даних, де вихід k медоїда відрізняється від k означає вихід.

Відповіді:


14

k-medoid базується на медоїдах (що є точкою, що належить до набору даних), обчислюючи мінімізацію абсолютної відстані між точками та вибраним центроїдом, а не мінімізацією квадратної відстані. Як результат, він більш надійний до шуму та перешкод, ніж k-засобів.

Ось простий надуманий приклад з двома кластерами (ігноруйте зворотні кольори) Kmeans vs. Kmedoids

Як бачимо, медоїди та центроїди (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)


1
@frc, якщо ви вважаєте, що чиясь відповідь невірна, не редагуйте її, щоб виправити її. Ви можете залишити коментар (як тільки ваш репортаж буде> 50), & / або знизити заявку. Найкращий варіант - опублікувати власну відповідь, коли ви вважаєте правильну інформацію (див. Тут ).
gung - Відновити Моніку

2
K-медоїди мінімізують довільно вибрану відстань (не обов'язково абсолютну відстань) між кластеризованими елементами та медоїдом. Власне, pamметод (приклад реалізації K-медоїдів у R), використаний вище, за замовчуванням використовує евклідову відстань як метрику. K-засоби завжди використовують квадрат Евкліда. Медоїди в K-медоїдах вибираються з елементів кластера, а не з цілого простору точок, як центроїди в K-значенні.
hannafrc

1
У мене недостатньо репутації для коментарів, але хотів зазначити, що в сюжетах відповіді Іланмана є помилка: він запустив весь код, таким чином, що дані були змінені. Якщо ви запускаєте лише кластерну частину коду, кластери є досить стабільними, стабільнішими для PAM, ніж для k-засобів, до речі.
Жульєн Коломб

6

Медоїд повинен бути членом набору, центроїд - ні.

Центроїди, як правило, обговорюються в контексті твердих суцільних об'єктів, але немає причин вважати, що розширення дискретних зразків вимагає, щоб центроїд був членом оригінального набору.


1

Як алгоритми k-засобів, так і k-medoids розбивають набір даних на k групи. Крім того, вони намагаються мінімізувати відстань між точками одного кластера та певною точкою, яка є центром цього кластера. На відміну від алгоритму k-засобів, алгоритм k-медоїдів вибирає точки як центри, що належать до дастасу. Найпоширенішою реалізацією алгоритму кластеризації k-медоїдів є алгоритм розділення навколо медоїдів (PAM). Алгоритм PAM використовує жадібний пошук, який може не знайти оптимального глобального рішення. Медоїди є більш надійними для людей, що виживають, ніж центроїди, але їм потрібно більше обчислень для даних високих розмірів.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.