Uczenie maszynowe to jedna z najpopularniejszych technologii służących do budowania modeli predykcyjnych dla różnych złożonych zadań regresji i klasyfikacji. Maszyna do wzmacniania gradientu (GBM) jest uważany za jeden z najpotężniejszych algorytmów wzmacniających.
Chociaż w uczeniu maszynowym wykorzystuje się tak wiele algorytmów, algorytmy usprawniające stały się głównym nurtem społeczności uczących się maszyn na całym świecie. Technika wzmacniania jest zgodna z koncepcją uczenia się zespołowego i dlatego łączy wiele prostych modeli (słabi uczniowie lub estymatory podstawowe) w celu wygenerowania końcowego wyniku. GBM jest również stosowane jako metoda zespołowa w uczeniu maszynowym, która przekształca słabych uczniów w silnych uczniów. W tym temacie „GBM w uczeniu maszynowym” omówimy algorytmy gradientowego uczenia maszynowego, różne algorytmy wzmacniające w uczeniu maszynowym, historię GBM, jak to działa, różne terminologie stosowane w GBM itp. Ale zanim zaczniesz, najpierw zrozum koncepcję wzmacniania i różne algorytmy wzmacniające w uczeniu maszynowym.
Co oznacza wzmocnienie w uczeniu maszynowym?
Wzmacnianie jest jedną z popularnych technik modelowania zespołów uczących się, stosowaną do budowania silnych klasyfikatorów z różnych słabych klasyfikatorów. Rozpoczyna się od zbudowania modelu podstawowego na podstawie dostępnych zbiorów danych uczących, a następnie identyfikuje błędy występujące w modelu podstawowym. Po zidentyfikowaniu błędu budowany jest model wtórny, a następnie w tym procesie wprowadzany jest model trzeci. W ten sposób proces wprowadzania kolejnych modeli jest kontynuowany, aż do uzyskania pełnego zbioru danych szkoleniowych, na podstawie którego model prawidłowo przewiduje.
AdaBoost (wzmacnianie adaptacyjne) było pierwszym w historii uczenia maszynowego algorytmem wzmacniającym, który łączył różne słabe klasyfikatory w jeden silny klasyfikator. Koncentruje się przede wszystkim na rozwiązywaniu zadań klasyfikacyjnych, takich jak klasyfikacja binarna.
Kroki w ulepszaniu algorytmów:
Aby ulepszyć algorytm, należy wykonać kilka ważnych kroków:
- Rozważ zbiór danych zawierający różne punkty danych i zainicjuj go.
- Teraz nadaj równą wagę każdemu punktowi danych.
- Przyjmij tę wagę jako dane wejściowe dla modelu.
- Zidentyfikuj punkty danych, które są nieprawidłowo sklasyfikowane.
- Zwiększ wagę punktów danych w kroku 4.
- Jeśli otrzymasz odpowiednie dane wyjściowe, zakończ ten proces, w przeciwnym razie wykonaj ponownie kroki 2 i 3.
Przykład:
Załóżmy, że mamy trzy różne modele z ich przewidywaniami i działają one w zupełnie inny sposób. Na przykład model regresji liniowej pokazuje liniową zależność w danych, podczas gdy model drzewa decyzyjnego próbuje uchwycić nieliniowość danych, jak pokazano na poniższym obrazku.
Co więcej, zamiast używać tych modeli osobno do przewidywania wyniku, jeśli zastosujemy je w formie serii lub kombinacji, otrzymamy model wynikowy z poprawnymi informacjami niż wszystkie modele podstawowe. Innymi słowy, zamiast korzystać z indywidualnych przewidywań każdego modelu, jeśli zastosujemy średnie przewidywania z tych modeli, będziemy w stanie wychwycić więcej informacji z danych. Nazywa się to uczeniem zespołowym, a wzmacnianie opiera się również na metodach zespołowych w uczeniu maszynowym.
Udoskonalanie algorytmów w uczeniu maszynowym
W uczeniu maszynowym istnieją przede wszystkim 4 algorytmy wzmacniające. Są to następujące:
Czym jest GBM w uczeniu maszynowym?
Gradient Boosting Machine (GBM) to jedna z najpopularniejszych metod zespołowego uczenia się do przodu w uczeniu maszynowym. Jest to potężna technika budowania modeli predykcyjnych dla zadań regresji i klasyfikacji.
GBM pomaga nam uzyskać model predykcyjny w postaci zestawu słabych modeli predykcyjnych, takich jak drzewa decyzyjne. Ilekroć drzewo decyzyjne działa jako słaby uczeń, powstały algorytm nazywa się drzewami o wzmocnionym gradiencie.
Umożliwia nam to łączenie przewidywań z różnych modeli uczniów i zbudowanie ostatecznego modelu predykcyjnego zawierającego prawidłowe przewidywania.
Ale tutaj może pojawić się pytanie, czy jeśli zastosujemy ten sam algorytm, to w jaki sposób wiele drzew decyzyjnych może dać lepsze przewidywania niż pojedyncze drzewo decyzyjne? Co więcej, w jaki sposób każde drzewo decyzyjne wychwytuje różne informacje z tych samych danych?
Zatem odpowiedź na te pytania jest taka, że węzły każdego drzewa decyzyjnego wybierają inny podzbiór cech, aby wybrać najlepszy podział. Oznacza to, że każde drzewo zachowuje się inaczej i dlatego z tych samych danych wychwytuje różne sygnały.
Jak działa GBM?
Ogólnie rzecz biorąc, większość algorytmów uczenia się nadzorowanego opiera się na pojedynczym modelu predykcyjnym, takim jak regresja liniowa, model regresji z karą, drzewa decyzyjne itp. Istnieją jednak pewne algorytmy nadzorowane w ML, które zależą od kombinacji różnych modeli w całym zestawie. Innymi słowy, gdy wiele modeli podstawowych wnosi swoje przewidywania, średnia ze wszystkich przewidywań jest dostosowywana przez algorytmy wzmacniające.
Maszyny do wzmacniania gradientu składają się z 3 następujących elementów:
- Funkcja straty
- Słabi uczniowie
- Model addytywny
Przyjrzyjmy się szczegółowo tym trzem elementom.
1. Funkcja straty:
Chociaż istnieje duża rodzina funkcji Loss w uczeniu maszynowym, z których można korzystać w zależności od rodzaju rozwiązywanych zadań. Zastosowanie funkcji straty szacuje się na podstawie zapotrzebowania na określone cechy rozkładu warunkowego, takie jak odporność. Używając w naszym zadaniu funkcji straty, musimy określić funkcję straty oraz funkcję obliczającą odpowiedni gradient ujemny. Kiedy już otrzymamy te dwie funkcje, można je łatwo zaimplementować w maszynach zwiększających gradient. Jednakże dla algorytmów GBM zaproponowano już kilka funkcji strat.
Klasyfikacja funkcji straty:
W zależności od rodzaju zmiennej odpowiedzi y, funkcję straty można podzielić na różne typy w następujący sposób:
- Funkcja straty Gaussa L2
- Funkcja straty Laplace'a L1
- Funkcja straty Hubera, określone δ
- Funkcja straty kwantylowej, określona α
- Funkcja straty dwumianowej
- Funkcja utraty Adaboost
- Funkcje straty dla modeli przetrwania
- Funkcje straty liczą dane
- Niestandardowe funkcje utraty
2. Słaby uczeń:
Słabi uczniowie to podstawowe modele uczniów, które uczą się na błędach z przeszłości i pomagają w budowaniu solidnego projektu modelu predykcyjnego w celu usprawnienia algorytmów w uczeniu maszynowym. Ogólnie rzecz biorąc, drzewa decyzyjne działają jako słabi uczniowie w wzmacnianiu algorytmów.
Zwiększanie definiuje się jako strukturę, która stale pracuje nad poprawą wyników modeli podstawowych. Wiele aplikacji wzmacniających gradient pozwala na „podłączenie” różnych klas słabych uczniów do Twojej dyspozycji. Dlatego drzewa decyzyjne są najczęściej używane w przypadku słabych (podstawowych) uczniów.
Jak szkolić słabych uczniów:
Uczenie maszynowe wykorzystuje zestawy danych szkoleniowych do szkolenia podstawowych uczniów i w oparciu o przewidywania poprzedniego ucznia poprawia wydajność, koncentrując się na wierszach danych szkoleniowych, w których poprzednie drzewo zawierało największe błędy lub pozostałości. Np. płytkie drzewa są uważane za słabe uczące się drzew decyzyjnych, ponieważ zawierają kilka podziałów. Generalnie w algorytmach wzmacniających najczęściej spotykane są drzewa posiadające do 6 podziałów.
Poniżej znajduje się sekwencja szkolenia słabego ucznia w celu poprawy jego wyników, w której każde drzewo znajduje się w sekwencji z resztami poprzedniego drzewa. Ponadto wprowadzamy każde nowe drzewo, aby mogło uczyć się na błędach poprzedniego drzewa. Są to następujące:
- Rozważ zbiór danych i dopasuj do niego drzewo decyzyjne.
F1(x)=y - Dopasuj kolejne drzewo decyzyjne z największymi błędami poprzedniego drzewa.
h1(x)=y?F1(x) - Dodaj to nowe drzewo do algorytmu, dodając oba w krokach 1 i 2.
F2(x)=F1(x)+h1(x) - Ponownie dopasuj kolejne drzewo decyzyjne do pozostałości poprzedniego drzewa.
h2(x)=y?F2(x) - Powtórz to samo, co zrobiliśmy w kroku 3.
F3(x)=F2(x)+h2(x)
Kontynuuj ten proces, dopóki jakiś mechanizm (tj. weryfikacja krzyżowa) nie każe nam przestać. Ostatnim modelem jest etapowy model addytywny b pojedynczych drzew:
f(x)=B∑b=1fb(x)Dlatego drzewa są konstruowane zachłannie, wybierając najlepsze punkty podziału w oparciu o wyniki czystości, takie jak Gini lub minimalizując straty.
3. Model addytywny:
Model addytywny definiuje się jako dodawanie drzew do modelu. Choć nie powinniśmy dodawać wielu drzew na raz, wystarczy dodać tylko jedno drzewo, aby istniejące drzewa w modelu nie uległy zmianie. Co więcej, możemy również preferować metodę opadania gradientowego, dodając drzewa, aby zmniejszyć straty.
W ciągu ostatnich kilku lat metoda gradientowego spadku była stosowana w celu minimalizacji zestawu parametrów, takich jak współczynnik równania regresji i waga w sieci neuronowej. Po obliczeniu błędu lub straty stosuje się parametr wagi w celu zminimalizowania błędu. Jednak ostatnio większość ekspertów w zakresie uczenia maszynowego preferuje podmodele słabych uczniów lub drzewa decyzyjne jako substytut tych parametrów. W którym musimy dodać drzewo do modelu, aby zmniejszyć błąd i poprawić wydajność tego modelu. W ten sposób prognoza z nowo dodanego drzewa jest łączona z prognozą z istniejącej serii drzew, aby uzyskać ostateczną prognozę. Proces ten trwa do momentu, gdy strata osiągnie akceptowalny poziom lub nie będzie już wymagana poprawa.
Metoda ta jest również znana jako zejście z gradientem funkcjonalnym lub zejście gradientowe z funkcjami.
MASZYNA WZMACNIAJĄCA EKSTREMALNY GRADIENT (XGBM)
XGBM to najnowsza wersja maszyn wzmacniających gradient, która również działa bardzo podobnie do GBM. W XGBM drzewa dodawane są sekwencyjnie (po jednym na raz), które uczą się na błędach poprzednich drzew i je ulepszają. Chociaż algorytmy XGBM i GBM są podobne pod względem wyglądu i działania, nadal istnieje między nimi kilka różnic, jak poniżej:
- XGBM wykorzystuje różne techniki regularyzacji w celu ograniczenia niedopasowania lub nadmiernego dopasowania modelu, co również zwiększa wydajność modelu w większym stopniu niż maszyny wzmacniające gradient.
- XGBM podąża za równoległym przetwarzaniem każdego węzła, podczas gdy GBM tego nie robi, co czyni go szybszym niż maszyny zwiększające gradient.
- XGBM pomaga nam pozbyć się przypisywania brakujących wartości, ponieważ domyślnie zajmuje się tym model. Samoczynnie uczy się, czy wartości te powinny znajdować się w prawym, czy lewym węźle.
Maszyny wzmacniające z lekkim gradientem (Light GBM)
Light GBM to ulepszona wersja maszyny wzmacniającej Gradient ze względu na jej wydajność i dużą prędkość. W przeciwieństwie do GBM i XGBM może obsłużyć ogromną ilość danych bez żadnej złożoności. Z drugiej strony nie jest odpowiedni dla tych punktów danych, które są mniej liczne.
Zamiast wzrostu poziomego, Light GBM preferuje wzrost węzłów drzewa w sposób liściasty. Co więcej, w lekkim GBM węzeł główny jest dzielony na dwa węzły drugorzędne, a później wybiera jeden węzeł drugorzędny do podziału. Ten podział węzła wtórnego zależy od tego, który z dwóch węzłów ma większą stratę.
Dlatego też, ze względu na podział liści, algorytm Light Gradient Boosting Machine (LGBM) jest zawsze preferowany w stosunku do innych, w których podana jest duża ilość danych.
ciąg porównawczy
CATBOOST
Algorytm catboost jest używany głównie do obsługi cech kategorycznych w zbiorze danych. Chociaż algorytmy GBM, XGBM i Light GBM nadają się do numerycznych zestawów danych, Catboost został zaprojektowany do przetwarzania zmiennych kategorycznych na dane numeryczne. Dlatego algorytm catboost składa się z istotnego etapu przetwarzania wstępnego mającego na celu konwersję cech kategorycznych na zmienne numeryczne, których nie ma w żadnym innym algorytmie.
Zalety algorytmów wzmacniających:
- Algorytmy wzmacniające podążają za uczeniem zespołowym, co umożliwia modelowi dokładniejsze przewidywanie, którego nie można przebić.
- Algorytmy wzmacniające są znacznie bardziej elastyczne niż inne algorytmy, ponieważ mogą optymalizować różne funkcje strat i zapewniają kilka opcji dostrajania hiperparametrów.
- Nie wymaga wstępnego przetwarzania danych, ponieważ nadaje się zarówno do zmiennych numerycznych, jak i kategorycznych.
- Nie wymaga przypisania brakujących wartości w zbiorze danych, automatycznie obsługuje braki danych.
Wady algorytmów wzmacniających:
Poniżej znajduje się kilka wad algorytmów wzmacniających:
- Algorytmy wzmacniające mogą powodować nadmierne dopasowanie, a także nadmierne podkreślanie wartości odstających.
- Algorytm wzmacniania gradientu stale koncentruje się na minimalizacji błędów i wymaga wielu drzew, dlatego jest kosztowny obliczeniowo.
- Jest to algorytm czasochłonny i wyczerpujący pamięć.
- Z natury mniej interpretacyjny, choć można temu łatwo zaradzić za pomocą różnych narzędzi.
Wniosek:
W ten sposób poznaliśmy algorytmy wzmacniające do modelowania predykcyjnego w uczeniu maszynowym. Omówiliśmy także różne ważne algorytmy wzmacniające stosowane w ML, takie jak GBM, XGBM, lekki GBM i Catboost. Co więcej, widzieliśmy różne komponenty (funkcję straty, słaby uczeń i model addytywny) oraz sposób, w jaki GBM z nimi współpracuje. W jaki sposób algorytmy wzmacniające są korzystne przy wdrażaniu w rzeczywistych scenariuszach itp.