ML Atlas

05 · Bez nadzoru · 4 min czytania · Interaktywne · aktualizacja

Czym jest uczenie nienadzorowane i do czego służy?

W skrócie

Uczenie bez etykiet: algorytm sam szuka w danych grup, ukrytych kierunków i nietypowych punktów. Wynik zależy od kryterium i od tego, jak opiszesz dane.

Co to jest

Uczenie nienadzorowane (unsupervised learning) to dział uczenia maszynowego, w którym model dostaje same dane, bez etykiet, i ma znaleźć w nich strukturę: grupy podobnych obiektów, kilka ukrytych kierunków streszczających wiele kolumn albo punkty, które do niczego nie pasują. Nie ma „poprawnej odpowiedzi” do porównania — jest tylko kryterium, które algorytm optymalizuje.

Intuicja: dostajesz pudło zdjęć bez podpisów. Możesz je ułożyć w kupki (klasteryzacja), opisać każde dwiema liczbami, np. „jasne–ciemne” i „ludzie–krajobraz” (redukcja wymiaru), albo odłożyć na bok kilka zupełnie dziwnych (wykrywanie anomalii). Każdy z tych podziałów jest jakiś, ale nikt nie powie, który jest jedynie słuszny.

Trzy główne rodziny zadań to: klasteryzacja (k-średnich, hierarchiczna, DBSCAN, mieszaniny gaussowskie), redukcja wymiaru i wizualizacja (PCA, t-SNE, UMAP, autoenkodery) oraz estymacja gęstości i wykrywanie anomalii. Bliskim krewnym jest uczenie samonadzorowane, w którym etykiety wytwarza się z samych danych.

Mechanizm — dlaczego tak działa

W uczeniu nadzorowanym funkcja straty mówi wprost, co jest błędem: model przewidział 3, a było 5. W uczeniu nienadzorowanym tę definicję trzeba dopisać samemu. K-średnich minimalizuje sumę kwadratów odległości punktów od środków grup. PCA szuka kierunków o największej wariancji. Mieszanina gaussowska maksymalizuje wiarygodność danych przy założeniu, że powstały z kilku rozkładów normalnych. Struktura „odkryta” przez algorytm jest więc zawsze strukturą widzianą przez pryzmat jego kryterium.

Stąd najważniejsza właściwość: wynik zależy od reprezentacji danych. Odległość euklidesowa jest sumą po kolumnach, więc kolumna mierzona w gramach przegłosuje kolumnę w milimetrach. Wybór cech, ich skalowanie i miara podobieństwa to tutaj nie technikalia, tylko połowa modelu. Dwa rozsądne wybory mogą dać dwa różne, równie poprawne podziały.

Drugie źródło trudności to ocena. Bez etykiet nie ma dokładności. Używa się miar wewnętrznych — współczynnika sylwetki, inercji, BIC — które mierzą, jak zwarte i odseparowane są grupy. Ale to znowu tylko kryterium, a nie prawda o świecie. Kleinberg (2002) pokazał, że żadna metoda klasteryzacji nie spełnia jednocześnie trzech intuicyjnych aksjomatów: niezmienniczości względem skali, możliwości uzyskania dowolnego podziału i spójności. „Najlepszy podział” nie istnieje w oderwaniu od celu.

Dlaczego mimo to warto? Bo dane nieopisane są tanie i jest ich dużo, a etykiety są drogie. Struktura znaleziona bez nadzoru służy do eksploracji (co w ogóle jest w danych?), kompresji (13 kolumn zamienionych na 2), budowy cech dla późniejszego modelu nadzorowanego i do wychwytywania nietypowych przypadków. Współczesne modele językowe i wizyjne uczą się większości swojej wiedzy właśnie z danych bez ręcznych etykiet.

Na przykładzie

Weźmy pingwiny z Palmer Archipelago: 342 osobniki z kompletem czterech pomiarów (długość i głębokość dzioba, długość płetwy, masa ciała). Gatunek znamy, ale ukrywamy go przed algorytmem. K-średnich z k = 3 na surowych danych daje zgodność z gatunkami ARI = 0,33 (skorygowany indeks Randa: 0 to zgodność przypadkowa, 1 idealna). Powód: masa ciała ma odchylenie standardowe ok. 801 g, a głębokość dzioba ok. 2 mm, więc odległość to praktycznie sama masa. Po standaryzacji kolumn ARI rośnie do 0,79: wszystkie 123 pingwiny białobrewe (Gentoo) trafiają do jednej grupy, a 127 ze 151 pingwinów Adeli do drugiej.

Jeszcze ciekawsze jest to, co mówi miara wewnętrzna. Współczynnik sylwetki jest najwyższy dla k = 2 (0,53), a nie dla k = 3 (0,45). Geometrycznie pingwiny Adeli i maskowe (Chinstrap) częściowo się nakładają, więc najbardziej wyraźny podział to Gentoo kontra reszta. Biolog powie, że gatunki są trzy; dane powiedzą, że wyraźne grupy są dwie. Oba zdania są prawdziwe — odpowiadają na inne pytania.

Ta ilustracja działa w przeglądarce z włączonym JavaScriptem: k-średnich na pingwinach: suwak k i przyciski krokowe pokazują iteracje, inercję, sylwetkę i zgodność skupień z gatunkami.

Dane: Palmer Penguins (pingwiny z Antarktydy)

W praktyce

  • Zaczynaj od skalowania: StandardScaler przed k-średnich, PCA, DBSCAN i każdą metodą opartą na odległościach.
  • Klasteryzacja w scikit-learn: KMeans, AgglomerativeClustering, DBSCAN, GaussianMixture; redukcja wymiaru: PCA, TSNE; anomalie: IsolationForest, LocalOutlierFactor.
  • Liczbę grup wybieraj kilkoma sposobami naraz (silhouette_score, inercja, BIC) i sprawdzaj, czy podział ma sens merytoryczny.
  • Gdy część danych ma etykiety, porównaj z nimi wynik (adjusted_rand_score) — pamiętając, że etykiety to tylko jedna z możliwych struktur.
  • Sprawdzaj stabilność: inne ziarno losowe, podpróbka danych, inny zestaw cech. Struktura, która znika po drobnej zmianie, nie jest odkryciem.
  • Typowy błąd: traktowanie numerów klastrów jak klas („klaster 2 to chorzy”) bez sprawdzenia, co naprawdę różni grupy.

Najczęstsze pytania

Czym różni się uczenie nienadzorowane od nadzorowanego?
W nadzorowanym każdy przykład ma etykietę, model uczy się ją przewidywać, a jakość mierzy się na danych testowych. W nienadzorowanym etykiet nie ma, a model szuka struktury według kryterium, które wybrałeś. Dlatego ocena wyniku jest trudniejsza i mocniej zależy od celu.
Jak ocenić model bez etykiet?
Miarami wewnętrznymi (sylwetka, inercja, BIC), stabilnością przy zmianie danych i ziarna oraz użytecznością: czy podział pomaga w dalszej decyzji albo w kolejnym modelu. Jeśli część danych ma etykiety, można sprawdzić zgodność, np. indeksem ARI.
Czy uczenie nienadzorowane zastąpi etykietowanie danych?
Nie zastąpi, ale mocno je ogranicza. Reprezentacje wyuczone bez etykiet (samonadzorowanie, autoenkodery, PCA) sprawiają, że do właściwego zadania wystarcza dużo mniej opisanych przykładów — tym zajmuje się uczenie półnadzorowane.

Źródła

  • James G., Witten D., Hastie T., Tibshirani R., „An Introduction to Statistical Learning”, 2nd ed., Springer 2021, rozdz. 12 (Unsupervised Learning).
  • Hastie T., Tibshirani R., Friedman J., „The Elements of Statistical Learning”, 2nd ed., Springer 2009, rozdz. 14 (Unsupervised Learning).
  • Murphy K. P., „Probabilistic Machine Learning: An Introduction”, MIT Press 2022, rozdz. 20 (Dimensionality reduction) i 21 (Clustering).
  • Kleinberg J., „An Impossibility Theorem for Clustering”, Advances in Neural Information Processing Systems 15 (NIPS 2002).
  • Dokumentacja scikit-learn, „Unsupervised learning”: https://scikit-learn.org/stable/unsupervised_learning.html

Zobacz też