🎯 Grupowanie K-średnich — algorytm Lloyda
Grupuj punkty 2D metodą k-średnich: przypisz każdy do najbliższego centroidu, przesuń centroidy do średniej, powtórz. Obserwuj, jak komórki Voronoi się ustalają, a inercja spada, oraz zobacz inicjalizację k-means++.
O grupowaniu K-średnich
Ta symulacja pokazuje algorytm k-średnich (algorytm Lloyda) grupujący punkty 2D w k klastrów. W każdej iteracji każdy punkt jest przypisywany do najbliższego centroidu, a następnie centroidy są przesuwane do średniej pozycji przypisanych im punktów — proces powtarzany aż do zbieżności.
Kolorowe komórki Woronoja pokazują bieżący podział przestrzeni między centroidami, a wskaźnik inercji (suma kwadratów odległości wewnątrz klastrów) spada z każdą iteracją. Symulacja obsługuje też inicjalizację k-means++, która wybiera lepsze punkty startowe niż czysto losowe losowanie.
Często zadawane pytania
Jak krok po kroku działa algorytm k-średnich?
Zainicjuj k centroidów (losowo lub metodą k-means++). Przypisz każdy punkt danych do najbliższego centroidu na podstawie odległości euklidesowej. Przelicz każdy centroid jako średnią pozycję wszystkich przypisanych do niego punktów. Powtarzaj przypisywanie i aktualizację, aż żaden punkt nie zmieni klastra między iteracjami (zbieżność). Uruchom algorytm kilka razy z różnymi inicjalizacjami i zachowaj wynik o najniższej wartości WCSS.
Jak wybrać liczbę klastrów k?
Metoda łokcia przedstawia na wykresie WCSS w zależności od wartości k; optymalne k znajduje się w punkcie zgięcia (łokciu), gdzie dodawanie kolejnych klastrów daje coraz mniejszą poprawę. Współczynnik silhouette mierzy, jak dobrze każdy punkt pasuje do swojego klastra w porównaniu z sąsiednimi klastrami (zakres od -1 do +1; im wyżej, tym lepiej). Wiedza dziedzinowa często stanowi najlepszą wskazówkę — na przykład sprzedawca detaliczny segmentujący klientów może z góry wiedzieć, że chce uzyskać 5 person klienckich.
Jakie są ograniczenia grupowania k-średnich?
K-średnie zakładają sferyczne klastry o podobnym rozmiarze i gęstości i radzą sobie słabo z klastrami wydłużonymi, nieregularnymi lub zagnieżdżonymi. Metoda jest wrażliwa na wartości odstające (które mogą odciągać centroidy od głównej masy danych) oraz na wybór k. Wykorzystuje odległość euklidesową, przez co nie nadaje się do danych kategorycznych bez wstępnego przetworzenia. Algorytmy takie jak DBSCAN, mieszaniny rozkładów Gaussa czy grupowanie hierarchiczne rozwiązują część tych ograniczeń.
Czym jest inicjalizacja k-means++?
K-means++ poprawia wybór początkowych centroidów, aby uniknąć nieudanych konfiguracji startowych. Pierwszy centroid jest wybierany losowo. Każdy kolejny centroid jest wybierany z prawdopodobieństwem proporcjonalnym do kwadratu odległości od najbliższego już istniejącego centroidu, co zapewnia, że centroidy startują dobrze rozdzielone i rozproszone po danych. Zazwyczaj daje to lepszą ostateczną jakość klastrów i szybszą zbieżność niż czysto losowa inicjalizacja.
Jak k-średnie są wykorzystywane do kompresji obrazów?
K-średnie zastosowane do kompresji obrazu traktują kolor RGB każdego piksela jako punkt danych w przestrzeni 3D i grupują wszystkie piksele w k grup kolorystycznych. Każdy piksel jest następnie zastępowany kolorem centroidu swojego klastra, redukując obraz do palety k kolorów. Przy k=16 24-bitowy obraz kolorowy jest przybliżany przy użyciu zaledwie 4 bitów na piksel plus tablicy przeglądowej 16 kolorów — znacząca kompresja przy umiarkowanej utracie jakości.
O tej symulacji
Ta symulacja pokazuje, jak algorytm Lloyda grupuje punkty na płaszczyźnie 2D: przypisanie do najbliższego centroidu i przeliczenie centroidów na przemian, aż układ się ustabilizuje.
🔬 Co pokazuje
Interaktywna wizualizacja grupowania k-średnich w 2D. Komórki Woronoja pokazują, do którego centroidu należy każdy punkt płaszczyzny, a spadający wskaźnik inercji obrazuje zbieżność algorytmu z każdą iteracją.
🎮 Jak korzystać
Ustaw liczbę klastrów k suwakiem (od 2 do 8), kliknij, aby dodać własne punkty, i uruchom algorytm krok po kroku lub w trybie ciągłym. Porównaj losową inicjalizację centroidów z inicjalizacją k-means++.
💡 Czy wiesz, że?
Algorytm k-średnich, znany też jako algorytm Lloyda, pochodzi z lat 50. XX wieku i mimo swojej prostoty pozostaje jednym z najczęściej używanych algorytmów grupowania — stanowi podstawę takich zastosowań jak kompresja obrazów czy segmentacja klientów.