Jakie są podobieństwa i różnice między tymi 3 metodami:
- Parcianka,
- Wzmocnienie,
- Układanie?
Który jest najlepszy? I dlaczego?
Czy możesz podać mi przykład dla każdego z nich?
machine-learning
boosting
ensemble
bagging
model-averaging
Bucsa Lucian
źródło
źródło
Odpowiedzi:
Wszystkie trzy są tak zwane „meta-algorytmy”: podejścia do łączenia kilku technik uczenia maszynowego do jednego modelu predykcyjnego w celu zmniejszenia wariancji ( pakującej ) bias ( zwiększenie ) lub poprawę siły predykcyjnej ( spiętrzania alias zespół ).
Każdy algorytm składa się z dwóch kroków:
Tworzenie dystrybucji prostych modeli ML na podzbiorach oryginalnych danych.
Łączenie rozkładu w jeden „zagregowany” model.
Oto krótki opis wszystkich trzech metod:
Pakowanie (skrót B ootstrap Agg Regat ing ) to sposób, aby zmniejszyć wariancję swojej przepowiedni generując dodatkowe dane dotyczące treningu z oryginalnego zbioru danych przy użyciu kombinacji z powtórzeniami produkować multisets tej samej liczności / wielkości jak oryginalnych danych. Zwiększając rozmiar zestawu treningowego, nie można poprawić siły predykcyjnej modelu, ale po prostu zmniejszyć wariancję, ściśle dostosowując prognozę do oczekiwanego wyniku.
Zwiększenie jest podejściem dwuetapowym, w którym najpierw wykorzystuje się podzbiory oryginalnych danych, aby stworzyć serię średnio wydajnych modeli, a następnie „zwiększa” ich wydajność, łącząc je ze sobą przy użyciu określonej funkcji kosztu (= głosowanie większościowe). W przeciwieństwie do workowania, w klasycznym wzmocnieniu tworzenie podzbioru nie jest losowe i zależy od wydajności poprzednich modeli: każdy nowy podzbiór zawiera elementy, które były (prawdopodobnie będą) błędnie sklasyfikowane przez poprzednie modele.
Układanie jest podobne do zwiększania: stosuje się również kilka modeli do oryginalnych danych. Różnica polega jednak na tym, że nie masz tylko empirycznej formuły dla swojej funkcji wagi, a raczej wprowadzasz meta-poziom i używasz innego modelu / podejścia do oszacowania danych wejściowych wraz z wynikami każdego modelu do oszacowania wag lub , innymi słowy, aby ustalić, które modele działają dobrze, a co źle, biorąc pod uwagę te dane wejściowe.
Oto tabela porównawcza:
Jak widać, są to różne podejścia do połączenia kilku modeli w jeden lepszy i nie ma tutaj jednego zwycięzcy: wszystko zależy od domeny i tego, co zamierzasz zrobić. Nadal możesz traktować układanie jako rodzaj większej liczby ulepszeń , jednak trudność w znalezieniu dobrego podejścia do twojego meta-poziomu utrudnia zastosowanie tego podejścia w praktyce.
Krótkie przykłady każdego:
źródło
Pakowanie :
zespół równoległy : każdy model jest budowany niezależnie
dążyć do zmniejszenia wariancji , a nie stronniczości
nadaje się do modeli o dużym odchyleniu i niskim odchyleniu (modele złożone)
przykładem metody opartej na drzewach jest losowy las , w którym rozwijają się w pełni dorosłe drzewa (należy zauważyć, że RF modyfikuje procedurę uprawy w celu zmniejszenia korelacji między drzewami)
Zwiększenie :
zespół sekwencyjny : spróbuj dodać nowe modele, które dobrze sobie radzą tam, gdzie brakuje poprzednich modeli
dążyć do zmniejszenia nastawienia , a nie wariancji
nadaje się do modeli o niskiej wariancji i dużym odchyleniu
przykładem metody opartej na drzewie jest zwiększenie gradientu
źródło
Wystarczy trochę rozwinąć odpowiedź Yuqiana. Ideą workowania jest to, że kiedy PRZESZKADZASZ metodą regresji nieparametrycznej (zwykle drzewa regresji lub klasyfikacji, ale może to być prawie dowolna metoda nieparametryczna), masz tendencję do przechodzenia do części o dużym odchyleniu, braku (lub niskiej) stronniczości / kompromis wariancji. Wynika to z faktu, że model nadmiernego dopasowania jest bardzo elastyczny (tak niski błąd systematyczny w przypadku wielu próbek z tej samej populacji, jeśli były one dostępne), ale ma dużą zmienność (jeśli pobiorę próbkę i dopasuję ją, a ty pobierzesz próbkę i dopasujesz ją, nasze wyniki będą się różnić, ponieważ regresja nieparametryczna śledzi szum w danych). Co możemy zrobić? Możemy pobrać wiele próbek (od ładowania początkowego), każda z nich jest zbyt duża i uśrednić je razem. Powinno to prowadzić do tego samego błędu (niski), ale anulować część wariancji,
Zwiększanie gradientu w jego sercu działa z regresjami nieparametrycznymi UNDERFIT, które są zbyt proste, a zatem nie są wystarczająco elastyczne, aby opisać rzeczywistą relację w danych (tj. Stronniczość), ale ponieważ są niedopasowane, mają małą wariancję (miałbyś tendencję aby uzyskać ten sam wynik, jeśli zbierzesz nowe zestawy danych). Jak to naprawisz? Zasadniczo, jeśli nie jesteś w dobrej formie, RESIDUALS twojego modelu nadal zawierają użyteczną strukturę (informacje o populacji), więc powiększasz posiadane drzewo (lub dowolny predyktor nieparametryczny) o drzewo zbudowane na resztkach. Powinno to być bardziej elastyczne niż oryginalne drzewo. Wielokrotnie generujesz coraz więcej drzew, każde w kroku k powiększone o drzewo ważone na podstawie drzewa dopasowanego do resztek z kroku k-1. Jedno z tych drzew powinno być optymalne, więc albo kończy się na zważeniu wszystkich tych drzew razem lub wybraniu jednego, który wydaje się najlepiej pasować. Zatem zwiększanie gradientu jest sposobem na zbudowanie grona bardziej elastycznych drzew kandydujących.
Podobnie jak wszystkie podejścia do regresji lub klasyfikacji nieparametrycznej, czasami workowanie lub wzmacnianie działa świetnie, czasem jedno lub drugie podejście jest mierne, a czasem jedno lub drugie podejście (lub oba) ulega awarii i pali.
Obie te techniki można również zastosować do metod regresji innych niż drzewa, ale najczęściej są one związane z drzewami, być może dlatego, że trudno jest ustawić parametry, aby uniknąć niedopasowania lub przeregulowania.
źródło
Zobacz mój post na blogu poświęconym nauce
Źródła tego obrazu:
źródło
Podsumowując, Bagging i Boosting są zwykle używane w jednym algorytmie, podczas gdy Stacking jest zwykle używany do podsumowania kilku wyników z różnych algorytmów.
Random Forest
, które eliminują wariancję i nie mają problemu z przeregulowaniem.GBM
iXGBoost
który eliminuje wariancję, ale ma problem z przeregulowaniem.źródło
zarówno workowanie, jak i przyspieszanie używają jednego algorytmu uczenia się dla wszystkich kroków; ale używają różnych metod postępowania z próbkami szkoleniowymi. oba są metodami uczenia się w zespole, które łączą decyzje z wielu modeli.
Pakowanie :
1. zmienia dane treningowe, aby uzyskać M podzbiorów (ładowanie początkowe);
2. szkoli M klasyfikatorów (ten sam algorytm) w oparciu o M zestawów danych (różne próbki);
3. klasyfikator końcowy łączy wyniki M poprzez głosowanie;
waga próbek równomiernie;
klasyfikatory ważą jednakowo;
zmniejsza błąd poprzez zmniejszenie wariancji
Pobudzanie : tu skupić się na algorytmie adaboost
1. Uruchom z równą wadze dla wszystkich próbek w pierwszej rundzie;
2. w kolejnych rundach M-1, zwiększ wagę próbek błędnie sklasyfikowanych w ostatniej rundzie, zmniejsz wagę próbek poprawnie sklasyfikowanych w ostatniej rundzie
3. używając ważonego głosowania, ostateczny klasyfikator łączy wiele klasyfikatorów z poprzednich rund i daje większe wagi do klasyfikatorów z mniejszymi błędami klasyfikacji.
próbki powtórnych wag; wagi dla każdej rundy w oparciu o wyniki z ostatniej rundy
ponownie ważą próbki (zwiększenie) zamiast ponownego próbkowania (workowanie).
źródło
Bagging i boosting mają tendencję do używania wielu jednorodnych modeli.
Układanie łączy wyniki z heterogenicznych typów modeli.
Ponieważ żaden typ jednego modelu nie jest najlepiej dopasowany do całej dystrybucji, możesz zrozumieć, dlaczego może to zwiększyć moc predykcyjną.
źródło