Rozumiem różnicę między k medoidą a k oznacza średnią. Ale czy możesz podać mi przykład z małym zestawem danych, w którym wyjście medoidy k jest inne niż k oznacza wyjście.
Rozumiem różnicę między k medoidą a k oznacza średnią. Ale czy możesz podać mi przykład z małym zestawem danych, w którym wyjście medoidy k jest inne niż k oznacza wyjście.
Odpowiedzi:
k-medoid jest oparty na medoidach (które są punktami należącymi do zbioru danych), obliczając przez minimalizowanie bezwzględnej odległości między punktami a wybranym środkiem ciężkości, zamiast minimalizować odległość kwadratową. W rezultacie jest bardziej odporny na hałas i wartości odstające niż k-średnie.
Oto prosty, wymyślony przykład z 2 klastrami (zignoruj odwrócone kolory)
Jak widać, medoidy i centroidy (średnich k) różnią się nieznacznie w każdej grupie. Należy również pamiętać, że za każdym razem, gdy uruchamiasz te algorytmy, ze względu na losowe punkty początkowe i naturę algorytmu minimalizacji, otrzymasz nieco inne wyniki. Oto kolejny przebieg:
A oto kod:
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
zastosowana powyżej metoda (przykładowa implementacja K-medoidów w R) domyślnie używa odległości euklidesowej jako miary. K-oznacza zawsze używa kwadratowego euklidesa. Medoidy w K-medoidach są wybierane z elementów skupienia, a nie z przestrzeni całych punktów jako centroidy w środkach K.
Medoid musi być członkiem zestawu, a centroid nie.
Centroidy są zwykle omawiane w kontekście stałych, ciągłych obiektów, ale nie ma powodu sądzić, że rozszerzenie dyskretnych próbek wymagałoby, aby centroid był członkiem oryginalnego zestawu.
Zarówno algorytmy k-średnich, jak i k-medoidów dzielą zestaw danych na k grup. Oboje starają się również zminimalizować odległość między punktami tego samego gromady a określonym punktem, który jest środkiem tego gromady. W przeciwieństwie do algorytmu k-średnich, algorytm k-medoidów wybiera punkty jako centra należące do dastaset. Najczęstszą implementacją algorytmu klastrowania k-medoidów jest algorytm partycjonowania wokół medoidów (PAM). Algorytm PAM wykorzystuje chciwe wyszukiwanie, które może nie znaleźć globalnego optymalnego rozwiązania. Medoidy są bardziej odporne na wartości odstające niż centroidy, ale wymagają więcej obliczeń dla danych o dużych wymiarach.