답변:
k- 메도 이드는 제곱 거리를 최소화하는 대신 점과 선택한 중심 사이의 절대 거리를 최소화하여 계산하는 메도 이드 (데이터 세트에 속하는 점)를 기반으로합니다. 결과적으로 k- 평균보다 노이즈 및 이상치에 더 강합니다.
여기에 2 개의 군집이있는 단순하고 고안된 예가 있습니다 (반전 된 색상은 무시).
보시다시피, 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
위에서 사용 된 방법 (R에서 K-medoids의 구현 예)은 기본적으로 유클리드 거리를 메트릭으로 사용합니다. K- 평균은 항상 제곱 유클리드를 사용합니다. K- 메도 이드의 메도 이드는 전체 포인트 공간이 아닌 K-means의 중심으로 클러스터 요소에서 선택됩니다.
k- 평균 및 k- 메도 이드 알고리즘 모두 데이터 세트를 k 그룹으로 나눕니다. 또한 그들은 동일한 클러스터의 포인트와 해당 클러스터의 중심 인 특정 포인트 사이의 거리를 최소화하려고합니다. k-means 알고리즘과 달리 k-medoids 알고리즘은 점을 dastaset에 속하는 중심으로 선택합니다. k-medoids 클러스터링 알고리즘의 가장 일반적인 구현은 PAM (Partitioning Around Medoids) 알고리즘입니다. PAM 알고리즘은 탐욕스러운 검색을 사용하여 글로벌 최적 솔루션을 찾지 못할 수 있습니다. 메도 이드는 중심보다 특이 치에 더 강하지 만 높은 차원의 데이터에 대해서는 더 많은 계산이 필요합니다.