Stummel Was ist Gradient Boosting? - Unite.AI
Vernetzen Sie sich mit uns

AI 101

Was ist Gradient Boosting?

mm
Aktualisiert on

Eine gängige Art von Modellen für maschinelles Lernen, die sich bei Datenwissenschaftswettbewerben als äußerst nützlich erwiesen hat, ist ein Gradient-Boosting-Modell. Steigungsverstärkung ist im Grunde der Prozess der Umwandlung schwacher Lernmodelle in starke Lernmodelle. Doch wie genau gelingt dies? Werfen wir einen genaueren Blick auf die Algorithmen zur Gradientenverstärkung und besser Verstehen Sie, wie ein Gradient-Boosting-Modell funktioniert verwandelt schwache Lernende in starke Lernende.

Definition der Gradientenverstärkung

Dieser Artikel soll Ihnen eine gute Vorstellung davon vermitteln, was Gradient Boosting ist, ohne viele Aufschlüsselungen der den Algorithmen zugrunde liegenden Mathematik. Sobald Sie verstehen, wie Gradient Boosting auf hohem Niveau funktioniert, werden Sie ermutigt, tiefer zu gehen und die Mathematik zu erforschen, die es möglich macht.

Beginnen wir damit, zu definieren, was es bedeutet, einen Lernenden zu „fördern“. Schwache Lernende werden durch Anpassung der Eigenschaften des Lernmodells in starke Lernende umgewandelt. Welcher Lernalgorithmus wird genau gefördert?

Boosting-Modelle funktionieren durch die Erweiterung eines weiteren gängigen Modells für maschinelles Lernen, ein Entscheidungsbaum.

A Entscheidungsbaum Das Modell funktioniert, indem es einen Datensatz in immer kleinere Teile aufteilt. Wenn die Teilmengen nicht mehr weiter aufgeteilt werden können, ist das Ergebnis ein Baum mit Knoten und Blättern. Knoten in einem Entscheidungsbaum sind Orte, an denen Entscheidungen über Datenpunkte anhand verschiedener Filterkriterien getroffen werden. Die Blätter in einem Entscheidungsbaum sind die Datenpunkte, die klassifiziert wurden. Entscheidungsbaumalgorithmen können sowohl numerische als auch kategoriale Daten verarbeiten, und die Aufteilung im Baum basiert auf bestimmten Variablen/Merkmalen.

Veranschaulichung der Art und Weise, wie Boosting-Modelle trainiert werden.
Foto: SeattleDataBuy über Wikimedia Commons, CC 4.0 (https://commons.wikimedia.org/wiki/File:Boosting.png)

Eine Art Boosting-Algorithmus ist der AdaBoost-Algorithmus. AdaBoost-Algorithmen trainieren zunächst ein Entscheidungsbaummodell und weisen jeder Beobachtung das gleiche Gewicht zu. Nachdem der erste Baum auf Genauigkeit bewertet wurde, werden die Gewichte für die verschiedenen Beobachtungen angepasst. Die Gewichtung von Beobachtungen, die sich leicht klassifizieren ließen, wurde verringert, während die Gewichtung von Beobachtungen, die schwer zu klassifizieren waren, erhöht wurde. Mit diesen angepassten Gewichten wird ein zweiter Baum erstellt, mit dem Ziel, dass die Vorhersagen des zweiten Baums genauer sind als die Vorhersagen des ersten Baums.

Das Modell besteht nun aus den Vorhersagen für den ursprünglichen Baum und den neuen Baum (oder Baum 1 + Baum 2). Die Klassifizierungsgenauigkeit wird anhand des neuen Modells erneut bewertet. Basierend auf dem berechneten Fehler des Modells wird ein dritter Baum erstellt und die Gewichte werden erneut angepasst. Dieser Prozess wird für eine bestimmte Anzahl von Iterationen fortgesetzt, und das endgültige Modell ist ein Ensemble-Modell, das die gewichtete Summe der Vorhersagen aller zuvor erstellten Bäume verwendet.

Der oben beschriebene Prozess verwendet Entscheidungsbäume und die Basisprädiktoren/-modelle, ein Boosting-Ansatz kann jedoch mit einer breiten Palette von Modellen wie den vielen Standardklassifikator- und Regressormodellen durchgeführt werden. Die Schlüsselkonzepte, die es zu verstehen gilt, sind, dass nachfolgende Prädiktoren aus den Fehlern vorheriger lernen und dass die Prädiktoren nacheinander erstellt werden.

Der Hauptvorteil von Boosting-Algorithmen besteht darin, dass sie im Vergleich zu anderen Modellen des maschinellen Lernens weniger Zeit benötigen, um die aktuellen Vorhersagen zu finden. Beim Einsatz von Boosting-Algorithmen ist jedoch Vorsicht geboten, da diese anfällig für eine Überanpassung sind.

Gradientenverstärkung

Wir schauen uns nun einen der gängigsten Boosting-Algorithmen an. Gradient Boosting Models (GBM) sind für ihre hohe Genauigkeit bekannt und ergänzen die in AdaBoost verwendeten allgemeinen Prinzipien.

Der Hauptunterschied zwischen einem Gradient Boosting-Modell und AdaBoost besteht darin, dass GBMs eine andere Methode zur Berechnung verwenden, welche Lernenden Datenpunkte falsch identifizieren. AdaBoost berechnet, wo ein Modell leistungsschwach ist, indem es stark gewichtete Datenpunkte untersucht. Unterdessen verwenden GBMs Gradienten, um die Genauigkeit von Lernenden zu bestimmen, indem sie eine Verlustfunktion auf ein Modell anwenden. Verlustfunktionen sind eine Möglichkeit, die Genauigkeit der Modellanpassung an den Datensatz zu messen, einen Fehler zu berechnen und das Modell zu optimieren, um diesen Fehler zu reduzieren. Mit GBMs kann der Benutzer eine bestimmte Verlustfunktion basierend auf seinem gewünschten Ziel optimieren.

Nehmen wir die häufigste Verlustfunktion – Mittlerer quadratischer Fehler (MSE) - als Beispiel, Gradientenabstieg wird verwendet, um Vorhersagen basierend auf einer vordefinierten Lernrate zu aktualisieren, mit dem Ziel, die Werte zu finden, bei denen der Verlust minimal ist.

Um es klarer zu machen:

Neue Modellvorhersagen = Ausgabevariablen – alte unvollständige Vorhersagen.

Im eher statistischen Sinne zielen GBMs darauf ab, relevante Muster in den Residuen eines Modells zu finden, indem sie das Modell an das Muster anpassen und die Residuen so nahe wie möglich an Null bringen. Wenn Sie eine Regression der Modellvorhersagen durchführen würden, würden die Residuen um 0 herum verteilt sein (perfekte Anpassung), und GBMs finden Muster innerhalb der Residuen und aktualisieren das Modell um diese Muster herum.

Mit anderen Worten: Die Vorhersagen werden so aktualisiert, dass die Summe aller Residuen möglichst nahe bei 0 liegt, was bedeutet, dass die vorhergesagten Werte sehr nahe an den tatsächlichen Werten liegen.

Beachten Sie, dass ein GBM eine Vielzahl anderer Verlustfunktionen (z. B. logarithmischer Verlust) verwenden kann. Der Einfachheit halber wurde oben MSE ausgewählt.

Variationen von Gradient Boosting-Modellen

Gradient-Boosting-Modelle sind gierige Algorithmen, die dazu neigen, einen Datensatz zu stark anzupassen. Dem kann man mit vorbeugen mehrere verschiedene Methoden Dies kann die Leistung eines GBM verbessern.

GBMs können mit vier verschiedenen Methoden reguliert werden: Shrinkage, Tree Constraints, Stochastic Gradient Boosting und Penalized Learning.

Schrumpfung

Wie bereits erwähnt, werden Vorhersagen in GBMs sequentiell summiert. Bei „Schrumpfung“ werden die Zuschläge jedes Baumes zur Gesamtsumme angepasst. Es werden Gewichtungen angewendet, die die Lernrate des Algorithmus verlangsamen, sodass dem Modell mehr Bäume hinzugefügt werden müssen, was typischerweise die Robustheit und Leistung des Modells verbessert. Der Nachteil besteht darin, dass das Training des Modells länger dauert.

Baumbeschränkungen

Das Einschränken des Baums durch verschiedene Optimierungen wie das Hinzufügen von mehr Tiefe zum Baum oder das Erhöhen der Anzahl von Knoten oder Blättern im Baum kann eine Überanpassung des Modells erschweren. Eine Beschränkung der Mindestanzahl von Beobachtungen pro Teilung hat einen ähnlichen Effekt. Der Nachteil besteht wiederum darin, dass das Training des Modells länger dauert.

Stichproben

Die einzelnen Lernenden können durch einen stochastischen Prozess erstellt werden, der auf zufällig ausgewählten Teilstichproben des Trainingsdatensatzes basiert. Dies hat zur Folge, dass die Korrelationen zwischen Bäumen verringert werden, was einer Überanpassung vorbeugt. Der Datensatz kann einer Unterabtastung unterzogen werden, bevor die Bäume erstellt werden oder bevor eine Teilung des Baums in Betracht gezogen wird.

Bestraftes Lernen

Neben der Einschränkung des Modells durch Beschränkung der Struktur des Baums ist es auch möglich, einen Regressionsbaum zu verwenden. Bei Regressionsbäumen sind jedem Blatt numerische Werte zugeordnet. Diese fungieren als Gewichte und können mit gängigen Regularisierungsfunktionen wie der L1- und L2-Regularisierung angepasst werden.

Blogger und Programmierer mit Spezialisierung auf Maschinelles lernen machen Tiefes Lernen Themen. Daniel hofft, anderen dabei zu helfen, die Macht der KI für das soziale Wohl zu nutzen.