Podstawy AI

Co to jest Gradient Boosting?

mm
Dodaj Unite.AI do preferowanych ÅšrÃģdeł w Google

Powszechny typ modelu uczenia maszynowego, ktÃģry okazał się niezwykle przydatny w konkursach nauki o danych, to model gradient boosting. Gradient boosting jest podstawowo procesem przekształcania słabych modeli uczenia w silne modele uczenia. Ale jak dokładnie jest to osiągane? Przyjrzyjmy się bliÅžej algorytmom gradient boosting i lepiej zrozumiemy, jak model gradient boosting przekształca słabe uczące się w silne uczące się.

Definiowanie Gradient Boosting

Ten artykuł ma na celu dać Ci dobrą intuicję, co to jest gradient boosting, bez wielu wyjaśnień matematycznych, ktÃģre leŞą u podstaw algorytmÃģw. Gdy tylko masz poczucie, jak gradient boosting działa na wysokim poziomie, zachęcamy Cię do głębszego zanurzenia się w matematykę, ktÃģra to umoÅžliwia.

Zacznijmy od definicji tego, co oznacza “boostowanie” uczącego się. Słabi uczący się są przekształceni w silne uczące się przez dostosowanie właściwości modelu uczenia. Jakiego dokładnie algorytmu uczenia jest uÅžywany?

Modele boostowania działają przez uzupełnienie innego powszechnego modelu uczenia maszynowego, drzewa decyzyjnego.

Model drzewa decyzyjnego działa przez podział zbioru danych na mniejsze i mniejsze części, a gdy podzbiory nie mogą być juÅž dalej dzielone, wynikiem jest drzewo z węzłami i liśćmi. Węzły w drzewie decyzyjnym są miejscami, w ktÃģrych podejmowane są decyzje dotyczące punktÃģw danych przy uÅžyciu rÃģÅžnych kryteriÃģw filtrowania. Liście w drzewie decyzyjnym są punktami danych, ktÃģre zostały sklasyfikowane. Algorytmy drzew decyzyjnych mogą obsługiwać zarÃģwno dane numeryczne, jak i kategorialne, a rozdzielenia w drzewie opierają się na określonych zmiennych/cechach.

Ilustracja sposobu, w jaki modele boostowania są szkolone.
Photo: SeattleDataBuy via Wikimedia Commons, CC 4.0 (https://commons.wikimedia.org/wiki/File:Boosting.png)

Jednym z typÃģw algorytmÃģw boostowania jest algorytm AdaBoost. Algorytmy AdaBoost zaczynają od trenowania modelu drzewa decyzyjnego i przypisania rÃģwnego cięŞaru do kaÅždej obserwacji. Po tym, jak pierwsze drzewo zostało ocenione pod względem dokładności, cięŞary dla rÃģÅžnych obserwacji są dostosowywane. Obserwacje, ktÃģre były łatwe do sklasyfikowania, mają swoje cięŞary obniÅžone, podczas gdy obserwacje, ktÃģre były trudne do sklasyfikowania, mają swoje cięŞary zwiększone. Drugie drzewo jest tworzone przy uÅžyciu tych dostosowanych cięŞarÃģw, z celem, Åže przewidywania drugiego drzewa będą bardziej dokładne niÅž przewidywania pierwszego drzewa.

Model składa się teraz z przewidywań oryginalnego drzewa i nowego drzewa (lub Drzewo 1 + Drzewo 2). Dokładność klasyfikacji jest oceniana ponownie na podstawie nowego modelu. Trzecie drzewo jest tworzone na podstawie obliczonego błędu modelu, a cięŞary są ponownie dostosowywane. Ten proces jest kontynuowany przez określoną liczbę iteracji, a ostateczny model jest modelem ensemble, ktÃģry uÅžywa waÅžonej sumy przewidywań dokonanych przez wszystkie uprzednio zbudowane drzewa.

Opisany powyÅžej proces uÅžywa Drzew Decyzyjnych i podstawowych predyktorÃģw/modeli, ale podejście boostowania moÅže być realizowane z szerokim zakresem modeli, takich jak standardowe modele klasyfikacji i regresji. Kluczowe pojęcia do zrozumienia są takie, Åže następni predyktorzy uczą się z błędÃģw popełnionych przez poprzednich i Åže predyktorzy są tworzeni sekwencyjnie.

GłÃģwną zaletą algorytmÃģw boostowania jest to, Åže zajmują mniej czasu na znalezienie bieŞących przewidywań w porÃģwnaniu z innymi modelami uczenia maszynowego. NaleÅžy jednak zachować ostroÅžność przy uÅžywaniu algorytmÃģw boostowania, poniewaÅž są one podatne na overfitting.

Gradient Boosting

Teraz przyjrzymy się jednej z najczęstszych algorytmÃģw boostowania. Modele Gradient Boosting (GBM) są znane ze swojej wysokiej dokładności i rozszerzają ogÃģlne zasady uÅžywane w AdaBoost.

GłÃģwna rÃģÅžnica między Modelem Gradient Boosting a AdaBoost polega na tym, Åže GBM uÅžywa innego sposobu obliczania, ktÃģre uczące się są niepoprawne. AdaBoost oblicza, gdzie model jest niedopasowany, badając punkty danych, ktÃģre są silnie waÅžone. Tymczasem GBM uÅžywa gradientÃģw, aby określić dokładność uczących się, stosując funkcję straty do modelu. Funkcje straty są sposobem pomiaru dokładności dopasowania modelu do zbioru danych, obliczania błędu i optymalizacji modelu w celu zmniejszenia tego błędu. GBM pozwalają uÅžytkownikowi zoptymalizować określoną funkcję straty na podstawie jego poŞądanego celu.

Biorąc najczęstszą funkcję straty – Błąd Średniokwadratowy (MSE) – jako przykład, gradient descendant jest uÅžywany do aktualizacji przewidywań na podstawie określonej stopy uczenia, mając na celu znalezienie wartości, w ktÃģrych strata jest minimalna.

Aby to wyjaśnić:

Nowe przewidywania modelu = zmienne wyjściowe – stare niedoskonałe przewidywania.

W bardziej statystycznym sensie, GBM mają na celu znalezienie istotnych wzorcÃģw w resztach modelu, dostosowując model, aby dopasować się do wzorca i zbliÅžyć reszty do zera. Jeśli przeprowadziłbyś regresję na przewidywaniach modelu, reszty byłyby rozłoÅžone wokÃģł 0 (idealne dopasowanie), a GBM znajdują wzorce w resztach i aktualizują model wokÃģł tych wzorcÃģw.

Innymi słowy, przewidywania są aktualizowane tak, aby suma wszystkich reszt była jak najbliÅžej 0, co oznacza, Åže przewidywane wartości będą bardzo bliskie rzeczywistym wartościom.

ZwrÃģć uwagę, Åže szeroki zakres innych funkcji strat (takich jak logarytmiczna strata) moÅže być uÅžywany przez GBM. MSE został wybrany powyÅžej ze względu na prostotę.

Wariacje Modeli Gradient Boosting

Modele Gradient Boosting są chciwymi algorytmami, ktÃģre są podatne na overfitting do zbioru danych. MoÅžna temu przeciwdziałać za pomocą kilku rÃģÅžnych metod, ktÃģre mogą poprawić wydajność GBM.

GBM mogą być regulowane za pomocą czterech rÃģÅžnych metod: Shrinkage, Tree Constraints, Stochastic Gradient Boosting i Penalized Learning.

Shrinkage

Jak wcześniej wspomniano, w GBM przewidywania są sumowane w sekwencyjny sposÃģb. W “Shrinkage” dodatki kaÅždego drzewa do ogÃģlnej sumy są dostosowywane. Stosowane są wagi, ktÃģre spowalniają szybkość uczenia się algorytmu, wymagając, aby więcej drzew zostało dodanych do modelu, co zwykle poprawia wytrzymałość i wydajność modelu. Wymianą jest to, Åže model potrzebuje więcej czasu na trening.

Tree Constraints

Ograniczanie drzewa rÃģÅžnymi sztuczkami, takimi jak dodanie większej głębokości do drzewa lub zwiększenie liczby węzłÃģw lub liści w drzewie, moÅže utrudnić modelowi overfitting. Nakładanie ograniczenia na minimalną liczbę obserwacji na rozdzielenie ma podobny efekt. Ponownie, wymianą jest to, Åže model potrzebuje więcej czasu na trening.

Losowy Przykład

PoszczegÃģlne uczące się mogą być tworzone za pomocą losowego procesu, opartego na losowo wybranych podzbiorach zbioru treningowego. Ma to efekt zmniejszania korelacji między drzewami, co chroni przed overfittingiem. ZbiÃģr danych moÅže być podprÃģbkowany przed utworzeniem drzew lub przed rozwaÅženiem rozdzielenia w drzewie.

Penalized Learning

Poza ograniczaniem modelu przez ograniczenie struktury drzewa, moÅžna uÅžyć drzewa regresji. Drzewa regresji mają numeryczne wartości dołączone do kaÅždego z liści, a te funkcjonują jako wagi i mogą być dostosowane z powszechnymi funkcjami regularizacji, takimi jak L1 i L2 regularizacja.

Blogger i programista ze specjalnościami w Machine Learning i Deep Learning tematy. Daniel liczy, Åže pomoÅže innym wykorzystać moc sztucznej inteligencji dla dobra społecznego.