Jestem całkiem nowy w losowych lasach. W przeszłości zawsze porównywałem dokładność dopasowania vs test z dopasowaniem vs pociągiem, aby wykryć przeregulowanie. Ale właśnie przeczytałem tutaj, że:
„W losowych lasach nie ma potrzeby weryfikacji krzyżowej ani oddzielnego zestawu testowego, aby uzyskać obiektywne oszacowanie błędu zestawu testowego. Jest ono szacowane wewnętrznie podczas przebiegu ...”
Mały akapit powyżej znajduje się w sekcji Szacowanie błędu braku opakowania (OOB) . Ta koncepcja błędu wyjęcia z torby jest dla mnie zupełnie nowa i nieco mylące jest to, że błąd OOB w moim modelu wynosi 35% (lub 65% dokładności), ale jeśli zastosuję weryfikację krzyżową do moich danych (zwykły błąd) metoda) i porównaj oba dopasowanie vs test z dopasowaniem vs pociąg Otrzymuję odpowiednio 65% i 96% dokładności. Z mojego doświadczenia wynika, że jest to uważane za nadmierne dopasowanie, ale OOB zawiera błąd 35%, podobnie jak mój błąd dopasowania vs błąd testu . Czy jestem zbyt dobry? Czy powinienem nawet stosować krzyżową weryfikację, aby sprawdzić, czy w przypadkowych lasach nie występuje nadmierne dopasowanie?
Krótko mówiąc, nie jestem pewien, czy powinienem ufać OOB, aby uzyskać bezstronny błąd błędu zestawu testowego, gdy mój dopasowanie vs pociąg wskazuje, że jestem przeregulowany!
Odpowiedzi:
błąd szkolenia (jak w
predict(model, data=train)
) jest zazwyczaj bezużyteczny. O ile nie wykonasz (niestandardowego) przycinania drzew, konstrukcja algorytmu nie może znacznie przekraczać 0 . Losowy las wykorzystuje agregację bootstrap drzew decyzyjnych, o których wiadomo, że źle się ze sobą pokrywają. To jest jak błąd szkolenia dla klasyfikatora 1 najbliższego sąsiada.Algorytm oferuje jednak bardzo elegancki sposób obliczania oszacowania błędu braku opakowania, który jest zasadniczo oszacowaniem błędu modelu zagregowanego po rozruchu). Błąd „out-of-bag” jest szacowanym błędem agregującym prognozy frakcji drzew, które były trenowane bez tego konkretnego przypadku. Modele zagregowane dla błędu braku w torbie będą niezależne tylko wtedy, gdy nie będzie zależności między wierszami danych wejściowych. Tj. Każdy wiersz = jeden niezależny przypadek, brak hierarchicznej struktury danych / brak grupowania / brak powtarzanych pomiarów.≈ 1mi
Tak więc błąd „out-of-bag” nie jest dokładnie taki sam (mniej drzew do agregacji, więcej kopii przypadków szkoleniowych) jak błąd weryfikacji krzyżowej, ale dla celów praktycznych jest wystarczająco dokładny.
To, co miałoby sens, aby spojrzeć na to, aby wykryć nadmierne dopasowanie, polega na porównaniu błędu „poza torbą” z zewnętrzną weryfikacją. Jednakże, o ile nie wiesz o klastrowaniu danych, „prosty” błąd weryfikacji krzyżowej będzie podatny na takie same optymistyczne odchylenie, jak błąd wyjścia z torby: dzielenie odbywa się według bardzo podobnych zasad.
Aby dobrze to wykryć, musisz dokładnie porównać walidację „poza torbą” lub weryfikację krzyżową z błędem.
źródło
Błąd „out-of-bag” jest przydatny i może zastąpić inne protokoły szacowania wydajności (takie jak sprawdzanie poprawności krzyżowej), ale należy go używać ostrożnie.
Podobnie jak w przypadku walidacji krzyżowej, oszacowanie wydajności przy użyciu próbek poza torbą jest obliczane przy użyciu danych, które nie zostały wykorzystane do nauki. Jeśli dane zostały przetworzone w sposób, który przenosi informacje między próbkami, oszacowanie będzie (prawdopodobnie) tendencyjne. Proste przykłady, które przychodzą na myśl, to wybór funkcji lub przypisanie brakującej wartości. W obu przypadkach (a zwłaszcza w przypadku wyboru funkcji) dane są przekształcane z wykorzystaniem informacji z całego zestawu danych, co wpływa na oszacowanie.
źródło