Strona głównaArtykułyUczenie maszynowe

Algorytmy uczenia nadzorowanego

Praktyczny przegląd algorytmów uczenia nadzorowanego, od regresji liniowej do metod ensemblowych, z poradą kiedy używać każdy z nich.

mysimulator teamZaktualizowano — czerwiec 2026≈ 5 min czytania▶ Otwórz symulację

Wprowadzenie do uczenia nadzorowanego

Uczenie nadzorowane jest gronowym elementem uczenia maszynowego, w którym algorytmy uczą się z etykietowanych danych treningowych, aby dokonywać prognozy dla nieobserwowanej danych. W uczeniu nadzorowanym każdy przykład treningowy składa się z pary wejściowe-wyjściowa, gdzie algorytm naucza się funkcji przekształcenia od wejść do wyjść. Ten paradigma pozwala komputerom na nauczenie się skomplikowanych wzorców i relacji, które byłyby trudne do zaszyfrowania ręcznie.

Nazwa „nadmierzane” pochodzi stąd, że proces uczenia jest przewodniczony przykładami etykietowanymi — podobnie jak nauczyciel nadzorujący naukę ucznia. Algorytm obserwuje wiele par wejściowe-wyjściowa i naucza się generalizować z tych przykładów, co pozwala mu dokonywać dokładnych prognozy dla nowych, nieobserwowanych wejść.

Typowy proces uczenia nadzorowanego obejmuje kilka kluczowych kroków:

Zbierz zestaw danych etykietowanych z cechami wejściowymi (X) i docelowymi wyjściami (y). Upewnij się, że dane są odczuwalne, różnorodne i reprezentatywne dla dziedziny problemu.

Czyszczenie danych, obsługa wartości brakujących, kodowanie zmiennych kategorycznych, normalizacja/standardyzacja cech. Podzielić na zestawy treningowe, walidacyjne i testowe.

Wybierz odpowiedni algorytm w zależności od typu problemu (klasyfikacja vs regresja), cech danych oraz wymagania dotyczące interpretowalności.

Trening modelu na danych treningowych poprzez minimalizację funkcji straty. Użyj zestawu walidacyjnego do regulacji hiperparametrów i zapobiegania nadadapowaniu się.

Oceń wydajność modelu na zestawie testowym za pomocą odpowiednich metryk (precyzja, czułość, F1, MSE, R² itp.).

Wdrożenie modelu do produkcji dla dokonywania prognozy dla nowych, nieobserwowanych danych. Monitorowanie wydajności i retraining w regularnych okresach.

Rodzaje Problemów uczenia nadzorowanego

Klasyczna jest zadanie klasyfikacji, polegające na przewidzianiu dyskretnych kategorii lub etykiet. Wyjście to etykieta klasy z ograniczonego zbioru możliwych klas. Zadania klasyfikacyjne są powszechne w aplikacjach uczenia maszynowego:

Znane algorytmy klasyfikacji obejmują regresję logistyczną, drzewa decyzyjne, lasy losowe, maszyny wektorów podręcznych (SVM), Bayes naiwny i sieci neuronowe. Każdy z nich ma różne zalety i jest odpowiedni do różnych cech problemu.

Metryki klasyfikacji: Metryki oceny dla klasyfikacji to:

Zadania regresji obejmują przewidzianie ciągłych wartości numerycznych. W przeciwieństwie do klasyfikacji, gdzie wyjście jest dyskretną kategorią, regresja przewiduje liczby rzeczywiste:

Regresja stosowana jest w aplikacjach takich jak prognoza ceny, prognoza popytu, prognoza temperatury i ocena ryzyka. Popularne algorytmy regresji to regresja liniowa, regresja wielomianowa, regresja ridge, regresja lasso oraz drzewa decyzyjne regresji.

Metryki regresji: Metryki oceny dla regresji to:

Regresja liniowa

Prosta regresja liniowa modeluje zależność między pojedynczym zmiennym wejściowym (X) a ciągłą zmienną wyjściową (Y) za pomocą równania liniowego: Y = β₀ + β₁X + ε, gdzie β₀ to punkt przecięcia się prostej z osią Y, β₁ to nachylenie prostej, a ε reprezentuje błąd.

Cel polega na znalezieniu najlepiej dopasowanej prostej, która minimalizuje sumę kwadratów różnic między przewidzianymi i rzeczywistymi wartościami. To zwykle dokonywane jest za pomocą metody najmniejszych kwadratów, która znajduje współczynniki minimalizujące sumę kwadratów błędu.

Niewspółmiernie prosta regresja liniowa jest potężna dlatego, że:

Regresja wielokrotnej liniowej rozszerza prostą regresję liniową do obsługi wielu zmiennych wejściowych: Y = β₀ + β₁X₁ + β₂X₂ + ... + βₙXₙ + ε. To pozwala modelować zależności między wieloma przewidywaczami a zmiennej docelowej.

Podstawowe założenia to:

Techniki regularizacji pomagają zapobiegać nadadapowaniu dodając do funkcji kosztu terminy kary:

Regresja logistyczna

Nadpisany nazwą, regresja logistyczna jest algorytmem klasyfikacji, a nie regresji. Modeluje prawdopodobieństwo, że wystąpienie należy do konkretnego klasy za pomocą funkcji logistycznej (sigmoidalnej), która mapuje dowolne liczbę rzeczywistą na wartość między 0 a 1.

Funkcja logistyczna: P(Y=1|X) = 1 / (1 + e^(-z)), gdzie z = β₀ + β₁X₁ + ... + βₙXₙ. Gwarantuje to, że prawdopodobieństwa są zawsze między 0 a 1, co pozwala je interpretować jako prawdopodobieństwa klas.

Kluczowe zalety regresji logistycznej:

Regresja logistyczna może być rozszerzona na klasyfikację wieloklasową przy użyciu technik takich jak jeden przeciwko reszcie (OvR) lub wieloklasowa regresja logistyczna.

Drzewa decyzyjne

Drzewa decyzyjne są mocnymi, interpretowalnymi algorytmami, które podążając za serią zasad if-else nauczonych z danych, przewidują wyniki. Są strukturyzowane w postaci odwróconej drzewa, z:

Drzewa decyzyjne są budowane przez rekurencyjne dzielenie danych na podgrupy oparte na cechach, które najlepiej oddzielają klasy lub zmniejszają wariancję. Algorytm:

Lasy losowe

Lasy losowe rozwiązują problem nadadapatowania drzew decyzyjnych poprzez kombinowanie wielu drzew. To metoda ensembles, która trenuje wiele drzew decyzyjnych na losowych podzbiorach danych i cech, a następnie średnie ich prognozy.

Algorytm lasów losowych:

Kluczowe parametry hiperparametryczne obejmują:

Lasy losowe oferują:

Gradient Boosting

Gradient boosting jest inną techniką zgrupowawczą, która tworzy modele sekwencyjnie, z każdym nowym modeliem korekcyjnym błędy poprzednich modeli. W przeciwieństwie do lasów losowych, które trenują drzewa w paralelu, gradient boosting trenuje drzewa sekwencyjnie.

Algorytm:

Popularne implementacje obejmują:

Gradient boosting często osiąga najlepsze wyniki w konkursach na dane strukturyzowane i jest szeroko stosowany w branży.

Maszyny wektorów wsparcia (SVM)

Maszyny wektorów wsparcia są mocnymi klasyfikatorami, które znajdują idealną granicę (hiperplasztwno) oddzielającą klasę z maksymalnym marginesem. Margine to odległość między hiperplasztwnem a najbliższymi punktami danych (wektorami wsparcia) z każdej klasy.

Maszyny wektorów wsparcia mogą używać różnych funkcji jądra do obsługi danych nieliniowych:

Przydatności SVM:

Ograniczenia SVM:

Naive Bayes

Algorytm Naive Bayes jest klasyfikatorem prawdopodobieństw opartym na twierdzeniu Bayesa z przyjętym założeniem "naive" niezależności cech. Działa on efektywnie, mimo tego uproszczenia.

Oblicza on prawdopodobieństwo każdego klasy pod warunkiem podanych cech i wybiera klasę o najwyższej wartości tego prawdopodobieństwa. Korzysta z twierdzenia Bayesa: P(Klasa|Cechy) = P(Cechy|Klasa) × P(Klasa) / P(Cehey).

Wady:

Algorytm K-Najbliższych Sąsiadów (KNN)

Algorytm KNN jest prostym algorytmem uczenia opartego na instancjach, który wykorzystuje k najbardziej podobnych przykładów treningowych do podejmowania decyzji. W przypadku klasyfikacji korzysta z głosowania większościowego wśród k sąsiadów; w przypadku regresji bierze średnią wartości k sąsiadów.

Kluczowym hiperparametrem jest k (liczba sąsiadów). Wybór k wiąże się z trade-off-em:

Algorytm KNN jest wolnoćwiczającym — podczas treningu nie tworzy modelu, tylko przechowuje wszystkie dane treningowe. Przewidywanie polega na wyszukiwaniu najbliższych sąsiadów, co może być obliczeniowo kosztowne dla dużych zbiorów danych.

Sieci neuronowe w uczeniu nadzorowanym

Sieci neuronowe mogą obsłużyć zarówno zadania klasyfikacji, jak i regresji. Zawierają one połączone w warstwy neurony:

W przypadku klasyfikacji warstwa wyjściowa zwykle używa aktywacji softmax dla problemów wieloklasowych lub sigmoidej dla klasycznej klasyfikacji dwuklasyowej. W przypadku regresji używane jest aktywowanie liniowe.

Sieci neuronowe nadają się do:

Jednak wymagają:

Wybór i ocena modelu

Krzyżowa walidacja jest kluczowym elementem bezwzględnej oceny modeli. Walidacja k-folds dzieli dane na k podzbiorów, trenuje na k-1 z nich i waliduje na pozostałym, powtarzając proces k razy. To daje bardziej wiarygodne szacowanie wydajności niż pojedyncza podziałka treningowa-testowa.

Techniki popularne to:

Metryki klasyfikacji: dokładność, precyzja, czułość, F1-score, ROC-AUC, macierz pomyłek

Metryki regresji: MSE, RMSE, MAE, R²

Wybór Prawidłowego Algorytmu

Najlepsze praktyki

Zakończenie

Algorytmy uczenia nadzorowanego stanowią podstawę współczesnych zastosowań uczenia maszynowego. Od prostych regresji liniowych do skomplikowanych sieci neuronowych, każda metoda ma swoje zalety i jest odpowiednia dla różnych cech problemu. Zrozumienie tych algorytmów, ich założeń, zalet i ograniczeń jest kluczowe dla budowy skutecznych systemów uczenia maszynowego.

Kluczem do sukcesu w uczeniu nadzorowanym nie jest wykorzystanie najbardziej skomplikowanej metody, ale wybór odpowiedniej metody dla konkretnego problemu, właściwe przygotowanie danych oraz czerpne i dostosowywanie modeli. Przy zysku doświadczenia, rozwijasz intuicję co do tego, które algorytmy działają najlepiej w różnych sytuacjach.

Często zadawane pytania

Czym jest uczenie nadzorzowane i jak się ono różni od niezdziergalnego uczenia?

Uczenie nadzorzowane wykorzystuje dane treningowe z etykietowanymi przykładami, gdzie podaje się zarówno wejściowe cechy, jak i poprawne etykiety wyjściowe. Algorytm naucza się przypisywać wejścia do wyjść, odkrywając wzorce w etykietowanych przykładach. W przeciwieństwie do tego, niezdziergalne uczenie pracuje z danymi netykietowanymi, aby odkryć ukryte wzory bez podanych poprzednio wyjść. Uczenie nadzorzowane jest używane dla klasyfikacji (prognozowanie kategorii) i regresji (prognozowanie wartości ciągłych), a niezdziergalne uczenie skupia się na grupowaniu, zmniejszaniu wymiarowości i odkrywaniu wzorców. Kluczowa różnica polega na tym, że uczenie nadzorzowane wymaga danych z etykietami znanymi odpowiedzi, co sprawia, że jest idealne dla zadań prognozowania, gdzie historyczne dane z wynikami są dostępne. W uczeniu nadzorowanym masz "nauczyciela", który pokazuje poprawne odpowiedzi, podczas gdy niezdziergalne uczenie eksploruje dane bez wskazówek. Uczenie nadzorowane jest doskonałe, gdy chcesz prognozować konkretny wynik, a niezdziergalne uczenie pomaga odkryć niewiadome wzory lub struktury danych.

Kiedy powinieneś używać klasyfikacji zamiast regresji?

Klasyczna jest używana, gdy prognozujemy dyskretne kategorie lub etykiety. Przykłady to wykrywanie spamu (spam/nie spam), rozpoznawanie obrazów (ps/pies/ptak) lub diagnostyka medyczna (choroba/ja nie jest chorobą). Regresja przewiduje wartości numeryczne ciągłe, takie jak ceny domów, prognozy temperatury czy dochód sprzedaży. Wybierz klasyczne, gdy wyniki są kategoryczne, a regresję, gdy wyniki są numeryczne. Niektóre problemy można sformułować w obu sposóbach: na przykład prognozowanie wieku może być regresja (wiek dokładny) lub klasyczna (grupy wiekowe). Wybór zależy od twoich konkretnych potrzeb i cech danych. Kluczowe wskaźniki: Użyj klasycznej dla pytań tak/nie, prognoz kategorii, lub gdy wyjście pochodzi z skończonego zestawu. Użyj regresji dla prognoz numerycznych, trendów lub gdy potrzebujesz dokładnych wartości numerycznych. Wybór algorytmu naturalnie wynika z formułacji problemu.

Jakie jest różnice między liniową regresją a logistyczną regresją?

Linia regresji przewiduje wartości numeryczne ciągłe, korzystając z relacji liniowej między cechami i docelowym. Jest używana do problemów regresji, takich jak prognozowanie cen domów lub obrotu sprzedaży. Regresja logistyczna przewiduje prawdopodobieństwa i członkostwo klas dla problemów klasyfikacji binarnych lub wieloklasowych. Regresja logistyczna używa funkcji sigmoide do wyjścia prawdopodobieństw między 0 a 1. Linia regresji może wygenerować dowolne wartości, podczas gdy regresja logistyczna zwraca prawdopodobieństwa, które można przekonwertować na prognozy klas. Wybierz linię regresji dla wyników ciągłych i regresję logistyczną dla wyników kategorycznych, nawet choć oba używają podobnych podstaw matematycznych. Linia regresji przyjmuje relację liniową i minimalizuje błędy kwadratowe. Regresja logistyczna modeluje log-odds i używa estymacji maksimum prawdopodobieństwa. Oba są interpretowalne, ale służy różnym typom problemów.

Jak działają drzewa decyzyjne i kiedy są lepsze od innych algorytmów?

Drzewa decyzyjne rekurencyjnie dzielą dane na podzbiory oparte na wartościach cech, tworząc regiony z jednorodnymi wartościami docelowymi. Każda działka wybiera cechę, która najlepiej oddziela dane za pomocą miar, takich jak impureta Gini lub zysk informacyjny. Są interpretowalne, radzą sobie z relacjami nieliniowymi i nie wymagają skalowania cech. Drzewa decyzyjne nadają się szczególnie w sytuacjach, gdy ważna jest interpretowalność, mają mieszane dane typu lub relacje są nieliniowe. Jednak są podatne na optymalizację i mogą być niewspółmiernie stabilne. Metody ensemblu, takie jak las losowy czy gradient boosting, rozwiązują te ograniczenia poprzez scalanie wielu drzew. Użyj drzew decyzyjnych, gdy potrzebujesz interpretowalności, masz wzory nieliniowe lub chcesz model bazowy łatwy do zrozumienia. Są szczególnie przydatne do wyjaśniania decyzji dla akcjonariuszy i rozumienia ważności cech.

Czym jest optymalizacja w uczeniu nadzorowanym i jak można ją zapobiegać?

Optymalizacja występuje, gdy model nauczy się danych treningowych zbyt dobrze, włączając szum i niepotrzebne wzorce, co prowadzi do słabej wydajności na nowych danych. Oznaki to wysoka dokładność treningowa, ale niska dokładność walidacyjna. To się zdarza, gdy model jest zbyt skomplikowany w porównaniu do dostępnych danych. Strategie zapobiegania obejmują: użycie większej ilości danych treningowych, uproszczenie modelu, stosowanie regularizacji (L1/L2), użycie walidacji krzyżowej, zakończenie wczesne, selekcję cech i metody ensemblu. Regularizacja kary za skomplikowane modele, podczas gdy walidacja krzyżowa dostarcza lepsze estymacje wydajności. Kluczowym jest znalezienie odpowiedniego równowagi między skomplikowaniem modelu a jego zdolnością do generalizacji. Zawsze waliduj na oddzielnych danych testowych, które nie były używane podczas treningu. Monitoruj różnicę między dokładnością treningową a walidacyjną — kiedy ta różnica zaczyna się znacząco rozszerzać, prawdopodobnie masz optymalizację.

Czym jest walidacja krzyżowa i dlaczego jest ważna?

Walidacja krzyżowa dzieli dane na k kropek, trenuje na k-1 kropek i waliduje na pozostałej kropek, powtarzając to k razy. To dostarcza odporne estymacje wydajności i lepsze wykorzystanie ograniczonej ilości danych. Popularne podejścia obejmują k-krotną (takie jak 5 lub 10), zestratowana k-krotna (zachowuje rozkład klas) oraz usunięcie jednego elementu (extremalny przypadek). Walidacja krzyżowa pomaga w odkrywaniu optymalizacji, regulowania hiperparametrów w sposób wiarygodny i uzyskiwanie dokładniejszych estymacji wydajności niż pojedyncza podział treningowy-testowy. Jest szczególnie ważna dla małych zbiorów danych, gdzie pojedynczy podział może nie być reprezentatywny. Zawsze używaj walidacji krzyżowej do wybierania modelu i regulowania hiperparametrów. Daje Ci pewność, że twój model zasugerowany jest dobrze generalizować i pomaga w podejmowaniu lepszych decyzji dotyczących wyboru modelu.

Wypróbuj na żywo

Wszystko powyżej działa bezpośrednio w Twojej przeglądarce — otwórz Supervised Learning Algorithms i zmieniaj parametry podczas działania. Nic nie jest instalowane ani przesyłane na serwer, cały model działa w jednej karcie.

▶ Otwórz symulację Supervised Learning Algorithms

Co znalazłeś?

Dodaj kroki odtworzenia (opcjonalnie)