Ist Random Forest ein Boosting-Algorithmus?


51

Kurzdefinition von Boosten :

Können schwache Lernende einen einzigen starken Lernenden hervorbringen? Ein schwacher Lernender wird definiert als ein Klassifikator, der nur geringfügig mit der wahren Klassifikation korreliert (er kann Beispiele besser kennzeichnen als zufälliges Erraten).

Kurzdefinition von Random Forest :

Random Forests lässt viele Klassifizierungsbäume wachsen. Um ein neues Objekt anhand eines Eingabevektors zu klassifizieren, setzen Sie den Eingabevektor auf jeden Baum in der Gesamtstruktur. Jeder Baum gibt eine Klassifizierung vor und wir sagen, dass der Baum für diese Klasse "stimmt". Der Wald wählt die Klassifikation mit den meisten Stimmen (über alle Bäume im Wald).

Eine weitere kurze Definition von Random Forest :

Eine zufällige Gesamtstruktur ist ein Metaschätzer, der eine Reihe von Entscheidungsbaumklassifizierern auf verschiedene Teilstichproben des Datasets passt und die Mittelwertbildung verwendet, um die Vorhersagegenauigkeit zu verbessern und die Überanpassung zu steuern.

Wie ich verstehe, ist Random Forest ein Boosting-Algorithmus, der Bäume als schwache Klassifikatoren verwendet. Ich weiß, dass es auch andere Techniken verwendet und diese verbessert. Hat mich jemand korrigiert, dass Random Forest kein Boosting-Algorithmus ist?

Kann jemand näher darauf eingehen, warum Random Forest kein Boosting-Algorithmus ist?


13
Zufällige Wälder ist ein Absackalgorithmus: en.wikipedia.org/wiki/Bootstrap_aggregating . Ich schlage vor, Sie lesen mehr als die kürzest mögliche Beschreibung von Boosten, um den Unterschied zu erkennen. Beim Boosten ist die Resampling-Strategie nicht zufällig.
Marc Claesen

12
Witzige Tatsache: In der Originalarbeit von Random Forest schlägt Breiman vor, dass AdaBoost (mit Sicherheit ein Boosting-Algorithmus) Random Forest meistens ausführt, wenn der Optimierungsraum nach wenigen Iterationen so laut wird, dass er einfach stochastisch herumschwebt.

Antworten:


81

Random Forest ist eher ein Bagging-Algorithmus als ein Boosting-Algorithmus. Sie sind zwei entgegengesetzte Wege, um einen geringen Fehler zu erzielen.

Wir wissen, dass Fehler aus Bias und Varianz zusammengesetzt werden können. Ein zu komplexes Modell hat eine geringe Abweichung, aber eine große Abweichung, während ein zu einfaches Modell eine geringe Abweichung, aber eine große Abweichung hat, was beide zu einem hohen Fehler führt, aber aus zwei verschiedenen Gründen. Infolgedessen kommen den Menschen zwei verschiedene Möglichkeiten in den Sinn, das Problem zu lösen (vielleicht Breiman und andere): die Varianzreduzierung für ein komplexes Modell oder die Biasreduzierung für ein einfaches Modell, das sich auf zufällige Gesamtstruktur und Boosting bezieht.

Zufällige Gesamtstruktur reduziert die Varianz einer großen Anzahl "komplexer" Modelle mit geringer Abweichung. Wir können sehen, dass die Kompositionselemente keine "schwachen" Modelle sind, sondern zu komplexe Modelle. Wenn Sie über den Algorithmus lesen, werden die zugrunde liegenden Bäume "etwas" so groß wie "möglich" gepflanzt. Die zugrunde liegenden Bäume sind unabhängige parallele Modelle. Eine zusätzliche Auswahl von Zufallsvariablen wird eingeführt, um sie noch unabhängiger zu machen, wodurch sie eine bessere Leistung als gewöhnliches Absacken erzielen und den Namen "Zufall" tragen.

Während das Boosten die Vorspannung einer großen Anzahl von "kleinen" Modellen mit geringer Varianz verringert. Sie sind "schwache" Modelle, wie Sie zitiert haben. Die zugrunde liegenden Elemente ähneln in gewisser Weise einem "Ketten" - oder "verschachtelten" iterativen Modell über die Verzerrung der einzelnen Ebenen. Es handelt sich also nicht um unabhängige parallele Modelle, sondern jedes Modell wird anhand der Gewichtung auf der Grundlage aller früheren kleinen Modelle erstellt. Das ist das sogenannte "Boosten" von eins nach dem anderen.

In Breimans Papieren und Büchern wird viel über Bäume, zufällige Wälder und Boosten gesprochen. Es hilft Ihnen, das Prinzip hinter dem Algorithmus zu verstehen.


26

Eine zufällige Gesamtstruktur wird nicht als Boosting-Algorithmus angesehen.

Wie in Ihrem Boosting-Link erklärt:

... die meisten Boosting-Algorithmen bestehen darin, schwache Klassifikatoren in Bezug auf eine Verteilung iterativ zu lernen und sie zu einem endgültigen starken Klassifikator hinzuzufügen. Wenn sie hinzugefügt werden, werden sie normalerweise auf eine Weise gewichtet, die normalerweise mit der Genauigkeit der schwachen Lernenden zusammenhängt. Nachdem ein schwacher Lernender hinzugefügt wurde, werden die Daten neu gewichtet ...

Ein Beispiel für diesen iterativen Prozess ist adaboost, bei dem schwächere Ergebnisse über viele Iterationen hinweg verstärkt oder neu gewichtet werden, damit sich der Lernende mehr auf Bereiche konzentriert, in denen es falsch lief, und weniger auf die Beobachtungen, die korrekt waren.

Im Gegensatz dazu ist eine zufällige Gesamtstruktur eine Methode zum Bauschen oder Mitteln von Gesamtstrukturen, mit der die Varianz einzelner Bäume verringert werden soll, indem viele Bäume aus dem Datensatz zufällig ausgewählt (und damit dekorreliert) und gemittelt werden.


7

Es ist eine Erweiterung des Absackens. Die Vorgehensweise ist wie folgt: Sie nehmen ein Bootstrap-Beispiel Ihrer Daten und verwenden dieses dann, um einen Klassifizierungs- oder Regressionsbaum (CART) zu erstellen. Dies wird eine vordefinierte Anzahl von Malen durchgeführt und die Vorhersage ist dann die Aggregation der einzelnen Baumvorhersagen. Dies kann eine Mehrheitsabstimmung (für die Klassifizierung) oder ein Durchschnitt (für die Regression) sein. Dieser Ansatz wird als Absacken bezeichnet (Breiman 1994). Weiterhin die Kandidatenvariable für jeden Split von jedemDer Baum wird einer zufälligen Stichprobe aller verfügbaren unabhängigen Variablen entnommen. Dies bringt noch mehr Variabilität und macht die Bäume vielfältiger. Dies wird als zufällige Subraummethode bezeichnet (Ho, 1998). Wie bereits erwähnt, entstehen so sehr unterschiedliche Bäume, die sich in sehr voneinander unabhängigen Bäumen niederschlagen. Aufgrund der Ungleichung von Jensen wissen wir, dass der Durchschnitt der Fehler dieser Baumvorhersagen kleiner oder gleich dem Fehler des durchschnittlichen Baums ist, der aus diesem Datensatz gewachsen ist. Eine andere Möglichkeit, dies zu betrachten, besteht darin, den mittleren quadratischen Fehler zu betrachten und festzustellen, wie er in Bias- und Varianzanteile zerlegt werden kann (dies hängt mit einem Problem beim überwachten Lernen zusammen, das als Bias-Varianz-Kompromiss bezeichnet wird). Random Forest erzielt eine bessere Genauigkeit, indem die Varianz durch Mittelung der Vorhersage von orthogonalen Bäumen verringert wird. Es sollte beachtet werden, dass es die Neigung seiner Bäume erbt, was durchaus ein diskutiertes Problem ist, überprüfen Sie zum Beispiel diese Frage.



3

Random Forest ist eine Absacktechnik und keine Boosting-Technik. Beim Boosten, wie der Name schon sagt, lernt man von anderen, was wiederum das Lernen fördert.

Die Bäume in zufälligen Wäldern laufen parallel. Es gibt keine Wechselwirkung zwischen diesen Bäumen beim Bauen der Bäume. Sobald alle Bäume gebaut sind, wird eine Abstimmung oder ein Durchschnitt über alle Vorhersagen der Bäume gezogen, abhängig davon, ob es sich bei dem Problem um ein Klassifizierungs- oder ein Regressionsproblem handelt.

Die Bäume in Boosting-Algorithmen wie GBM-Gradient Boosting-Maschinen werden nacheinander trainiert.

Angenommen, der erste Baum wurde trainiert und hat einige Vorhersagen zu den Trainingsdaten getroffen. Nicht alle diese Vorhersagen wären korrekt. Nehmen wir an, aus insgesamt 100 Vorhersagen hat der erste Baum 10 Beobachtungen falsch gemacht. Nun würden diese 10 Beobachtungen beim Bauen des zweiten Baumes stärker gewichtet. Beachten Sie, dass das Lernen des zweiten Baums durch das Lernen des ersten Baums beschleunigt wurde. Daher der Begriff Boosting. Auf diese Weise wird jeder der Bäume nacheinander über die Erkenntnisse aus den vergangenen Bäumen gebaut.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.