Moje pytania dotyczą Losowych Lasów. Koncepcja tego pięknego klasyfikatora jest dla mnie jasna, ale wciąż istnieje wiele praktycznych pytań dotyczących użytkowania. Niestety nie udało mi się znaleźć żadnego praktycznego przewodnika po RF (szukałem czegoś takiego jak „Praktyczny przewodnik po szkoleniach z ograniczonymi maszynami Boltzmana” autorstwa Geoffrey'a Hintona, ale dla Random Forests!
Jak dostroić RF w praktyce?
Czy to prawda, że większa liczba drzew jest zawsze lepsza? Czy istnieje uzasadniony limit (z wyjątkiem oczywiście wydajności) na zwiększenie liczby drzew i jak je oszacować dla danego zestawu danych?
A co z głębokością drzew? Jak wybrać rozsądny? Czy ma sens eksperymentowanie z drzewami różnej długości w jednym lesie i jakie są tego wytyczne?
Czy są jakieś inne parametry, na które warto zwrócić uwagę podczas szkolenia RF? Algos do budowy pojedynczych drzew może być?
Kiedy mówią, że RF są odporne na nadmierne dopasowanie, jak to jest prawda?
Będę wdzięczny za wszelkie odpowiedzi i / lub linki do przewodników lub artykułów, które mogłem przeoczyć podczas wyszukiwania.
źródło
Odpowiedzi:
Nie jestem wiarygodną postacią, więc weź pod uwagę te krótkie uwagi dla praktyków:
Im więcej drzew, tym lepiej przy malejących zwrotach. Głębsze drzewa prawie zawsze lepiej wymagają większej liczby drzew o podobnej wydajności.
Powyższe dwa punkty są bezpośrednio wynikiem kompromisu wariancji odchylenia. Głębsze drzewa zmniejszają stronniczość; więcej drzew zmniejsza wariancję.
Najważniejszym hiperparametrem jest liczba funkcji do przetestowania dla każdego podziału. Im więcej bezużytecznych funkcji, tym więcej funkcji powinieneś wypróbować. To wymaga dostrojenia. Możesz w pewien sposób dostroić go za pomocą szacunków OOB, jeśli chcesz tylko znać swoje wyniki na danych treningowych i nie ma partnerstwa (~ powtarzane pomiary). Mimo że jest to najważniejszy parametr, jego optymalna wartość jest zwykle dość zbliżona do pierwotnej wartości domyślnej sugerowanej (sqrt (p) lub (p / 3) do klasyfikacji / regresji).
Dość niedawne badania pokazują, że nawet nie trzeba przeprowadzać wyczerpującego wyszukiwania dzielonego w obrębie funkcji, aby uzyskać dobrą wydajność. Po prostu wypróbuj kilka punktów cięcia dla każdej wybranej funkcji i przejdź dalej. Dzięki temu trening jest jeszcze szybszy. (~ Niezwykle losowe lasy / drzewa).
źródło
mtry
są lepsze, nie są potrzebne żadne dowody ani dowody empiryczne, aby to zobaczyć.Liczba drzew : im większe, tym lepiej: tak. Jednym ze sposobów oceny i ustalenia, kiedy przestać, jest monitorowanie poziomu błędów podczas budowania lasu (lub innych kryteriów oceny, których można użyć) i wykrywanie, kiedy się zbiega. Możesz to zrobić na samym zestawie do nauki lub, jeśli jest dostępny, na niezależnym zestawie testów. Należy również zauważyć, że liczba węzłów testowych w drzewach jest ograniczona górną liczbą obiektów, więc jeśli masz wiele zmiennych i nie ma zbyt wielu obiektów szkoleniowych, zdecydowanie większy las będzie zalecany w celu zwiększenia szanse na ocenę wszystkich deskryptorów przynajmniej raz w lesie.
Głębokość drzewa : istnieje kilka sposobów kontrolowania głębokości drzew (ograniczenie maksymalnej głębokości, ograniczenie liczby węzłów, ograniczenie liczby obiektów wymaganych do podziału, zatrzymanie podziału, jeśli podział nie poprawi dostatecznie dopasowania, ... ). Przez większość czasu zaleca się przycinanie (ograniczanie głębokości) drzew, jeśli mamy do czynienia z hałaśliwymi danymi. Na koniec możesz użyć w pełni rozwiniętych drzew do obliczenia wydajności krótszych drzew, ponieważ są one „podzbiorem” w pełni rozwiniętych drzew.
Ile funkcji przetestować w każdym węźle : zweryfikuj krzyżowo swoje doświadczenia z szerokim zakresem wartości (w tym zalecanych), powinieneś uzyskać krzywą wydajności i być w stanie zidentyfikować maksimum wskazujące, jaka jest najlepsza wartość dla tego parametru + Odpowiedź Shea Parkes.
Shea Parkes wspomniała o Extra-Trees, tutaj jest oryginalny artykuł szczegółowo opisujący metodę: http://orbi.ulg.ac.be/bitstream/2268/9357/1/geurts-mlj-advance.pdf
źródło