K-Means

Wprowadzenie

K-Means to jeden z najstarszych, najprostszych i najbardziej popularnych algorytmów klasteryzacji nienadzorowanej. Został zaproponowany w 1957 roku i do dziś pozostaje podstawowym narzędziem do grupowania danych w uczeniu maszynowym i analizie danych.

Jak działa algorytm K-Means?

  1. Inicjalizacja – wybierz losowo K centroidów (środków klastrów)
  2. Przypisanie – każdy punkt danych przypisz do najbliższego centroidu (zazwyczaj miarą euklidesową)
  3. Aktualizacja – przesuń każdy centroid do środka geometrycznego wszystkich przypisanych do niego punktów
  4. Powtarzanie – powtarzaj kroki 2 i 3 aż do osiągnięcia zbieżności (centroidy przestają się znacząco zmieniać)

Metryka odległości

Najczęściej używana jest odległość euklidesowa, ale algorytm można stosować z innymi metrykami (Manhattan, Cosine, Mahalanobis).

Zalety K-Means

  • Bardzo prosty i intuicyjny
  • Szybki – skaluje się dobrze na duże zbiory danych
  • Łatwy do zaimplementowania i interpretacji wyników
  • Gwarantuje zbieżność (choć niekoniecznie do globalnego minimum)

Ograniczenia i wady

  • Wymaga z góry zdefiniowania liczby klastrów K
  • Wrażliwy na inicjalizację centroidów (rozwiązanie: K-Means++)
  • Zakłada kuliste, podobnej wielkości klastry
  • Wrażliwy na wartości odstające (outliers)
  • Słabo radzi sobie z danymi o nieregularnych kształtach (np. półksiężyce)

Metody określania optymalnego K

  • Metoda łokcia (Elbow Method)
  • Współczynnik sylwetki (Silhouette Score)
  • Gap Statistic
  • Analiza wizualna z PCA/t-SNE/UMAP

Zastosowania

  • Segmentacja klientów (marketing)
  • Kompresja obrazów (redukcja palety kolorów)
  • Grupowanie dokumentów tekstowych
  • Analiza genomów i danych biologicznych
  • Wykrywanie anomalii
  • Preprocessing przed innymi algorytmami

Aktualny status (2026)

K-Means nadal pozostaje jednym z najczęściej używanych algorytmów klasteryzacji, szczególnie jako szybki baseline i w zastosowaniach produkcyjnych, gdzie prostota i szybkość są kluczowe. W praktyce najczęściej łączy się go z K-Means++ (lepsza inicjalizacja) oraz z redukcją wymiarowości (PCA, UMAP). Mimo pojawienia się bardziej zaawansowanych metod (DBSCAN, HDBSCAN, Gaussian Mixture Models), K-Means ze względu na prostotę i wydajność nie traci popularności.