Bagging (Bootstrap-Aggregation) ist ein Ensemble-Verfahren des maschinellen Lernens: Man trainiert viele Modelle unabhängig voneinander auf verschiedenen zufälligen Stichproben der Daten und kombiniert ihre Vorhersagen. Bei einer Regression mittelt man die Werte, bei einer Klassifikation zählt man die Stimmen (Voting). Das Ergebnis ist stabiler und genauer als ein einzelnes Modell.
Die Idee dahinter
Ein einzelnes Modell ist empfindlich gegenüber kleinen Schwankungen in den Trainingsdaten – es kann sich von Ausreißern stark beeinflussen lassen. Bagging reduziert diese Varianz: Jedes Modell sieht eine leicht andere Stichprobe, Fehler der einzelnen Modelle heben sich im Durchschnitt teilweise gegenseitig auf. Das Grundprinzip heißt Bootstrap: Aus dem Original-Dataset wird mit Zurücklegen gezogen, sodass jede Stichprobe etwa zwei Drittel der Daten enthält und einige Datensätze mehrfach vorkommen.
Das bekannteste Beispiel: Random Forest
Der Random Forest ist Bagging mit Entscheidungsbäumen: Viele Bäume, jeder auf einer eigenen Bootstrap-Stichprobe trainiert, zusätzlich mit zufällig ausgewählten Merkmalen pro Aufteilung. Dadurch entstehen möglichst unterschiedliche Bäume, deren gemeinsame Vorhersage sehr robust ist. Neben dem Random Forest gibt es auch Bagging mit anderen Modelltypen wie k-nächste-Nachbarn oder neuronalen Netzen.
Bagging vs. Boosting
Beim Bagging lernen die Modelle parallel und unabhängig voneinander. Beim Boosting – etwa beim Gradient Boosting – lernen die Modelle dagegen sequenziell: Jedes neue Modell konzentriert sich auf die Fehler der bisherigen. Bagging ist dadurch leichter zu parallelisieren und weniger anfällig für Overfitting, erreicht aber oft etwas weniger Genauigkeit als gut abgestimmtes Boosting.
Wie das Boosting gehört auch das Bagging zum überwachten Lernen: Alle Modelle lernen aus gelabelten Beispielen und werden auf neue, unbekannte Daten angewendet.