Zrozumiałem, że losowy las i skrajnie losowe drzewa różnią się w tym sensie, że podziały drzew w losowym lesie są deterministyczne, podczas gdy są one losowe w przypadku skrajnie randomizowanych drzew (aby być dokładniejszym, następny podział jest najlepszym podziałem spośród losowych jednolitych podziałów wybranych zmiennych dla bieżącego drzewa). Ale nie rozumiem w pełni wpływu różnych podziałów w różnych sytuacjach.
- Jak wypada porównanie pod względem odchylenia / wariancji?
- Jak wypadają w obecność nieistotnych zmiennych?
- Jak wypadają one w porównaniu w obecności skorelowanych zmiennych?
Komentarze
Odpowiedź
Dodatkowe- (losowe) -drzewa (ET) artykuł zawiera analizę odchylenia i wariancji. Na stronie 16 można zobaczyć porównanie z wieloma metodami, w tym RF, w sześciu testach (drzewo c klasyfikacja i trzy regresje).
Obie metody są mniej więcej takie same, z ET jest nieco gorszy, gdy występuje duża liczba zaszumionych cech (w wielowymiarowych zbiorach danych).
To powiedziawszy, pod warunkiem, że (być może ręczny) wybór funkcji jest prawie optymalny, wydajność jest mniej więcej taka sama, jednak ET mogą być obliczeniowo szybsze.
Z samego artykułu:
Analiza algorytmu i określenie optymalnej wartości K w kilku wariantach problemu testowego pokazały, że wartość ta jest w zasadzie zależna od specyfiki problemu, w szczególności proporcja nieistotnych atrybutów . […] Analiza odchylenia / wariancji wykazała, że Dodatkowe Drzewa działają poprzez zmniejszanie wariancji , jednocześnie zwiększając odchylenie . […] Gdy randomizacja zostanie zwiększona powyżej optymalnego poziomu, wariancja nieznacznie się zmniejsza, podczas gdy odchylenie często znacznie wzrasta.
Brak srebrnego punktu, jak zawsze.
Pierre Geurts, Damien Ernst, Louis Wehenke. „Ekstremalnie losowe drzewa”
Komentarze
- Wszelkie odniesienia (zarówno empiryczne, jak i teoretyczne) dotyczące ET są nieco gorsze, gdy występuje duża liczba szumów funkcje? Czy jest to oparte na doświadczeniu?
- Z mojego doświadczenia wynika, że jest odwrotnie: dodatkowe drzewa radzą sobie lepiej z wieloma hałaśliwymi funkcjami. Z zastrzeżeniem, że musisz mieć duży las (wiele estymatorów, n_estimators w sklearn) i dostroić liczbę funkcji rozważanych przy każdym podziale (max_features w sklearn), aby to zadziałało. Pojedyncze Drzewo Dodatkowe będzie pasować więcej niż jedno losowe drzewo leśne, ale jeśli masz wiele Drzew Dodatkowych, będą one miały tendencję do nadmiernego dopasowania na różne sposoby i nie będą nadmiernie dopasowane. Często dostaję znaczną poprawę do 3000 estymatorów.
- Jak zauważył @ramhiser, ET wydaje się utrzymywać wyższą wydajność w obecności zaszumionych funkcji. Czy możesz dodać odniesienia do swojej odpowiedzi?
- Czy drzewa w dodatkowych drzewach zawsze są ' pniakiem ' (tylko jeden podział) ?? Takie wrażenie daje czytanie innych artykułów.
Odpowiedź
ExtraTreesClassifier jest jak brat RandomForest, ale ma 2 ważne różnice.
Jesteśmy budowanie wielu drzew decyzyjnych. Aby zbudować wiele drzew, potrzebujemy wielu zestawów danych. Najlepszą praktyką jest to, że nie trenujemy drzew decyzyjnych na całym zbiorze danych, ale trenujemy tylko na ułamku danych (około 80%) dla każdego drzewa. W losowym lesie rysujemy obserwacje z zastępowaniem. Więc możemy powtórzyć obserwacje w losowym lesie. W ExtraTreesClassifier rysujemy obserwacje bez zamiany, więc nie będziemy mieli powtórzeń obserwacji jak w losowym lesie.
Podział jest procesem konwersji niejednorodnego węzła macierzystego na 2 jednorodne węzły potomne (najlepsze możliwe). W RandomForest wybiera najlepszy podział, aby przekształcić rodzica w dwa najbardziej jednorodne węzły potomne. W ExtraTreesClassifier wybiera losowy podział, aby podzielić węzeł nadrzędny na dwa losowe węzły potomne.
Przyjrzyjmy się niektórym metodom złożonym uporządkowanym od wysokiej do niskiej wariancji, kończąc na ExtraTreesClassifier.
1.Drzewo decyzyjne (wysoka wariancja)
Pojedyncze drzewo decyzyjne zwykle przekracza dane, z których się uczy, ponieważ uczy się tylko z jednej ścieżki decyzje. Prognozy z jednego drzewa decyzyjnego zwykle nie pozwalają na dokładne przewidywanie nowych danych.
2. Random Forest (Medium Variance)
Losowe modele lasów zmniejszają ryzyko nadmiernego dopasowania, wprowadzając losowość poprzez:
- budowanie wielu drzew (n_estimators)
- rysowanie obserwacji z zastępowaniem (tj. próbka bootstrapped)
- dzielenie węzłów na najlepszy podział na losowy podzbiór cech wybranych w każdym węźle . Podział to proces przekształcania niejednorodnego węzła nadrzędnego w 2 jednorodne węzły potomne (najlepiej z możliwych).
3. Dodatkowe drzewa (niska wariancja)
Dodatkowe drzewa są jak Losowy Las, ponieważ budują wiele drzew i dzielą węzły przy użyciu losowych podzbiorów funkcje, ale z dwiema kluczowymi różnicami: nie ładuje obserwacji (co oznacza, że pobiera próbki bez wymiany), a węzły są dzielone na losowe podziały, a nie najlepsze podziały. Podsumowując, ExtraTrees:
- buduje wiele drzew z domyślną wartością bootstrap = False, co oznacza, że próbki bez zamiany
- węzły są dzielone na podstawie losowych podziałów między losowym podzbiorem cech wybranych w każdym węźle
W dodatkowych drzewach losowość nie pochodzi z ładowania początkowego danych, ale pochodzi z losowych podziałów wszystkich obserwacji. Nazwa ExtraTrees pochodzi od (Extremely Randomized Trees).
Komentarze
- [Bootstrapping] ( pl .wikipedia.org / wiki / Bootstrapping_ (statystyki) to próbkowanie z zamiennikiem.
Odpowiedź
Bardzo dziękuję za odpowiedzi! Ponieważ nadal miałem pytania, wykonałem kilka symulacji numerycznych, aby uzyskać więcej informacji na temat zachowania tych dwóch metod.
- Dodatkowe drzewa wydają się utrzymywać wyższą wydajność w obecności hałaśliwych funkcji.
Poniższy rysunek przedstawia wydajność (ocenianą przez walidację krzyżową), gdy do zbioru danych dodawane są losowe kolumny nieistotne dla celu. cel jest po prostu liniową kombinacją pierwszych trzech kolumn.
-
Gdy wszystkie zmienne są istotne, obie metody wydają się osiągać ten sam parametr ce,
-
Dodatkowe drzewa wydają się trzy razy szybsze niż losowy las (przynajmniej w implementacji scikit Learn)
Źródła
Link do całego artykułu: losowy las vs dodatkowe drzewa .
Komentarze
- Z Twojego połączonego artykułu: ” Wyniki z losowego lasu są wyświetlane na niebiesko, a na czerwono w przypadku dodatkowych drzew. ”
Odpowiedź
Odpowiedź jest taka, że to zależy. Proponuję wypróbować zarówno losowy las, jak i dodatkowe drzewa na swoim problemie. Wypróbuj duży las (1000-3000 drzew / estymatorów, n_estimators w sklearn) i dostosuj liczbę cech rozpatrywanych w każdym podziale (max_features w sklearn), a także minimalną liczbę próbek na podział (min_samples_split w sklearn) i maksymalną głębokość drzewa ( max_depth w sklearn). To powiedziawszy, należy pamiętać, że nadmierne dostrojenie może być formą nadmiernego dopasowania.
Oto dwa problemy, nad którymi pracowałem osobiście, gdzie dodatkowe drzewa okazały się przydatne w przypadku bardzo hałaśliwych danych:
Wydajne, rozproszone przewidywanie zaburzeń białek z wklejonymi próbkami
uniform split
?