Średnie K nie jest algorytmem grupowania opartym na odległości .
K-oznacza szuka minimalnej sumy przydziału kwadratów , tzn. Minimalizuje nienormalizowaną wariancję (= total_SS
), przypisując punkty do centrów skupień.
Aby k-średnie były zbieżne, potrzebujesz dwóch warunków:
- zmiana przypisania punktów zmniejsza sumę kwadratów
- ponowne obliczenie średniej zmniejsza sumę kwadratów
Ponieważ istnieje tylko skończona liczba kombinacji, nie można nieskończenie zmniejszać tę wartość, a algorytm musi w pewnym momencie zbiegać się do lokalnego optimum.
∑ja( xja- μj i)2)jot. Matematycznie przypisanie przez najmniejszą sumę kwadratów jest równe przypisaniu przez zamknięcie do kwadratu odległości euklidesowej, która (jeśli marnujesz cykle procesora na obliczenia sqrt
) równa się minimalnemu przypisaniu odległości euklidesowej. Zatem intuicja przypisywania każdego punktu do najbliższej średniej jest prawidłowa, ale nie to, co robi problem optymalizacji.
between_SS
prawdopodobnie jest to ważona suma kwadratów między dwoma środkami, aby zmierzyć, jak dobrze centra klastrów są oddzielone (uwaga: centra klastrów, nie porównuje faktycznych skupisk - technicznie rzecz biorąc, komórka klastrowa Voronoi dotyka sąsiednich klastrów komórka Voronoi).
Zauważ, że dzięki k-oznacza możesz poprawić jakość naiwnego skupiania poprzez zwiększenie k. Mierzona tutaj jakość jest wartością matematyczną, która może nie spełniać wymagań użytkowników. Tęczówka jest w rzeczywistości dość dobrym przykładem, w którym k-średnie często są zbieżne z mniej niż zadowalającymi wynikami, nawet biorąc pod uwagę zewnętrzną informację, że powinny istnieć dokładnie 3 klastry.
Jeśli chcesz odmianę k-średnich opartą na odległości , spójrz na k-medoidy . Tutaj konwergencja jest zapewniona przez zastąpienie średniej medoidą:
- Każdy obiekt jest przypisany do najbliższego gromady (dowolną miarą odległości)
- Centrum klastra jest aktualizowane do najbardziej centralnego obiektu klastra, tj. Z najmniejszą średnią odległością od wszystkich innych.
Z każdym krokiem zmniejsza się suma odległości ; istnieje skończona liczba kombinacji, dlatego algorytm musi kończyć się z pewnym lokalnym minimum.