Dlaczego potrzebujemy XGBoost i Random Forest?


25

Nie byłem pewien kilku pojęć:

  1. XGBoost przekształca słabych uczniów w silnych uczniów. Jaka jest zaleta robienia tego? Łączenie wielu słabych uczniów zamiast korzystania z jednego drzewa?

  2. Losowy las używa różnych próbek z drzewa do utworzenia drzewa. Jaka jest zaleta tej metody zamiast używania pojedynczego drzewa?

Odpowiedzi:


35

Łatwiej jest zacząć od drugiego pytania, a następnie przejść do pierwszego.

Parcianka

Random Forest to algorytm workowania. Zmniejsza wariancję.

Powiedz, że masz bardzo zawodne modele, takie jak Drzewa decyzyjne. (Dlaczego niewiarygodne? Ponieważ jeśli zmienisz nieco swoje dane, utworzone drzewo decyzyjne może być bardzo różne.) W takim przypadku możesz zbudować solidny model (zmniejszyć wariancję) poprzez tworzenie worków - tworzenie worków odbywa się podczas tworzenia różnych modeli poprzez ponowne próbkowanie danych, aby wynikowy model był bardziej niezawodny.

Losowy las nazywamy workowaniem stosowanym do drzew decyzyjnych, ale nie różni się niczym od innego algorytmu workowania.

Dlaczego chcesz to zrobić? To zależy od problemu. Ale zwykle pożądane jest, aby model był stabilny.

Boosting

Wzmocnienie zmniejsza wariancję, a także zmniejsza stronniczość. Zmniejsza wariancję, ponieważ używasz wielu modeli (workowanie). Zmniejsza to stronniczość, trenując kolejny model, mówiąc mu, jakie błędy popełniły poprzednie modele (część wzmacniająca).

Istnieją dwa główne algorytmy:

  • Adaboost: jest to oryginalny algorytm; każesz kolejnym modelom, aby karały bardziej spostrzeżenia błędne w poprzednich modelach
  • Zwiększanie gradientu: trenujesz każdy kolejny model z wykorzystaniem reszt (różnicy między wartościami przewidywanymi i prawdziwymi)

W tych zespołach Twój podstawowy uczeń musi być słaby. Jeśli zmieści się w danych, nie będzie żadnych pozostałości ani błędów w kolejnych modelach. Dlaczego te dobre modele? Cóż, większość konkursów na stronach internetowych takich jak Kaggle została wygrana przy użyciu drzew zwiększających gradient. Nauka o danych jest nauką empiryczną, ponieważ „ponieważ działa” jest wystarczająco dobra. W każdym razie zauważ, że modele doładowania mogą się nakładać (choć empirycznie nie jest to zbyt powszechne).

Kolejny powód, dla którego w szczególności zwiększanie gradientu jest również całkiem fajny: ponieważ bardzo ułatwia korzystanie z różnych funkcji strat, nawet jeśli pochodna nie jest wypukła. Na przykład, korzystając z prognozy probabilistycznej, możesz użyć funkcji takich jak funkcja pinball jako funkcji straty; coś, co jest znacznie trudniejsze w sieciach neuronowych (ponieważ pochodna jest zawsze stała).

[Ciekawa uwaga historyczna: wzmocnienie było pierwotnie wynalazkiem teoretycznym motywowanym pytaniem „ czy możemy zbudować silniejszy model przy użyciu słabszych modeli ”]


Uwaga: ludzie czasami mylą losowe drzewa zwiększające las i gradient, tylko dlatego, że oba używają drzew decyzyjnych, ale są to dwie bardzo różne rodziny zespołów.


1
Zwiększenie zmniejsza tendencyjność poprzez iteracyjne modelowanie wartości rezydualnej i wariancji poprzez przyjęcie średniej ważonej; por. § 5.5 Odchylenie, wariancja i stabilność , s. 118, Wzmocnienie: podstawy i algorytmy , Robert E. Schapire, Yoav Freund.
Emre

@Emre, oczywiście masz rację. Ktoś zredagował mój post i zmienił zmniejszanie przez wzrost . Cofnąłem to.
Ricardo Cruz

8

Podczas budowania drzewa musisz zdefiniować kryteria podziału węzłów. Należą do nich takie dane, jak Zysk informacji i Indeks Gini. Są to podejścia heurystyczne , nie ma gwarancji, że zapewnią najlepszy możliwy podział.

Waga tego, że niektóre atrybuty są mniej istotne i / lub bardziej hałaśliwe, oraz wiele innych problemów, które występują w rzeczywistych danych. Krótko mówiąc, nie można zbudować idealnego drzewa w przyzwoitym czasie obliczeniowym (można oczywiście zbudować wszystkie możliwe drzewa i przetestować najlepsze, ale wtedy trzeba będzie poczekać kilka lat na szkolenie, nawet w średnich zestawach danych).

Ponieważ nie możemy mieć najlepszego drzewa, mamy przybliżenia. Jednym z przybliżeń jest zbudowanie wielu drzew (przy użyciu różnych partycji danych lub partycji atrybutów), ponieważ spodziewamy się, że większość drzew będzie nieco poprawna i rozważymy ich klasyfikację w systemie głosowania; powinno to poradzić sobie z większością hałasu, partycja pionowa może poradzić sobie z nieistotnymi atrybutami, heurystyka ma mniejsze znaczenie, a może inne zalety.


1

Dodałbym mały dodatek do dobrych odpowiedzi. Głównym problemem jest nadmierne dopasowanie. Gdy tylko masz więcej niż jeden parametr i dodajesz funkcje nieliniowe, wszystkie algorytmy zaczynają się dopasowywać. Widzą w danych coś, co nie istnieje. Tak jak wtedy, gdy jest ciemno lub mgła jest silna, ludzie mają tendencję do dostrzegania w ciemności / mgle rzeczy, które nie istnieją. Prawie wszystkie algorytmy obliczeniowe są bardziej przeuczone niż ludzie. Nawet regresje liniowe zaczynają wykazywać dziwne współczynniki, gdy zmienne są silnie skorelowane. Gdyby nie było przeregulowania, wówczas zwykłe drzewa decyzyjne, na których oparte są te algorytmy, byłyby lepsze niż Random Forest lub XGBoost.

I nie ma dokładnej wiedzy na temat tego, dlaczego występuje nadmierne dopasowanie i dlaczego niektóre algorytmy są lepsze od innych. Teoretycznie modele ARIMA są bardzo solidne, ale praktyka pokazuje, że stosowanie technik wygładzania wykładniczego jest lepsze, a ARIMA nie potrafi nawet rozróżnić zmiennych, które zachowują się zgodnie z ARIMA, ale mają różne parametry.

Niektóre sieci neuronowe, a zwłaszcza splotowe sieci neuronowe, wydają się mieć niskie przeregulowanie. Jednocześnie oryginalny pomysł w pełni połączonych sieci neuronowych zawodzi z powodu dużej liczby neuronów z powodu nadmiernego dopasowania.

Główne możliwości walki z nadmiernym wyposażeniem to:

  1. losowe pobieranie próbek
  2. uśrednianie dla wielu modeli
  3. randomizacja modelu (losowe upuszczanie neuronów podczas treningu sieci neuronowych)

Jeśli dobrze rozumiem algorytmy, zarówno Random Forest, jak i XGBoost wykonują losowe próbkowanie i uśredniają dla wielu modeli, a tym samym zmniejszają przeregulowanie.

W konkursie rozpoznawania obrazów ImageNet najlepszym modelem na 2016 r. (Shao i in.) Było połączenie kilku naprawdę dobrych modeli. Niektóre z nich wygrały konkurs w poprzednich latach. Ten model miał o 20% mniej błędów niż jakikolwiek model, na którym był oparty. W ten sposób uśrednianie dla wielu modeli może być mocne w walce z przeregulowaniem.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.