Moje pytanie: Dlaczego losowy las rozważa losowe podzbiory funkcji do podziału na poziomie węzłów w obrębie każdego drzewa, a nie na poziomie drzewa ?
Tło: To jest pytanie historyczne. Tin Kam Ho opublikował ten artykuł na temat budowy „lasów decyzyjnych”, losowo wybierając podzbiór cech do uprawy każdego drzewa w 1998 roku. Kilka lat później, w 2001 roku, Leo Breiman opublikował swój przełomowy artykuł Random Forest , w którym podzbiór cech jest losowy wybierane w każdym węźle w obrębie każdego drzewa, a nie w każdym drzewie. Chociaż Breiman zacytował Ho, nie wyjaśnił szczegółowo przejścia z losowego wyboru cech na poziomie węzła.
Zastanawiam się, co konkretnie motywowało ten rozwój. Wydaje się, że wybranie podzbioru cech na poziomie drzewa nadal zapewniłoby pożądaną korelację drzew.
Moja teoria: nie widziałem tego wyrażonego gdzie indziej, ale wydaje się, że metoda losowej podprzestrzeni byłaby mniej wydajna pod względem uzyskiwania oszacowań ważności cech. Aby uzyskać oszacowania o różnym znaczeniu, dla każdego drzewa cechy są losowo permutowane jeden po drugim i rejestrowany jest wzrost błędnej klasyfikacji lub wzrost błędu w przypadku obserwacji poza torbą. Zmienne, dla których błąd klasyfikacji lub wzrost błędu wynikający z tej losowej permutacji jest wysoki, są zmiennymi o największym znaczeniu.
Jeśli używamy metodę losowego podprzestrzeń, na każdym drzewie, rozważamy tylko z funkcje. Rozpoznanie wszystkich predyktorów może zająć kilka drzew nawet raz. Z drugiej strony, jeśli weźmiemy pod uwagę inny podzbiór z wyposażony w każdym węźle , rozważymy Każda cecha więcej razy po mniej drzew, dając nam bardziej wiarygodne oszacowanie znaczenia fabularnego.
To, na co do tej pory patrzyłem: do tej pory przeczytałem artykuł Breimana i artykuł Ho i przeprowadziłem szerokie wyszukiwanie online porównań metod bez znalezienia ostatecznej odpowiedzi. Zauważ, że podobne pytanie zostało zadane wcześniej. To pytanie idzie nieco dalej, włączając moją spekulację / pracę w kierunku możliwego rozwiązania. Byłbym zainteresowany wszelkimi odpowiedziami, odpowiednimi cytatami lub badaniami symulacyjnymi porównującymi oba podejścia. Jeśli nie ma żadnych, planuję uruchomić własną symulację, porównując dwie metody.
Odpowiedzi:
Załóżmy, że mamy 10 funkcji f1, f2, ..., f9, f10, a następnie, gdy weźmiemy podzbiór, załóżmy, że f1, f3, f4, f8 cech na poziomie drzewa, konstruujemy całe drzewo, biorąc te 4 cechy pod uwagę.
Obliczamy entropię, porównujemy tylko te 4 cechy w każdym węźle i bierzemy tę cechę, która daje maksymalną entropię. Nie ma to większego zastosowania, ponieważ ograniczamy naszą naukę do drzewa tylko do tych 4 funkcji. W przeciwieństwie do tego, gdy weźmiemy pewien podzbiór funkcji, powiedzmy f1, f8, f9 w pierwszym węźle, obliczamy entropię i porównujemy je spośród tych 3 cech i wybieramy tę, która daje maksymalną wartość. Zamiast powiększać drzewo o te same funkcje, wybraliśmy inny podzbiór funkcji, powiedzmy f4, f7, f2 i dokonujemy podziału na podstawie tych funkcji. Załóżmy, że f8 wybrano w pierwszym węźle, a f2 wybrano w drugim węźle. Model jest w stanie nauczyć się relacji między nimi, które nie byłyby
W ten sposób model może nauczyć się zależności między różnymi funkcjami w bardziej zróżnicowany sposób. Podejście to będzie miało wiele cech zbadanych w jednym drzewie, a zatem relacje między nimi zostaną zachowane. Mam nadzieję, że teraz to masz :)
źródło