Пример, в котором выходные данные алгоритма k-medoid отличаются от выходных данных алгоритма k-средних


11

Я понимаю разницу между K Medoid и K означает. Но можете ли вы привести пример с небольшим набором данных, в котором выходной сигнал k medoid отличается от выходного сигнала k означает?

Ответы:


14

k-medoid основан на medoids (который является точкой, которая принадлежит набору данных), вычисляемой путем минимизации абсолютного расстояния между точками и выбранным центроидом, а не минимизацией квадратного расстояния. В результате он более устойчив к шуму и выбросам, чем k-средних.

Вот простой надуманный пример с 2 кластерами (игнорируйте обратные цвета) Kmeans против 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-medoids минимизирует произвольно выбранное расстояние (не обязательно абсолютное расстояние) между кластерными элементами и medoid. На самом деле pamметод (пример реализации K-medoids в R), использованный выше, по умолчанию использует евклидово расстояние в качестве метрики. К-значит всегда использует квадрат Евклидова. Медоиды в K-medoids выбираются из элементов кластера, а не из целого пространства точек, как центроиды в K-средних.
Hannafrc

1
У меня недостаточно репутации, чтобы комментировать, но я хотел упомянуть, что в заговорах ответа Иланмана есть ошибка: он запустил весь код, такой, что данные были изменены. Если вы выполняете только часть кластеризации кода, кластеры довольно стабильны, более стабильны для PAM, чем для k-средних.
Жюльен Коломб

6

Медоид должен быть членом набора, а центроид - нет.

Центроиды обычно обсуждаются в контексте сплошных, непрерывных объектов, но нет оснований полагать, что расширение дискретных выборок потребовало бы, чтобы центроид был членом исходного набора.


1

Алгоритмы k-средних и k-медоидов разбивают набор данных на k групп. Кроме того, они оба пытаются минимизировать расстояние между точками одного кластера и конкретной точкой, которая является центром этого кластера. В отличие от алгоритма k-средних, алгоритм k-medoids выбирает точки в качестве центров, которые принадлежат набору данных. Наиболее распространенной реализацией алгоритма кластеризации k-medoids является алгоритм Partitioning Around Medoids (PAM). Алгоритм PAM использует жадный поиск, который может не найти глобального оптимального решения. Медоиды более устойчивы к выбросам, чем центроиды, но им нужно больше вычислений для данных больших размеров.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.