Respuestas:
k-medoid se basa en medoides (que es un punto que pertenece al conjunto de datos) calculando minimizando la distancia absoluta entre los puntos y el centroide seleccionado, en lugar de minimizar la distancia al cuadrado. Como resultado, es más robusto al ruido y valores atípicos que k-means.
Aquí hay un ejemplo simple y artificial con 2 grupos (ignore los colores invertidos)
Como puede ver, los medoides y centroides (de k-medias) son ligeramente diferentes en cada grupo. También debe tener en cuenta que cada vez que ejecuta estos algoritmos, debido a los puntos de partida aleatorios y la naturaleza del algoritmo de minimización, obtendrá resultados ligeramente diferentes. Aquí hay otra carrera:
Y aquí está el código:
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
método (un ejemplo de implementación de K-medoides en R) utilizado anteriormente, por defecto utiliza la distancia euclidiana como una métrica. K-means siempre usa el cuadrado Euclidiano. Los medoides en K-medoides se eligen de los elementos del grupo, no de un espacio de puntos completo como centroides en K-medias.
Un medoide tiene que ser miembro del conjunto, un centroide no.
Los centroides generalmente se discuten en el contexto de objetos sólidos y continuos, pero no hay razón para creer que la extensión a muestras discretas requeriría que el centroide sea un miembro del conjunto original.
Los algoritmos k-means y k-medoids están dividiendo el conjunto de datos en k grupos. Además, ambos intentan minimizar la distancia entre los puntos del mismo grupo y un punto particular que es el centro de ese grupo. A diferencia del algoritmo k-means, el algoritmo k-medoids elige puntos como centros que pertenecen al dastaset. La implementación más común del algoritmo de agrupamiento de k-medoides es el algoritmo de Particionamiento alrededor de Medoides (PAM). El algoritmo PAM utiliza una búsqueda codiciosa que puede no encontrar la solución óptima global. Los medoides son más robustos a los valores atípicos que los centroides, pero necesitan más cómputo para datos de alta dimensión.