Podstawy AI
Co to jest Gradient Boosting?
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.












