Łatwiej jest zacząć od drugiego pytania, a następnie przejść do pierwszego.
Parcianka
Random Forest to algorytm workowania. Zmniejsza wariancję.
Powiedz, że masz bardzo zawodne modele, takie jak Drzewa decyzyjne. (Dlaczego niewiarygodne? Ponieważ jeśli zmienisz nieco swoje dane, utworzone drzewo decyzyjne może być bardzo różne.) W takim przypadku możesz zbudować solidny model (zmniejszyć wariancję) poprzez tworzenie worków - tworzenie worków odbywa się podczas tworzenia różnych modeli poprzez ponowne próbkowanie danych, aby wynikowy model był bardziej niezawodny.
Losowy las nazywamy workowaniem stosowanym do drzew decyzyjnych, ale nie różni się niczym od innego algorytmu workowania.
Dlaczego chcesz to zrobić? To zależy od problemu. Ale zwykle pożądane jest, aby model był stabilny.
Boosting
Wzmocnienie zmniejsza wariancję, a także zmniejsza stronniczość. Zmniejsza wariancję, ponieważ używasz wielu modeli (workowanie). Zmniejsza to stronniczość, trenując kolejny model, mówiąc mu, jakie błędy popełniły poprzednie modele (część wzmacniająca).
Istnieją dwa główne algorytmy:
- Adaboost: jest to oryginalny algorytm; każesz kolejnym modelom, aby karały bardziej spostrzeżenia błędne w poprzednich modelach
- Zwiększanie gradientu: trenujesz każdy kolejny model z wykorzystaniem reszt (różnicy między wartościami przewidywanymi i prawdziwymi)
W tych zespołach Twój podstawowy uczeń musi być słaby. Jeśli zmieści się w danych, nie będzie żadnych pozostałości ani błędów w kolejnych modelach. Dlaczego te dobre modele? Cóż, większość konkursów na stronach internetowych takich jak Kaggle została wygrana przy użyciu drzew zwiększających gradient. Nauka o danych jest nauką empiryczną, ponieważ „ponieważ działa” jest wystarczająco dobra. W każdym razie zauważ, że modele doładowania mogą się nakładać (choć empirycznie nie jest to zbyt powszechne).
Kolejny powód, dla którego w szczególności zwiększanie gradientu jest również całkiem fajny: ponieważ bardzo ułatwia korzystanie z różnych funkcji strat, nawet jeśli pochodna nie jest wypukła. Na przykład, korzystając z prognozy probabilistycznej, możesz użyć funkcji takich jak funkcja pinball jako funkcji straty; coś, co jest znacznie trudniejsze w sieciach neuronowych (ponieważ pochodna jest zawsze stała).
[Ciekawa uwaga historyczna: wzmocnienie było pierwotnie wynalazkiem teoretycznym motywowanym pytaniem „ czy możemy zbudować silniejszy model przy użyciu słabszych modeli ”]
Uwaga: ludzie czasami mylą losowe drzewa zwiększające las i gradient, tylko dlatego, że oba używają drzew decyzyjnych, ale są to dwie bardzo różne rodziny zespołów.