Losowe lasy
Losowy las (RF) to zespół drzew decyzyjnych, w których każde drzewo decyzyjne jest trenowane za pomocą określonego losowego szumu. Lasy losowe to najpopularniejsza forma grupy drzewa decyzyjnego. W tej części omawiamy kilka technik tworzenia niezależnych drzew decyzyjnych, które zwiększają szanse na zbudowanie skutecznego lasu losowego.
Bagaż
Bagażowanie (bootstrap aggregating) oznacza trenowanie każdego drzewa decyzyjnego na losowym podzbiorze przykładów w zbiorze treningowym. Oznacza to, że każde drzewo decyzyjne w przypadkowym lesie jest trenowane na innym podzbiorze przykładów.
Bagaż Każde drzewo decyzyjne jest trenowane na tej samej liczbie przykładów co w pierwotnym zbiorze treningowym. Jeśli np. pierwotny zestaw treningowy zawiera 60 przykładów, każde drzewo decyzyjne jest trenowane na 60 przykładach. Takie podejście trenuje jednak tylko drzewo decyzyjne tylko w podzbiorze (zwykle 67%) z tych przykładów. Dlatego niektóre z 40 przykładów w podzbiorze trzeba ponownie wykorzystać podczas trenowania danego drzewa decyzyjnego. Ponowne wykorzystanie to tzw. trenowanie z zamianą.
Na przykład tabela 6 pokazuje, w jaki sposób uwzględnienie 6 przykładów może zostać rozłożone na 3 drzewa decyzyjne. Zwróć uwagę na te kwestie:
- Każde drzewo decyzyjne uczy łącznie 6 przykładów.
- Każde drzewo decyzyjne uczy się na innym zestawie przykładów.
- W każdym drzewie decyzyjnym są używane określone przykłady. Na przykład przykład 4 został użyty dwukrotnie w trenowanym drzewie decyzyjnym 1, więc poznana waga z przykładu nr 4 została skutecznie podwojona w drzewie decyzyjnym 1.
Tabela 6. Zestaw 6 przykładów treningowych w 3 drzewach decyzyjnych. Każda liczba reprezentuje liczbę powtórzeń danego przykładu trenowania (nr 1–6) w zbiorze danych treningowych danego drzewa decyzyjnego (1–3).
przykłady treningów | ||||||
---|---|---|---|---|---|---|
#1 | #2 | #3 | #4 | #5 | #6 | |
oryginalny zbiór danych | 1 | 1 | 1 | 1 | 1 | 1 |
drzewo decyzyjne 1 | 1 | 1 | 0 | 2 | 1 | 1 |
drzewo decyzyjne 2 | 3 | 0 | 1 | 0 | 2 | 0 |
drzewo decyzyjne 3 | 0 | 1 | 3 | 1 | 0 | 1 |
W ramach grupowania każde drzewo decyzyjne jest prawie zawsze trenowane na łącznej liczbie przykładów w pierwotnym zbiorze treningowym. Wytrenowanie każdego drzewka decyzyjnego na większej liczbie lub mniejszej liczby przykładów zwykle pogarsza jakość lasu losowego.
Chociaż nie ma go w pierwotnym losowym dokumencie leśnym, próbkowanie przykładów jest czasami wykonywane „bez zamiennika”. Oznacza to, że przykład do trenowania nie może występować więcej niż raz w zestawie do trenowania drzewa decyzyjnego. Na przykład w poprzedniej tabeli wszystkie wartości będą wynosić 0 lub 1.
bootstrap_training_dataset=False
Próbkowanie atrybutów
Próbkowanie atrybutów oznacza, że zamiast szukać najlepszego stanu w przypadku wszystkich dostępnych funkcji, w każdym węźle testowany jest tylko losowy podzbiór cech. Zbiór testowanych cech jest próbkowany losowo w każdym węźle drzewa decyzyjnego.
Poniższe drzewo decyzyjne ilustruje próbkowanie atrybutów / cech. Tutaj drzewo decyzyjne jest trenowane na 5 cechach (f1–f5). Niebieskie węzły oznaczają testowane cechy, a białe nie. Warunek składa się z najlepiej przetestowanych funkcji (oznaczonych czerwonym konturem).
Rysunek 21. Próbkowanie atrybutów.
Współczynnik próbkowania atrybutów jest ważnym hiperparametrem regularyzacji. Na poprzednim rysunku użyto ok. 3⁄5 proporcji. Wiele losowych implementacji lasów domyślnie testuje 1/3 cech regresji i sqrt(liczba cech) do klasyfikacji.
W TF-DF próbkowanie atrybutów kontrolują te hiperparametry:
num_candidate_attributes
num_candidate_attributes_ratio
Jeśli na przykład wybierzesz num_candidate_attributes_ratio=0.5
, połowa cech zostanie przetestowana w każdym węźle.
Wyłączanie regularyzacji drzewa decyzyjnego
Poszczególne drzewa decyzyjne w przypadkowym lesie trenowane są bez przycinania. (Patrz: nadmierne dopasowanie i przycinanie). Powstają w ten sposób zbyt złożone drzewa o niskiej jakości przewidywań. Zamiast regularyzować pojedyncze drzewa, są one grupowane, co umożliwia dokładniejsze prognozowanie.
expect, że dokładność trenowania i testowania w przypadku lasu losowo będzie się różnić. Dokładność trenowania losowego lasu jest zazwyczaj znacznie większa (czasami równa 100%). Bardzo duża dokładność trenowania w przypadkowym lesie jest jednak normalna i nie oznacza, że las jest przeciążony.
Dwa źródła losowości (bagażowanie i próbkowanie atrybutów) zapewniają względną niezależność między drzewami decyzyjnymi. Ta niezależność koryguje nadmierne dopasowanie do poszczególnych drzew decyzyjnych. W efekcie kombinacja nie jest przesadzona. Zilustrujemy ten nieintuicyjny efekt w następnej jednostce.
Czyste losowo lasy trenują bez maksymalnej głębokości czy minimalnej liczby obserwacji na liść. W praktyce korzystne jest ograniczenie maksymalnej głębokości i minimalnej liczby obserwacji na liść. Domyślnie wiele losowych lasów używa tych wartości domyślnych:
- maksymalna głębokość ok. 16
- minimalna liczba obserwacji na liść wynosi około 5.
Te hiperparametry możesz dostroić.
Czystość szumu
Dlaczego przypadkowy szum może poprawić jakość lasu losowo? Aby zilustrować zalety szumu losowego, Rysunek 22 przedstawia prognozy klasycznego (przyciętego) drzewa decyzyjnego i losowego lasu wytrenowanego na kilku przykładach prostego dwuwymiarowego zadania z wzorem elipsy.
Wzorce elipsy są zwykle trudne do opanowania przez algorytmy decyzyjne i algorytmy decyzyjne w warunkach wyrównanych do osi. Zwróć uwagę, że przycięte drzewo decyzyjne nie może uzyskać takiej samej jakości prognozy jak las przypadkowy.
Rysunek 22. Dane podstawowe a prognozy generowane przez pojedyncze drzewo decyzyjne i prognozy generowane przez losowy las.
Następny wykres przedstawia prognozy dotyczące pierwszych 3 nieprzyciętych drzew decyzyjnych w lasie losowo wybranych drzew decyzyjnych. Oznacza to, że wszystkie drzewa decyzyjne są trenowane za pomocą kombinacji:
- bagażowanie
- próbkowanie atrybutów
- wyłączanie przycinania
Zauważ, że poszczególne prognozy tych 3 drzew decyzyjnych są gorsze niż prognozy przyciętego drzewa decyzyjnego na poprzedniej ilustracji. Ponieważ jednak błędy w poszczególnych drzewach decyzyjnych są tylko słabo skorelowane, 3 drzewa decyzyjne są ze sobą połączone, aby tworzyć skuteczne prognozy.
Rysunek 23. Trzy nieprzycięte drzewa decyzyjne, które stworzą skuteczny zespół.
Ponieważ drzewa decyzyjne losowo wybranego lasu nie są przycinane, trenowanie losowego lasu nie wymaga zbioru danych do walidacji. W praktyce, zwłaszcza w przypadku małych zbiorów danych, należy trenować modele na wszystkich dostępnych danych.
Podczas trenowania losowego lasu, im więcej drzew decyzyjnych jest dodanych, błąd niemal zawsze maleje, czyli jakość modelu niemal zawsze się poprawia. Tak, dodanie większej liczby drzew decyzyjnych niemal zawsze zmniejsza błąd w losowym lesie. Innymi słowy, dodanie większej liczby drzew decyzyjnych nie może spowodować przeciążenia lasu losowego. W pewnym momencie model po prostu przestaje się ulepszać. Leo Breiman napisał słynne zdanie: „Losowe lasy nie nadają się do przepełniania, ponieważ dodawanych jest więcej drzew”.
Na przykład wykres poniżej przedstawia ocenę testową losowego modelu leśnego w miarę dodawania kolejnych drzew decyzyjnych. Dokładność szybko się poprawia, aż osiągnie poziom równy 0,865. Jednak dodanie większej liczby drzew decyzyjnych nie zmniejsza dokładności. Inaczej mówiąc, model nie pasuje. Takie zachowanie (w większości) zawsze prawdziwe i niezależne od hiperparametrów.
Rysunek 24. Dokładność pozostaje bez zmian, gdy do lasu losowo dodawane są kolejne drzewa decyzyjne.