Uczenie nadzorowane (supervised learning) to najpowszechniejszy paradygmat uczenia maszynowego. Jego istota jest prosta: model uczy się na przykładach z poprawnymi odpowiedziami (etykietami), a następnie przewiduje odpowiedzi dla nowych, niewidzianych danych. To jak nauka z kluczem odpowiedzi — model widzi pytania i poprawne odpowiedzi, ucząc się wzorców, które pozwolą odpowiadać na nowe pytania.
Jak działa uczenie nadzorowane?
Dane treningowe
Dane w uczeniu nadzorowanym mają postać par (X, y):
- X — cechy (features) — dane wejściowe opisujące obserwację
- y — etykieta (label/target) — poprawna odpowiedź
Przykład — przewidywanie ceny mieszkania:
- X = [powierzchnia: 65m², piętro: 3, dzielnica: Mokotów, rok_budowy: 2015]
- y = 580 000 zł
Przykład — klasyfikacja emaili:
- X = [treść maila, nadawca, temat, liczba linków]
- y = „spam" lub „nie-spam"
Proces uczenia
- Zbierz dane — zbiór etykietowanych przykładów (im więcej, tym lepiej)
- Podziel dane — na treningowe (70–80%), walidacyjne (10–15%) i testowe (10–15%)
- Wybierz model — algorytm uczenia (regresja liniowa, drzewo decyzyjne, sieć neuronowa...)
- Trenuj model — model uczy się wzorców w danych treningowych, minimalizując funkcję straty
- Waliduj — sprawdź jakość na danych walidacyjnych, dostrój hiperparametry
- Testuj — oceń ostateczną jakość na danych testowych (nigdy wcześniej niewidzianych)
- Wdróż — model przewiduje etykiety dla nowych danych
Klasyfikacja — przypisanie do kategorii
Klasyfikacja to zadanie przewidywania kategorii (klasy dyskretnej) dla nowych obserwacji.
Klasyfikacja binarna
Dwie klasy: tak/nie, spam/nie-spam, zdrowy/chory, 0/1.
Przykłady:
- Detekcja fraudów — czy transakcja jest oszukańcza?
- Diagnostyka medyczna — czy zdjęcie RTG wskazuje na zapalenie płuc?
- Moderacja treści — czy komentarz narusza regulamin?
Klasyfikacja wieloklasowa
Więcej niż dwie klasy, mutualnie wykluczające się.
Przykłady:
- Rozpoznawanie cyfr (MNIST) — klasy: 0, 1, 2, ..., 9
- Klasyfikacja gatunków zwierząt — klasy: kot, pies, ptak, ryba
- Analiza sentymentu — klasy: pozytywny, negatywny, neutralny
Klasyfikacja wieloetykietowa
Obserwacja może należeć do wielu klas jednocześnie.
Przykład: artykuł prasowy może być jednocześnie o polityce, ekonomii i technologii.
Popularne algorytmy klasyfikacji
Regresja logistyczna
Mimo nazwy „regresja" to algorytm klasyfikacyjny. Modeluje prawdopodobieństwo przynależności do klasy za pomocą funkcji sigmoid. Prosty, interpretowalny, szybki. Dobry baseline.
Wyjście: P(y=1|X) = σ(w·X + b), gdzie σ to funkcja aktywacji sigmoid.
Drzewa decyzyjne
Seria pytań binarnych tworzących strukturę drzewa: „Czy wiek > 30?", „Czy dochód > 5000?", itd. Każdy liść to predykcja. Interpretowalny, ale podatny na przeuczenie.
Random Forest
Zespół (ensemble) wielu drzew decyzyjnych trenowanych na losowych podzbiorach danych i cech. Wynik = głosowanie większościowe. Odporny na przeuczenie, silny out-of-the-box.
SVM (Support Vector Machine)
Szuka optymalnej hiperpłaszczyzny separującej klasy z maksymalnym marginesem. Z kernel trick obsługuje nieliniowe granice decyzyjne. Silny na małych zbiorach danych.
Sieci neuronowe
Wielowarstwowe perceptrony z nieliniowymi funkcjami aktywacji, uczone backpropagation. Najsilniejsze na dużych zbiorach danych, ale wymagają więcej danych i mocy obliczeniowej.
k-Nearest Neighbors (KNN)
Klasyfikuje nowy punkt na podstawie klas k najbliższych sąsiadów w przestrzeni cech. Prosty, bez treningu, ale wolny na dużych zbiorach.
Metryki klasyfikacji
| Metryka | Co mierzy | Kiedy ważna |
|---|---|---|
| Accuracy | % poprawnych predykcji | Zbalansowane klasy |
| Precision | Ile z predykcji „pozytywnych" jest poprawnych | Koszt fałszywego alarmu (spam) |
| Recall | Ile faktycznie pozytywnych wykryto | Koszt pominięcia (diagnostyka) |
| F1-score | Średnia harmoniczna precision i recall | Niezbalansowane klasy |
| AUC-ROC | Zdolność rozróżniania klas przy różnych progach | Ogólna jakość rankingu |
Macierz pomyłek (confusion matrix) — tabela 2×2 (lub n×n) pokazująca prawdziwie/fałszywie pozytywne i negatywne predykcje.
Regresja — przewidywanie wartości ciągłej
Regresja to zadanie przewidywania wartości liczbowej (ciągłej) dla nowych obserwacji.
Przykłady:
- Przewidywanie ceny mieszkania na podstawie cech
- Prognoza pogody — temperatura, opady
- Szacowanie czasu dostawy
- Predykcja przychodów firmy
Popularne algorytmy regresji
Regresja liniowa
Najprostszy model: y = w₁x₁ + w₂x₂ + ... + wₙxₙ + b. Szuka liniowej zależności między cechami a zmienną docelową. Minimalizuje MSE (Mean Squared Error).
Warianty:
- Ridge (L2) — dodaje karę za duże wagi, zapobiegając przeuczeniu
- Lasso (L1) — promuje rzadkość (wiele wag = 0), automatycznie selekcjonuje cechy
- Elastic Net — łączy L1 i L2
Regresja wielomianowa
Rozszerzenie regresji liniowej o cechy wielomianowe: x², x³, x₁·x₂. Modeluje nieliniowe zależności, ale ryzyko przeuczenia rośnie z rzędem wielomianu.
Drzewa decyzyjne / Random Forest / Gradient Boosting
Te same algorytmy co w klasyfikacji, ale z ciągłym wyjściem (średnia w liściu zamiast głosowania). Gradient Boosting (XGBoost, LightGBM, CatBoost) to najsilniejsze algorytmy na danych tabelarycznych — dominują konkursy Kaggle.
Sieci neuronowe
Regresja z siecią neuronową: warstwa wyjściowa z jednym neuronem bez funkcji aktywacji (liniowa). Najsilniejsze na dużych, złożonych zbiorach.
Metryki regresji
| Metryka | Wzór | Interpretacja | ||
|---|---|---|---|---|
| MSE | (1/n)Σ(y-ŷ)² | Średni kwadrat błędu (wrażliwy na outliers) | ||
| RMSE | √MSE | MSE w oryginalnej skali | ||
| MAE | (1/n)Σ | y-ŷ | Średni bezwzględny błąd (odporny na outliers) | |
| R² | 1 - SS_res/SS_tot | Ile % wariancji wyjaśnia model (1 = ideał) |
Przeuczenie i niedouczenie
Przeuczenie (Overfitting)
Model zbyt dobrze dopasowuje się do danych treningowych, „zapamiętując" szum zamiast uczyć się wzorców. Symptom: niski błąd treningowy, wysoki błąd testowy.
Rozwiązania:
- Więcej danych treningowych
- Regularyzacja (L1, L2, dropout)
- Prostszy model (mniej parametrów)
- Cross-validation
- Early stopping
Niedouczenie (Underfitting)
Model jest zbyt prosty, żeby uchwycić wzorce. Symptom: wysoki błąd zarówno treningowy, jak i testowy.
Rozwiązania:
- Bardziej złożony model
- Więcej cech (feature engineering)
- Dłuższy trening
- Zmniejszenie regularyzacji
Uczenie nadzorowane vs. nienadzorowane
| Aspekt | Nadzorowane | Nienadzorowane |
|---|---|---|
| Dane | Etykietowane (X, y) | Bez etykiet (X) |
| Cel | Predykcja etykiety | Odkrywanie struktury |
| Zadania | Klasyfikacja, regresja | Klasteryzacja, redukcja wymiarowości |
| Ewaluacja | Porównanie z etykietami | Metryki wewnętrzne (silhouette, inertia) |
| Przykłady | Spam detection, prognoza cen | Segmentacja klientów, anomalia detection |
Podsumowanie
Uczenie nadzorowane to koń roboczy uczenia maszynowego — od filtrów spamowych po diagnostykę medyczną. Klasyfikacja przypisuje kategorię, regresja przewiduje wartość liczbową. Wybór algorytmu zależy od typu danych, rozmiaru zbioru i wymagań interpretowalności. W praktyce: zacznij od prostego modelu (regresja logistyczna / liniowa), zmierz baseline, potem eksperymentuj z bardziej złożonymi podejściami (gradient boosting, sieci neuronowe). Metryki, walidacja krzyżowa i rozumienie przeuczenia/niedouczenia to klucze do budowania modeli, które działają w realnym świecie.