Abgleichen von Boosted-Regressionsbäumen (BRT), Generalized-Boosted-Modellen (GBM) und Gradienten-Boosting-Maschine (GBM)

9

Fragen:

  1. Was ist der Unterschied zwischen Boosted Regression Tree (BRT) und Generalized Boosted Models (GBM)? Können sie austauschbar verwendet werden? Ist das eine eine bestimmte Form des anderen?
  2. Warum verwendete Ridgeway den Ausdruck "Generalized Boosted Regression Models" (GBM), um zu beschreiben, was Friedman zuvor als "Gradient Boosting Machine" (GBM) vorgeschlagen hatte? Diese beiden Akronyme sind identisch, beschreiben dasselbe, leiten sich jedoch aus unterschiedlichen Phrasen ab.

Hintergrund:

Ich habe Probleme festzustellen, wie sich die Begriffe BRT und GBM unterscheiden. Soweit ich weiß, sind beide Begriffe zur Beschreibung von Klassifizierungs- und Regressionsbäumen, deren Stochastizität durch eine Art Boosting (z. B. Absacken, Bootstrapping, Kreuzvalidierung) berücksichtigt wird. Soweit ich weiß, wurde der Begriff GBM erstmals von Friedman (2001) in seiner Arbeit "Gierige Funktionsnäherung: eine Gradientenverstärkungsmaschine" geprägt. Ridgeway implementierte dann das von Friedman 2006 in seinem Paket "Generalized Boosted Regression Models" (GBM) beschriebene Verfahren. In meinem Bereich (Ökologie) haben Elith et al. (2008) war der erste, der Ridgeways gbmPaket zur Modellierung der Artenverteilung demonstrierte . Die Autoren von Elith et al. Verwenden Sie den Begriff "Boosted Regression Tree" (BRT), um Friedman und Ridgeway zu beschreiben.

Ich bin verwirrt, ob diese Begriffe austauschbar verwendet werden können. Es ist etwas verwirrend, dass ein Autor dasselbe Akronym (aus einem anderen Ausdruck) verwendet, um dieselbe Theorie zu beschreiben, die ein vorheriger Autor vorgeschlagen hat. Es ist auch verwirrend, dass der dritte Autor einen völlig anderen Begriff verwendet hat, als er diese Theorie in ökologischen Begriffen beschrieb.

Das Beste, was ich mir einfallen lassen kann, ist, dass BRT eine bestimmte Form von GBM ist, bei der die Verteilung binomisch ist, aber ich bin mir nicht sicher.

Elith et al. Definieren Sie Boosted-Regressionsbäume wie folgt… "Boosted-Regressionsbäume kombinieren die Stärken zweier Algorithmen: Regressionsbäume (Modelle, die eine Antwort auf ihre Prädiktoren durch rekursive binäre Teilungen in Beziehung setzen) und Boosting (eine adaptive Methode zum Kombinieren vieler einfacher Modelle, um eine verbesserte Vorhersageleistung zu erzielen ). Das endgültige BRT-Modell kann als additives Regressionsmodell verstanden werden, bei dem einzelne Begriffe einfache Bäume sind, die vorwärts und stufenweise angepasst werden "(Elith et al. 2008).

GNG
quelle
1
Ich kann nicht in die Köpfe der Autoren eindringen und es Ihnen sagen, aber es scheint plausibel, dass die Namen alles sagen. Boosting ist eine Methode, bei der eine Folge schwacher Lernender verwendet wird. Die Quintessenz der Methode wären „kleine Bäume“ wie Stümpfe. Wenn Sie ein Regressionsbaummodell ankurbeln, erhalten Sie verstärkte Regressionsbäume. A priori könnte man andere Methoden, einschließlich kategorialer Methoden, verbessern und etwas zurückgeben, das als Gradientenverstärkungsmaschine bezeichnet wird und kein verstärkter Regressionsbaum ist.
meh
Ich erinnere mich nicht sofort an die Details, aber ein Buch, das ich las, wies darauf hin, dass das Ergebnis, wenn man Stümpfe für die Bäume verwendete, einem Spiel sehr ähnlich war.
meh

Antworten:

15

Wie @aginensky im Kommentarthread erwähnt hat, ist es unmöglich, in den Kopf des Autors zu gelangen, aber BRT ist höchstwahrscheinlich einfach eine klarere Beschreibung des gbmModellierungsprozesses. Verzeihen Sie mir, dass ich die offensichtlichen, verstärkten Klassifizierungs- und Regressionsbäume angegeben habe. Und da Sie nach Boosting, Verläufen und Regressionsbäumen gefragt haben, finden Sie hier meine einfachen englischen Erklärungen der Begriffe. Zu Ihrer Information, CV ist keine Boosting-Methode, sondern eine Methode, um durch wiederholte Stichproben optimale Modellparameter zu identifizieren. Sehen Sie hier einige gute Erklärungen des Prozesses.

Boosting ist eine Art Ensemble-Methode . Ensemble-Methoden beziehen sich auf eine Sammlung von Methoden, mit denen endgültige Vorhersagen durch Aggregation von Vorhersagen aus einer Reihe einzelner Modelle getroffen werden. Boosting, Bagging und Stacking sind einige weit verbreitete Ensemble-Methoden. Beim Stapeln werden mehrere verschiedene Modelle einzeln angepasst (beliebige Struktur Ihrer Wahl) und anschließend in einem einzigen linearen Modell kombiniert. Dies erfolgt durch Anpassen der Vorhersagen der einzelnen Modelle an die abhängige Variable. LOOCV SSE wird normalerweise zur Bestimmung von Regressionskoeffizienten verwendet und jedes Modell wird als Basisfunktion behandelt (meiner Meinung nach ist dies GAM sehr, sehr ähnlich). Ebenso Absackenumfasst das Anpassen einer Reihe ähnlich strukturierter Modelle an Bootstrap-Beispiele. Auf die Gefahr hin, das Offensichtliche noch einmal zu sagen, sind Stapeln und Absacken parallele Ensemble-Methoden.

Das Boosten ist jedoch eine sequentielle Methode. Friedman und Ridgeway beschreiben beide den algorithmischen Prozess in ihren Arbeiten, daher werde ich ihn hier nicht nur in dieser Sekunde einfügen, aber die einfache englische (und etwas vereinfachte) Version ist, dass Sie ein Modell nach dem anderen anpassen, wobei jedes nachfolgende Modell versucht, zu minimieren Residuen, gewichtet mit den Fehlern des vorherigen Modells (der Schrumpfungsparameter ist das Gewicht, das dem Restfehler jeder Vorhersage aus der vorherigen Iteration zugewiesen wird, und je kleiner Sie es sich leisten können, desto besser). In einem abstrakten Sinne können Sie sich Boosting als einen sehr menschenähnlichen Lernprozess vorstellen, bei dem wir vergangene Erfahrungen auf neue Iterationen von Aufgaben anwenden, die wir ausführen müssen.

Der Gradiententeil des Ganzen ergibt sich nun aus der Methode zur Bestimmung der optimalen Anzahl von Modellen (in der gbmDokumentation als Iterationen bezeichnet ), die für die Vorhersage verwendet werden sollen, um eine Überanpassung zu vermeiden. Verlustfunktionen für GBM-Training (schwarz) und CV-Fehler (grün)

Wie Sie aus dem obigen Bild sehen können (dies war eine Klassifizierungsanwendung, aber das Gleiche gilt für die Regression), fällt der CV-Fehler zunächst ziemlich stark ab, da der Algorithmus diejenigen Modelle auswählt, die vor dem Abflachen zu dem größten Abfall des CV-Fehlers führen und wieder hochklettern, während das Ensemble anfängt, sich zu überpassen. Die optimale Iterationszahl ist diejenige, die dem Wendepunkt der CV-Fehlerfunktion entspricht (Funktionsgradient gleich 0), was zweckmäßigerweise durch die blaue gestrichelte Linie dargestellt wird.

Die gbmImplementierung von Ridgeway verwendet Klassifizierungs- und Regressionsbäume, und obwohl ich nicht behaupten kann, seine Gedanken zu lesen, würde ich mir vorstellen, dass die Geschwindigkeit und Leichtigkeit (ganz zu schweigen von ihrer Robustheit gegenüber Datenszenanigans), mit denen Bäume angepasst werden können, einen ziemlich signifikanten Einfluss darauf hatten seine Wahl der Modellierungstechnik. Obwohl ich mich irren könnte, kann ich mir keinen streng theoretischen Grund vorstellen, warum praktisch keine andere Modellierungstechnik implementiert werden konnte. Auch hier kann ich nicht behaupten, Ridgeways Gedanken zu kennen, aber ich stelle mir den verallgemeinerten Teil von vorgbmDer Name bezieht sich auf die Vielzahl möglicher Anwendungen. Das Paket kann verwendet werden, um Regression (linear, Poisson und Quantil), Binomial (unter Verwendung einer Reihe verschiedener Verlustfunktionen) und Multinomialklassifizierung sowie Überlebensanalyse (oder zumindest Berechnung der Gefahrenfunktion, wenn die Coxph-Verteilung ein Hinweis ist) durchzuführen.

Eliths Artikel kommt mir vage bekannt vor (ich glaube, ich bin im letzten Sommer darauf gestoßen, als ich mich mit gbm-freundlichen Visualisierungsmethoden befasst habe), und wenn das Gedächtnis stimmt, enthielt er eine Erweiterung der gbmBibliothek, die sich auf die automatisierte Modelloptimierung für die Regression konzentrierte (wie bei der Gaußschen Verteilung) , keine Binomialanwendungen) und verbesserte Plotgenerierung. Ich stelle mir vor, dass die RBT-Nomenklatur dazu dient, die Art der Modellierungstechnik zu klären, während GBM allgemeiner ist.

Hoffe das hilft ein paar Dinge zu klären.

habu
quelle