Gradient Boosting ist ein Ensemble-Verfahren des maschinellen Lernens, bei dem viele schwache Modelle – meist kleine Entscheidungsbäume – nacheinander trainiert werden. Jedes neue Modell lernt aus den Fehlern seiner Vorgänger und korrigiert genau die Vorhersagen, die bisher falsch waren. So entsteht am Ende ein sehr starkes Gesamtmodell.
Die Grundidee: Lernen aus Fehlern
Beim Gradient Boosting startet man mit einem einfachen Modell, das für alle Daten einen groben Schätzwert liefert. In jedem weiteren Schritt berechnet man die Residuen – also die Abweichungen zwischen Vorhersage und tatsächlichem Wert. Ein neuer kleiner Baum wird dann darauf trainiert, genau diese Abweichungen vorherzusagen. Das Gesamtmodell ist die Summe aller Bäume. Der Name kommt daher, dass dieses Vorgehen mathematisch einem Gradientenabstieg auf einer Loss-Funktion entspricht: Jeder Baum nähert sich – wie ein Schritt im Gradientenabstieg – dem Optimum an.
Warum ist Gradient Boosting so beliebt?
- Hohe Vorhersagequalität: Gradient Boosting gehört zu den stärksten Verfahren für tabellarische Daten und gewinnt viele Wettbewerbe.
- Flexibilität: Funktioniert für Regression (Zahlen vorhersagen) und Klassifikation (Kategorien vorhersagen).
- Bekannte Implementierungen: XGBoost, LightGBM und CatBoost sind optimierte Varianten, die auch auf großen Datenmengen effizient arbeiten.
Hyperparameter und die Gefahr des Overfittings
Wichtige Hyperparameter sind die Anzahl der Bäume, deren maximale Tiefe und die Lernrate. Je mehr Bäume und je tiefer sie sind, desto stärker kann das Modell die Trainingsdaten auswendig lernen. Ohne Gegenmaßnahmen droht daher Overfitting. Typische Gegenmittel: frühzeitiges Stoppen (Early Stopping), Regularisierung und ein kleiner Lernraten-Parameter.
Abgrenzung zu Bagging und Random Forest
Beim Bagging werden die Bäume unabhängig voneinander auf zufälligen Stichproben trainiert und ihre Ergebnisse gemittelt. Gradient Boosting dagegen baut die Bäume sequenziell aufeinander auf. Der Random Forest ist ein Bagging-Verfahren, während XGBoost und LightGBM Boosting-Verfahren sind. Boosting erreicht oft etwas bessere Genauigkeit, ist aber anfälliger für Overfitting und schwerer parallelisierbar.
Gradient Boosting gehört zum überwachten Lernen: Es braucht gelabelte Beispieldaten, aus denen es die Zuordnung von Eingaben zu Ergebnissen lernt.