Dlaczego warto korzystać z drzew decyzyjnych?

11

Czytałem trochę o algorytmach usprawniających dla zadań klasyfikacyjnych, aw szczególności Adaboost. Rozumiem, że celem Adaboost jest wzięcie kilku „słabych uczniów” i poprzez zestaw iteracji danych treningowych, popchnąć klasyfikatorów, aby nauczyli się przewidywać klasy, w których model (y) wielokrotnie popełnia błędy. Zastanawiałem się jednak, dlaczego w tak wielu odczytach wykorzystałem drzewa decyzyjne jako słaby klasyfikator. Czy jest tego szczególny powód? Czy są jakieś klasyfikatory, które czynią szczególnie dobrych lub złych kandydatów na Adaboost?

kylerthecreator
źródło
Najprostszym uczniem, którego możesz użyć, jest drzewo decyzyjne o głębokości = 1. Może dlatego wszyscy używają tego w swoich przykładach.
Aaron,

Odpowiedzi:

18

Mówiłem o tym w odpowiedzi na powiązane pytanie SO . Drzewa decyzyjne są po prostu bardzo dobrze dostosowane do wzmocnienia, o wiele bardziej niż inne algorytmy. Wersja punktora / podsumowania jest następująca:

  1. Drzewa decyzyjne są nieliniowe. Wzmocnienie za pomocą modeli liniowych po prostu nie działa dobrze.
  2. Słaby uczeń musi być konsekwentnie lepszy niż zgadywanie losowe. Zwykle nie trzeba dostrajać parametrów do drzewa decyzyjnego, aby uzyskać takie zachowanie. Szkolenie SVM naprawdę wymaga wyszukiwania parametrów. Ponieważ dane są ponownie ważone przy każdej iteracji, prawdopodobnie będziesz musiał wykonać kolejne wyszukiwanie parametrów dla każdej iteracji. Zwiększasz więc ilość pracy, którą musisz wykonać, z dużym marginesem.
  3. Drzewa decyzyjne są dość szybkie w trenowaniu. Ponieważ będziemy budować ich setki lub tysiące, to dobra nieruchomość. Są również szybkie w klasyfikacji, co jest znów ważne, gdy potrzebujesz 100 lub 1000, aby uruchomić, zanim będziesz mógł wydać decyzję.
  4. Zmieniając głębokość, masz prostą i łatwą kontrolę nad kompromisem / odchyleniem, wiedząc, że zwiększenie może zmniejszyć odchylenie, ale także znacznie zmniejsza wariancję. Wzmocnienie jest znane z tego, że przesadza, więc łatwa dostrajania jest pomocna w tym zakresie.
Raff.Edward
źródło
1

Nie mam odpowiedzi z podręcznika. Oto kilka myśli.

Zwiększenie można zobaczyć w bezpośrednim porównaniu z workowaniem. Są to dwa różne podejścia do dylematu kompromisowego wariancji odchylenia. Podczas gdy workowanie ma tak słabych uczniów, niektórzy uczniowie z niskim uprzedzeniem i dużą wariancją, uśredniając zespół zajmujący się pakowaniem, zmniejszają wariancję dla małego uprzedzenia. Z drugiej strony poprawianie działa dobrze z różnymi słabymi uczniami. Wzmacniający słabi uczniowie mają duże uprzedzenie i niską wariancję. Budując jednego ucznia na drugim, zespół wzmacniający próbuje zmniejszyć uprzedzenie, z niewielką różnicą.

W związku z tym, jeśli rozważasz na przykład wykorzystywanie workowania i wzmacniania drzew słabymi uczniami, najlepszym sposobem użycia są małe / krótkie drzewa ze wzmocnieniami i bardzo szczegółowe drzewa z workowaniem. Dlatego bardzo często procedura przypominania wykorzystuje pień decyzji jako słabego ucznia, który jest najkrótszym możliwym drzewem (pojedynczy warunek w jednym wymiarze). Ten kikut decyzyjny jest bardzo stabilny, więc ma bardzo niską wariancję.

Nie widzę żadnego powodu, aby używać drzew z procedurami przypominającymi. Jednak krótkie drzewa są proste, łatwe do wdrożenia i łatwe do zrozumienia. Myślę jednak, że aby odnieść sukces w procedurze przypominającej, twój słaby uczeń musi mieć niską wariancję, musi być sztywny, z bardzo małą liczbą stopni swobody. Na przykład nie widzę sensu, aby jako słaby uczeń mieć sieć neuronową.

Dodatkowo należy zauważyć, że w przypadku niektórych procedur wzmocnienia, na przykład wzmocnienia gradientu, Breiman odkrył, że jeśli słabym uczniem jest drzewo, można zoptymalizować sposób działania wzmocnienia. Mamy więc drzewa zwiększające gradient. W książce ESTL jest miła ekspozycja wzmocnienia.

rapaio
źródło