Model oparty na pytaniach tak/nie
Drzewo decyzyjne przewiduje wyniki poprzez zadanie serii prostej pytań dotyczącego danych wejściowych, każde jedno dzielące pozostałe możliwości na dwa, aż osiągnie końcowy odpowiedź. Strukturalnie, wygląda jak odwrócone drzewo: pojedynczy węzeł korzeniowy na szczycie zawierający pełny zestaw danych, serię węzłów wewnętrznego, gdzie dane są podzielone na podstawie cechy ("Czy wiek przekracza 40 lat?", "Czy dochód jest powyżej 30 000 £?") i węzły liściowe na dole przechowujące końcowe przewidywanie — etykietę klasyfikacji, lub wartość numeryczną dla regresji.
Ta struktura jest tym, co sprawia, że drzewa decyzyjne są niezwykle łatwe w zrozumieniu w porównaniu z większością innych modeli uczenia maszynowego: można śledzić dokładny szereg pytań, które prowadzą do każdego konkretnego przewidywania, co ma znaczenie w dziedzinach takich jak ocena kredytu lub triage lekarskie, gdzie ludzie muszą być w stanie wyjaśnić decyzję, a nie tylko zaufać liczbie.
Jak drzewo decyduje się na to, co zapytać
Tworzenie drzewa na podstawie danych jest procesem rekurencyjnym. Na każdym węźle algorytm rozważa każdą dostępna cechę oraz każdy możliwy próg podziału, a następnie wybiera jedynie ten podział, który najlepiej oddziela dane do bardziej czystych podzbiorów — podzbiorów, w których przykłady coraz bardziej zgadzają się co do wyniku. „Czystość” mierzy się za pomocą jednej z dwóch pokrewnych metryk:
Obie metryki tendują do generowania podobnych drzew w praktyce. Algorytm gretliowo wybiera ten podział, który najbardziej zmniejsza nieczystość, a następnie powtarza proces niezależnie dla każdego wynikowego gałęzi, rekurencyjnie dalszy i dalszy, aż do osiągnięcia warunku zatrzymania — maksymalnej głębokości, minimalnej liczby próbek wymaganej w węźle lub węzła, który jest już czysty.
Dlaczego pojedyncze drzewo decyzyjne tak łatwo nadmiernie dopasowuje
Bez ograniczeń, drzewo decyzyjne będzie dalej podzielać, aż każda liść będzie zawierała pojedynczy przykład treningowy, osiągając idealną dokładność dla danych, na których było treningowe. To typowy przypadek nadmiernego dopasowania: drzewo nie nauczyło się podstawowego wzoru w danych, ale zamiast tego zapamiętało szum, quirk i przypadkowe zdarzenia specyficzne dla konkretnego zestawu treningowego. Takie drzewo będzie mniej skutecznie generalizować na nowe dane, których nie widziało. Drzewa decyzyjne są również znane z niestabilności — ponieważ każda podział jest wybierana w sposób głodny na podstawie dokładnych danych dostępnych, mała zmiana zestawu treningowego (np. usunięcie kilku przykładów) może spowodować całkowicie inny ciąg podziałów dalej w drzewie, tworząc model strukturalnie bardzo różny.
Poprawne rozwiązania obejmują przycinanie drzewa po jego rozrostu (usuwanie gałęzi oferujących niewielką wartość prognozową), lub ograniczanie rozrostu na początku poprzez ograniczenie maksymalnej głębokości, wymagania minimalnej liczby próbek na liście, czy wymagania minimalnego poprawy czystości przed pozwoleniem podziału. Te metody pomagają, ale pojedyncze drzewo pozostaje modeliem o wysokiej wariancji i niestabilnym — co prowadzi do przypadku złączenia wielu takich drzew.
Lasy losowe: siła w diversyfikacji
Las losowy jest zbiorem wielu drzew decyzyjnych, każde z nich treningowanych nieco inaczej, których przewidywania są łączone poprzez głosowanie większościowe (dla klasyfikacji) lub średnianie (dla regresji). Kluczowa myśl polega na tym, że jeśli pojedyncze drzewa popełniają różne, somewhat niezależne błędy, te błędy taktownie zanikają przy średnianiu, nawet jeśli żaden z jednostek drzew nie jest szczególnie dobry samodzielnie. Dwa źródła losowości tworzą tę diversyfikację:
Efekt ten daje model, który odmienia pewną interpretowalność pojedynczego drzewa w zamian za znacznie lepszą dokładność i stałość. Lasy losowe również naturalnie rangi cech według ich ważności — mierząc ile każdego cechy zmniejsza impurecję na średnim poziomie po wszystkich drzewach i podziałach, w których była użyta — oferując przydatne, choć przybliżone, okno na te wejścia, które model rzeczywiście korzysta z.
Lasy losowe w porównaniu z gradientowym boostingiem
Lasy losowe budują drzewa niezależnie i równolegle, a następnie średnie wyniki — strategię nazywaną baggingiem, która głównie zmniejsza wariancję (nadadapowanie do szumów). Gradientowy boosting (zaimplementowany w popularnych bibliotekach takich jak XGBoost, LightGBM i CatBoost) stosuje odwrotną strategię: buduje drzewa jedno na raz, sekwencyjnie, gdzie każda nowa grupa drzew jest świadomie treningu do poprawy błędów — technicznie, błędy residualne — zostawione przez drzewa zbudowane wcześniej. Ten proces korekcyjny sekwencyjny głównie zmniejsza bias (zakłócenia), a modele boostowane często osiągają najlepszą precyzję nienadzaną wśród innych technik na danych strukturalnych, tabularnych, co jest powodem ich dominacji w konkursach maszynowego uczenia się na takich danych. Zasada trade-off polega na tym, że drzewa boostowane są bardziej wrażliwe na wybrane parametry hiperparametryczne, wolniejsze do treningu, ponieważ drzewa nie mogą być budowane równolegle, a także lekko bardziej narażone na nadadapowanie, jeśli nie zostaną dokładnie regularizowane, w porównaniu z względem „turnkey” wiarygodności lasów losowych.
Często zadawane pytania
Czy drzewa decyzyjne potrzebują skalowania lub normalizacji cech?
Nie. Ponieważ drzewo prosi o to, czy cecha jest powyżej lub poniżej pewnego próg przy każdym podziałie, bezwzględna skala cechy nie wpływa na strukturę końcowego drzewa, w przeciwieństwie do algorytmów opartych na odległości, takich jak k-means lub k-najbliższych sąsiadów, dla których skala cech ma niezwykle duży wpływ.
Ile drzew powinno mieć las losowy?
Wiecej drzew obecnie zwiększa stabilność i dokładność do pewnego punktu zwarcia, a dodawanie większej liczby drzew do lasu losowego nie prowadzi do nadpasowania — głównie kosztuje dodatkowe obliczenia. Powszechnie akceptowane domyślne wartości zazwyczaj wynoszą od 100 do kilku setek drzew, a wydajność monitorowana na danych walidacyjnych służy do ustalenia miejsca, w którym dodatkowe drzewa przestają pomagać.
Dlaczego las losowy oferuje rangę ważności cech bez dodatkowego modelowania?
Bo przy tworzeniu każdego drzewa na każdym podziale wybierane jest takie cecha, która powoduje największą zmniejszenie nieporządku. Algorytm zapisuje już, drzewo po drzewie i podział po podziale, które cechy były wielokrotnie użyteczne. Średnienie tej zmniejszenia przez całe las wydaje rangę ważności dla każdej cechy bez dodatkowego modelowania.
Czy las losowy nadal jest interpretowalny w taki sam bezpośredni sposób, jak pojedyncze drzewo decyzyjne?
Nie w takim samym bezpośrednim sensie. Przepowiednia jednego drzewa można wyjaśnić jako jedno jasne łańcuch if-else, ale przepowiednia lasu losowego jest głosowaniem lub średnikiem między potencjalnie setkami różnych drzew, więc żaden jednoznaczny czytelny ścieżka nie wyjaśnia jej. Techniki takie jak rangi ważności cech i wartości SHAP są powszechnie używane do częściowego odzyskania interpretowalności dla modeli opartych na lasach.
▶ Wypróbuj na żywo
Wszystko powyżej działa bezpośrednio w Twojej przeglądarce — otwórz Decision Trees and Random Forests i zmieniaj parametry podczas działania. Nic nie jest instalowane ani przesyłane na serwer, cały model działa w jednej karcie.