03 · Nadzorowane · 4 min czytania · aktualizacja
Czym różni się uczenie nadzorowane od nienadzorowanego?
W skrócie
W uczeniu nadzorowanym model dostaje przykłady z poprawnymi odpowiedziami, w nienadzorowanym tylko surowe dane i sam szuka w nich struktury.
Co to jest
Uczenie nadzorowane (supervised learning) to uczenie na przykładach z etykietami: każdy przypadek ma cechy X i znaną poprawną odpowiedź y, a model uczy się przewidywać y dla nowych X. Uczenie nienadzorowane (unsupervised learning) dostaje same cechy, bez odpowiedzi, i szuka w nich struktury: grup, kierunków największej zmienności, nietypowych punktów.
Nazwa pochodzi od „nauczyciela”, który podaje prawidłowe odpowiedzi. W nadzorowanym wariancie nauczyciel jest — to etykiety. Jeśli y jest liczbą (cena, ciśnienie), mówimy o regresji; jeśli kategorią (spam/nie-spam, gatunek), o klasyfikacji. W nienadzorowanym nauczyciela nie ma; typowe zadania to grupowanie (klasteryzacja), redukcja wymiaru i wykrywanie anomalii.
Intuicja: ktoś daje ci sto zdjęć grzybów podpisanych „jadalny/trujący” — to uczenie nadzorowane. Ktoś daje ci sto zdjęć bez podpisów i prosi „pogrupuj podobne” — to uczenie nienadzorowane. W drugim przypadku możesz wydzielić grupy według koloru kapelusza, choć jadalność zależy od czegoś zupełnie innego.
Mechanizm — dlaczego tak działa
W uczeniu nadzorowanym cel jest jasno zdefiniowany: istnieje funkcja straty porównująca przewidywanie z etykietą (np. błąd kwadratowy albo entropia krzyżowa). Model minimalizuje ją na danych treningowych, a jakość sprawdza się na odłożonym zbiorze testowym. Właśnie dzięki etykietom da się powiedzieć wprost, czy model jest dobry.
W uczeniu nienadzorowanym takiej miary prawdy nie ma. Algorytm optymalizuje kryterium, które sam sobie zakłada: k-średnich minimalizuje sumę kwadratów odległości od środków grup, PCA maksymalizuje wariancję rzutu. Wynik zależy więc od tych założeń — od wyboru odległości, skali cech, liczby grup. Dwie różne, równie „poprawne” grupowania tych samych danych mogą odpowiadać zupełnie różnym pytaniom.
Dlatego ocena modeli nienadzorowanych jest trudniejsza. Stosuje się miary wewnętrzne (np. współczynnik sylwetki — jak zwarte i rozdzielone są grupy) albo, gdy etykiety istnieją, ale nie były użyte do treningu, miary zgodności, np. skorygowany indeks Randa (ARI): 1 oznacza grupowanie identyczne z etykietami, około 0 — zgodność przypadkową.
Granica nie jest ostra. Uczenie półnadzorowane łączy nieliczne etykiety z dużą ilością danych bez etykiet. Uczenie samonadzorowane, na którym trenuje się duże modele językowe, tworzy etykiety z samych danych (np. „przewidź następne słowo”), więc technicznie jest nadzorowane, choć nikt niczego ręcznie nie oznaczał. Osobną rodziną jest uczenie ze wzmocnieniem, gdzie zamiast etykiet jest nagroda za działanie.
Na przykładzie
Palmer Penguins: po usunięciu dwóch niepełnych rekordów zostaje 342 pingwiny trzech gatunków (151 Adelie, 123 Gentoo, 68 Chinstrap) opisane czterema pomiarami: długość i głębokość dzioba, długość płetwy, masa ciała. Wersja nadzorowana: klasyfikator k najbliższych sąsiadów (k = 5, cechy standaryzowane), trenowany na 256 pingwinach i testowany na 86 (podział warstwowy, random_state=0), rozpoznaje gatunek w 98,8% przypadków.
Wersja nienadzorowana: k-średnich z k = 3 na tych samych standaryzowanych pomiarach, bez wiedzy o gatunkach. Wszystkie 123 Gentoo trafiają do jednej grupy, ale 24 ze 151 Adelie lądują w grupie z Chinstrapami (ARI = 0,79). Algorytm znalazł prawdziwą strukturę, ale nie dokładnie tę, o którą nam chodziło. Bez standaryzacji wynik spada do ARI = 0,33, bo masa ciała w gramach (odchylenie ok. 800) zagłusza pomiary dzioba w milimetrach. A przy k = 2 grupowanie idealnie oddziela Gentoo od reszty — to najwyraźniejszy podział w danych, choć gatunki są trzy.
Dane: Palmer Penguins (pingwiny z Antarktydy)
W praktyce
- Nadzorowane w scikit-learn:
fit(X, y)ipredict(X); nienadzorowane:fit(X)ipredict(X)albofit_predict(X)lubtransform(X)— brakyjest widoczny w samym API. - Grupowanie:
KMeans,DBSCAN,AgglomerativeClustering,GaussianMixture; redukcja wymiaru:PCA,TSNE; anomalie:IsolationForest. - Przed metodami opartymi na odległości standaryzuj cechy (
StandardScaler) — inaczej wynik zależy od jednostek. - Ocena grupowania:
silhouette_scorebez etykiet,adjusted_rand_scoregdy masz etykiety do porównania. - Częsty wzorzec: najpierw nienadzorowane (PCA, klastry jako nowe cechy), potem nadzorowany model na wzbogaconych danych.
Najczęstsze pytania
- Które podejście jest lepsze?
- Żadne — odpowiadają na inne pytania. Jeśli masz etykiety i chcesz przewidywać konkretną wielkość, użyj uczenia nadzorowanego. Jeśli etykiet nie ma albo chcesz zrozumieć strukturę danych, sięgnij po nienadzorowane.
- Czy grupowanie może zastąpić klasyfikację, gdy nie mam etykiet?
- Tylko jeśli struktura, którą znajdzie algorytm, pokrywa się z tą, która cię interesuje — a nie ma takiej gwarancji. Przykład pingwinów pokazuje, że nawet przy wyraźnych gatunkach część osobników trafia do „cudzej” grupy. Kilkaset ręcznie oznaczonych przykładów zwykle daje więcej niż najlepsze grupowanie.
- Do której kategorii należą duże modele językowe?
- Ich wstępny trening to uczenie samonadzorowane: etykietą jest kolejne słowo tekstu, więc formalnie to zadanie nadzorowane, ale bez ręcznego oznaczania. Późniejsze dostrajanie korzysta z danych oznaczonych przez ludzi i z uczenia ze wzmocnieniem.
Źródła
- James G., Witten D., Hastie T., Tibshirani R. „An Introduction to Statistical Learning”, 2nd ed., 2021, rozdz. 2.1 i 12.
- Hastie T., Tibshirani R., Friedman J. „The Elements of Statistical Learning”, 2nd ed., 2009, rozdz. 2 i 14.
- Murphy K. „Probabilistic Machine Learning: An Introduction”, MIT Press, 2022, rozdz. 1.
- Dokumentacja scikit-learn, „Supervised learning” i „Unsupervised learning”: https://scikit-learn.org/stable/supervised_learning.html, https://scikit-learn.org/stable/unsupervised_learning.html