Jaką miarę błędu szkolenia zgłosić w Losowych lasach?

16

Obecnie dopasowuję losowe lasy pod kątem problemu z klasyfikacją za pomocą randomForestpakietu w R i nie jestem pewien, jak zgłosić błąd szkolenia dla tych modeli.

Mój błąd szkolenia jest bliski 0%, kiedy go obliczam, używając prognoz, które otrzymuję za pomocą polecenia:

predict(model, data=X_train)

gdzie X_trainsą dane treningowe.

W odpowiedzi na powiązane pytanie przeczytałem, że należy użyć błędu szkolenia out-of-bag (OOB) jako wskaźnika błędu szkolenia dla losowych lasów. Ta ilość jest obliczana na podstawie prognoz uzyskanych za pomocą polecenia:

predict(model)

W tym przypadku błąd szkolenia OOB jest znacznie bliższy średniemu błędowi testu 10-CV, który wynosi 11%.

Zastanawiam się:

  1. Czy ogólnie przyjmuje się zgłaszanie błędu szkolenia OOB jako miary błędu szkolenia losowych lasów?

  2. Czy to prawda, że ​​tradycyjna miara błędu treningu jest sztucznie niska?

  3. Jeśli tradycyjna miara błędu treningu jest sztucznie niska, to jakie dwie miary mogę porównać, aby sprawdzić, czy RF się nie dopasowuje?

Berk U.
źródło

Odpowiedzi:

11

Aby dodać do odpowiedzi @Soren H. Welling.

1. Czy ogólnie przyjmuje się zgłaszanie błędu szkolenia OOB jako miary błędu szkolenia losowych lasów?

Nie. Błąd OOB w wyuczonym modelu nie jest tym samym, co błąd szkolenia. Może to jednak służyć jako miara dokładności predykcyjnej.

2. Czy to prawda, że ​​tradycyjna miara błędu szkolenia jest sztucznie niska?

Dzieje się tak, jeśli uruchamiamy problem z klasyfikacją przy użyciu ustawień domyślnych. Dokładny proces opisano w poście na forum autorstwa Andy'ego Liawa , który utrzymuje randomForestpakiet w języku R, w następujący sposób:

W większości wyniki na zestawie treningowym są bez znaczenia. (Dotyczy to większości algorytmów, ale szczególnie RF). W ustawieniu domyślnym (i zalecanym) drzewa rosną do maksymalnego rozmiaru, co oznacza, że ​​całkiem prawdopodobne jest, że w większości węzłów końcowych jest tylko jeden punkt danych, a prognozy w węzłach końcowych są określone przez klasę większości w węźle lub samotny punkt danych. Załóżmy, że tak jest cały czas; tzn. we wszystkich drzewach wszystkie węzły końcowe mają tylko jeden punkt danych. Szczególnym punktem danych byłoby „w torbie” około 64% drzew w lesie, a każde z tych drzew ma poprawne prognozy dla tego punktu danych. Nawet jeśli wszystkie drzewa, w których te punkty danych są wyjęte z torby, dawały błędne prognozy, większością głosów wszystkich drzew, na końcu nadal otrzymujesz właściwą odpowiedź. Zatem w zasadzie idealne przewidywanie zestawu pociągów dla RF jest „zgodne z projektem”.

nodesize > 1sampsize < 0.5N(xja,yja)

3. Jeśli tradycyjna miara błędu treningu jest sztucznie niska, to jakie dwie miary mogę porównać, aby sprawdzić, czy RF się nie dopasowuje?

Jeśli uruchomimy RF z nodesize = 1i sampsize > 0.5, błąd szkolenia RF będzie zawsze bliski 0. W takim przypadku jedynym sposobem na stwierdzenie, czy model jest zbyt dopasowany, jest zachowanie niektórych danych jako niezależnego zestawu sprawdzania poprawności. Następnie możemy porównać błąd testu 10-CV (lub błąd testu OOB) z błędem w niezależnym zestawie sprawdzania poprawności. Jeśli błąd testu 10-CV jest znacznie niższy niż błąd niezależnego zestawu sprawdzania poprawności, model może być przeregulowany.

Berk U.
źródło
2

[edytowany 21.7.15 08:31 CEST]

Podejrzewam, że użyłeś RF do klasyfikacji. Ponieważ w tym przypadku algorytm wytwarza w pełni dorosłe drzewa z czystymi węzłami końcowymi tylko jednej klasy docelowej.

predict(model, data=X_train)

Ta linia kodowania przypomina psa ścigającego [~ 66%] własnego ogona. Prognozą każdej próbki treningowej jest klasa samej próbki treningowej. W przypadku regresji RF zatrzymuje się, jeśli węzeł zawiera 5 lub mniej próbek lub jeśli węzeł jest czysty. Tutaj błąd prognozowania będzie mały, ale nie będzie wynosił 0%.

W uczeniu maszynowym często pracujemy z dużymi przestrzeniami hipotez. Oznacza to, że zawsze będzie wiele nie sfałszowanych hipotez / wyjaśnień / modeli do struktury danych naszego zestawu szkoleniowego. W statystyce klasycznej przestrzeń hipotezy jest często niewielka, dlatego bezpośrednie dopasowanie modelu ma charakter informacyjny zgodnie z pewną założoną teorią prawdopodobieństwa. W uczeniu maszynowym bezpośredni brak dopasowania odnosi się do stronniczości modelu. Bias to „nieelastyczność” modelu. To niew każdym razie zapewniają przybliżenie mocy uogólniającej (zdolność do przewidywania nowych zdarzeń). W przypadku modeli algorytmicznych walidacja krzyżowa jest najlepszym narzędziem do przybliżania mocy generalizacyjnej, ponieważ nie formułuje się żadnej teorii. Jeśli jednak założenia modelu dotyczące niezależnego próbkowania zawiodą, model może być bezużyteczny, nawet jeśli dobrze przeprowadzona walidacja krzyżowa sugeruje inaczej. Ostatecznie najsilniejszym dowodem jest zadowalające przewidzenie szeregu zewnętrznych zestawów testowych różnego pochodzenia.

Powrót do CV: Out-of-bag jest często akceptowanym typem CV. Osobiście uważam, że OOB-CV zapewnia podobne wyniki jak pięciokrotne CV, ale jest to bardzo niewielka uciążliwość. Jeśli porównać, powiedzmy RF do SVM, to OOB-CV nie jest przydatne, ponieważ normalnie unikalibyśmy pakowania SVM. Zamiast tego zarówno SVM, jak i RF byłyby osadzone w dokładnie tym samym schemacie walidacji krzyżowej, np. 10-krotnie 10-powtórzeń z dopasowanymi partycjami dla każdego powtórzenia. Wszelkie kroki inżynierii cech byłyby często potrzebne do weryfikacji krzyżowej. Jeśli chcesz utrzymać czystość, w życiorysie może być osadzony cały przewód danych.

Jeśli dostrajasz swój model za pomocą zestawu testowego (lub weryfikacji krzyżowej), ponownie pompujesz przestrzeń hipotez, a potwierdzone wyniki prognozowania są prawdopodobnie nadmiernie optymistyczne. Zamiast tego będziesz potrzebować zestawu kalibracyjnego (lub kalibracyjnej pętli CV) do strojenia i zestawu sprawdzania poprawności (lub walidacyjnej pętli CV) do oceny ostatecznego optymalnego modelu.

W skrajnym sensie twój wynik walidacji będzie bezstronny tylko wtedy, gdy nigdy nie podejmiesz tego wyniku, kiedy go zobaczysz. To jest paradoks walidacji, ponieważ dlaczego mielibyśmy uzyskać wiedzę, która jest prawdziwa tylko wtedy, gdy nie działasz zgodnie z nią. W praktyce społeczność chętnie akceptuje pewne uprzedzenia dotyczące publikacji, w przypadku których badacze, którzy otrzymali losową nadmiernie optymistyczną walidację, są bardziej skłonni do opublikowania, niż ci, którzy niefortunnie dobrze oceniają zbyt pesymistycznie. Dlatego czasami dlaczego nie można odtworzyć innych modeli.

Soren Havelund Welling
źródło
Dziękuję Ci za to. Dwa pytania: (1) Jak przewidywanie dowolnej próbki treningowej jest klasą samej próbki treningowej? Czy muszą istnieć drzewa, które nie wykorzystują próbki szkoleniowej, które są wykorzystywane w procedurze głosowania większościowego? (2) Jak oceniłbyś, czy miara RF jest zbyt mała?
Berk U.
(1) no tak, byłem tam trochę szybki, zredagowałem odpowiedź. Każda próbka będzie inbagowana w ~ 66% drzew. Jeśli próbka z drzewa była inbagowana podczas treningu, trafi do tego samego węzła podczas prognozowania w ~ 66%, i to wystarczy, aby za każdym razem wygrać głosowanie większościowe. Potwierdź to, obniżając sampsize do np. 30% próbek pociągu i zauważ wzrost z 0% błędu klasyfikacji. (2) Myślę, że odpowiedziałem na to. RF sam w sobie nie pasuje, ale możesz stworzyć kontekst podczas np. Strojenia, w którym uzyskasz nadmiernie optymistyczny wynik OOB-CV. Osadź swój cały proces w nowym CV, aby się upewnić.
Soren Havelund Welling