Czy Losowy Las się pokrywa?

24

Czytałem już o Losowych Lasach, ale tak naprawdę nie mogę znaleźć ostatecznej odpowiedzi na temat problemu nadmiernego dopasowania. Według oryginalnej pracy Breimana nie powinny się one nadmiernie obciążać podczas zwiększania liczby drzew w lesie, ale wydaje się, że nie ma zgody w tej sprawie. To wprawia mnie w pewne zamieszanie.

Może ktoś bardziej ekspert ode mnie może udzielić bardziej konkretnej odpowiedzi lub skierować mnie w dobrym kierunku, aby lepiej zrozumieć problem.

markusian
źródło
3
Wszystkie algorytmy do pewnego stopnia się dopasują. Nie chodzi o wybranie czegoś, co nie pasuje, chodzi o staranne rozważenie liczby przypadków nadmiernego dopasowania i formy rozwiązywanego problemu, aby zmaksymalizować trafniejsze dane.
indico
1
ISTR, że Breiman miał dowód oparty na prawie wielkich liczb. Czy ktoś odkrył wadę tego dowodu?
JenSCDC,
@AndyBlankertz ISTR = internetslang.com/ISTR-meaning-definition.asp ?
Hack-R

Odpowiedzi:

22

Każdy algorytm ML o dużej złożoności może się przewyższyć. Jednak PO pyta, czy RF nie będzie pasował, gdy zwiększy się liczbę drzew w lesie.

Ogólnie rzecz biorąc, metody zespolone zmniejszają wariancję prognozowania prawie do zera, poprawiając dokładność zestawu. Jeśli zdefiniujemy wariancję oczekiwanego błędu generalizacji indywidualnego modelu losowego jako:

Od tutaj , wariancja oczekiwanego błędu uogólnienia zespole Odpowiada to:

gdzie p(x)jest współczynnik korelacji Pearsona między prognozami dwóch randomizowanych modeli wytrenowanych na tych samych danych z dwóch niezależnych nasion. Jeśli zwiększymy liczbę DT w RF, większe M, wariancja zestawu zmniejsza się, kiedy ρ(x)<1. Dlatego wariancja zestawu jest ściśle mniejsza niż wariancja pojedynczego modelu.

Krótko mówiąc, zwiększenie liczby pojedynczych modeli losowych w zestawie nigdy nie zwiększy błędu uogólnienia.

tashuhka
źródło
1
To zdecydowanie mówi Leo Breiman i teoria, ale empirycznie wydaje się, że zdecydowanie się dopasowują. Na przykład obecnie mam model z 10-krotnym CV MSE 0,02, ale przy pomiarze z prawdą podstawową CV MSE wynosi 0,4. OTOH, jeśli zmniejszę głębokość i liczbę drzew, wydajność modelu znacznie się poprawi.
Hack-R
4
Zmniejszenie głębokości drzewa to inny przypadek, ponieważ dodajesz regularyzację, która zmniejszy nadmierne dopasowanie. Spróbuj wykreślić MSE, gdy zwiększysz liczbę drzew, pozostawiając resztę parametrów bez zmian. Tak więc masz MSE na osi y i num_tress na osi x. Zobaczysz, że przy dodawaniu większej liczby drzew błąd szybko maleje, a następnie ma płaskowyż; ale nigdy nie wzrośnie.
tashuhka
9

Możesz sprawdzić cross-validated - stachexchange stronę internetową dla wielu rzeczy, w tym uczenia maszynowego.

W szczególności na to pytanie (o dokładnie tym samym tytule) udzielono już wielu odpowiedzi. Sprawdź te linki: /stats//search?q=random+forest+overfit

Ale mogę ci udzielić krótkiej odpowiedzi: tak, to się przesadza, a czasem trzeba kontrolować złożoność drzew w lesie, a nawet przycinać, gdy rosną za dużo - ale to zależy od biblioteki, której używasz budowanie lasu. Np. W randomForestR możesz kontrolować tylko złożoność

Aleksiej Grigoriew
źródło
3
  1. Losowy las się przesadza.
  2. Losowy las nie zwiększa błędu uogólnienia, gdy do modelu dodaje się więcej drzew. Wariancja uogólnienia zbliży się do zera przy użyciu większej liczby drzew.

Zrobiłem bardzo prosty eksperyment. Wygenerowałem dane syntetyczne:

y = 10 * x + noise

Trenowałem dwa modele Lasu Losowego:

  • jeden z pełnymi drzewami
  • jeden z przyciętymi drzewami

Model z pełnymi drzewami ma mniejszy błąd pociągu, ale wyższy błąd testu niż model z przycinanymi drzewami. Odpowiedzi obu modeli:

odpowiedzi

Jest to wyraźny dowód na nadmierne dopasowanie. Następnie wziąłem hiper-parametry przerobionego modelu i sprawdziłem błąd, dodając przy każdym drzewie kroku 1. Mam następujący wątek:

rosnące drzewa

Jak widać, błąd dopasowania nie zmienia się podczas dodawania większej liczby drzew, ale model jest przeregulowany. Oto link do przeprowadzonego eksperymentu.

pplonski
źródło
1

STRUKTUROWANY BAZ DANYCH -> NIEPOPRAWNE BŁĘDY OOB

W mojej praktyce zawodowej znalazłem interesujący przypadek nadmiernego dopasowania RF. Gdy dane są ustrukturyzowane, RF nakłada się na obserwacje OOB.

Szczegół :

Staram się przewidzieć ceny energii elektrycznej na rynku kasowym energii elektrycznej dla każdej godziny (każdy wiersz zestawu danych zawiera cenę i parametry systemu (obciążenie, moce itp.) Dla tej jednej godziny).
Ceny energii elektrycznej tworzone są partiami (24 ceny tworzone na rynku energii elektrycznej w jednym ustaleniu w jednym momencie).
Więc OOB obs dla każdego drzewa to losowe podzbiory zestawu godzin, ale jeśli przewidujesz kolejne 24 godziny, robisz to wszystko naraz (w pierwszej chwili uzyskujesz wszystkie parametry systemowe, a następnie przewidujesz 24 ceny, wtedy jest ustalenie, które produkuje te ceny), więc łatwiej jest przewidywać OOB, niż przez cały następny dzień. OOB obs nie są zawarte w blokach 24-godzinnych, ale rozproszone równomiernie, ponieważ istnieje autokorelacja błędów prognozowania, łatwiej jest przewidzieć cenę za jedną godzinę, której brakuje wtedy za cały blok brakujących godzin.

łatwiej przewidzieć w przypadku błędu autokorelacja:
znany, znany, przewidywanie, znany, przewidywanie - przypadek OBB
trudniejszy:
znany, znany, znany, przewidywanie, przewidywanie - przypadek przewidywania w świecie rzeczywistym

Mam nadzieję, że to interesujące

Qbik
źródło