Es ist einfacher, mit der zweiten Frage zu beginnen und dann mit der ersten Frage fortzufahren.
Absacken
Random Forest ist ein Absackalgorithmus. Es reduziert die Varianz.
Angenommen, Sie haben sehr unzuverlässige Modelle, z. B. Entscheidungsbäume. (Warum unzuverlässig? Denn wenn Sie Ihre Daten ein wenig ändern, kann der erstellte Entscheidungsbaum sehr unterschiedlich sein.) In einem solchen Fall können Sie durch Absacken ein robustes Modell erstellen (Varianz reduzieren) - beim Absacken werden verschiedene Modelle erstellt indem Sie Ihre Daten erneut abtasten, um das resultierende Modell robuster zu machen.
Random Forest ist das, was wir für das Absacken von Entscheidungsbäumen bezeichnen, aber es unterscheidet sich nicht von anderen Absackalgorithmen.
Warum würdest du das tun wollen? Das hängt vom Problem ab. In der Regel ist es jedoch äußerst wünschenswert, dass das Modell stabil ist.
Boosting
Boosting reduziert die Varianz und reduziert auch die Vorspannung. Dies verringert die Varianz, da Sie mehrere Modelle verwenden (Absacken). Es reduziert die Verzerrung, indem es das nachfolgende Modell trainiert, indem es ihm mitteilt, welche Fehler die vorherigen Modelle gemacht haben (das Boosting-Teil).
Es gibt zwei Hauptalgorithmen:
- Adaboost: Dies ist der ursprüngliche Algorithmus. Sie weisen nachfolgende Modelle an, schwerwiegendere Beobachtungen zu bestrafen, die von den vorherigen Modellen verwechselt wurden
- Gradient Boosting: Sie trainieren jedes nachfolgende Modell mit den Residuen (der Differenz zwischen den vorhergesagten und den wahren Werten)
In diesen Ensembles, Ihre Basis Lerner muss schwach sein. Wenn es über die Daten hinausgeht, gibt es keine Residuen oder Fehler für die nachfolgenden Modelle, auf denen aufgebaut werden kann. Warum sind diese guten Modelle? Nun, die meisten Wettbewerbe auf Websites wie Kaggle wurden mit gradientensteigernden Bäumen gewonnen. Data Science ist eine empirische Wissenschaft, "weil es funktioniert" ist gut genug. Beachten Sie jedoch, dass Boosting-Modelle übermäßig angepasst werden können (auch wenn dies empirisch nicht sehr häufig vorkommt).
Ein weiterer Grund, warum insbesondere die Gradientenverstärkung auch ziemlich cool ist: Sie macht es sehr einfach, verschiedene Verlustfunktionen zu verwenden, selbst wenn die Ableitung nicht konvex ist. Wenn Sie beispielsweise probabilistische Prognosen verwenden, können Sie Dinge wie die Flipperfunktion als Verlustfunktion verwenden. etwas, was bei neuronalen Netzen viel schwieriger ist (weil die Ableitung immer konstant ist).
[Interessante historische Anmerkung: Boosting war ursprünglich eine theoretische Erfindung, die durch die Frage " Können wir ein stärkeres Modell mit schwächeren Modellen bauen ?" Motiviert war. ]
Hinweis: Menschen verwechseln manchmal zufällige Wald- und Steigungsbäume, nur weil beide Entscheidungsbäume verwenden, aber sie sind zwei sehr unterschiedliche Ensemblefamilien.