Ensemble
Ensemble-Lernen kombiniert Vorhersagen mehrerer Modelle mithilfe von Bagging, Boosting oder Stacking, um einen geringeren Fehler als jedes einzelne Modell zu erzielen.
Beim Ensemble-Lernen werden mehrere Modelle für dieselbe Aufgabe trainiert und ihre Vorhersagen durch Abstimmung, Mittelwertbildung oder einen trainierten Kombinierer zu einer Ausgabe zusammengeführt, die in der Regel genauer und stabiler ist als die eines einzelnen Modells. Das funktioniert, weil verschiedene Modelle unterschiedliche Fehler machen und deren Kombination einen Teil der Fehler ausgleicht. Anders Krogh und Jesper Vedelsby zeigten 1995, dass dies für gemittelte Regressionsmodelle exakt gilt: Der quadratische Fehler des Ensembles entspricht dem durchschnittlichen Fehler seiner Mitglieder abzüglich ihrer durchschnittlichen Abweichung vom Ensemble. Ein gemitteltes Ensemble ist daher nie schlechter als sein durchschnittliches Einzelmodell. Entscheidend für die Verbesserung ist die Vielfalt der Mitglieder.
Bagging, Boosting und Stacking#
Drei Familien decken die meisten Ensembles im maschinellen Lernen ab und setzen an unterschiedlichen Seiten des Bias-Varianz-Dilemmas an.
Bagging, kurz für Bootstrap-Aggregation, wurde 1996 von Leo Breiman eingeführt. Jedes Mitglied wird unabhängig anhand einer Bootstrap-Stichprobe aus dem Trainingssatz trainiert, bei der mit Zurücklegen gezogen wird. Anschließend werden die Ergebnisse gemittelt oder per Abstimmung zusammengeführt, was vor allem die Varianz verringert. Die Methode eignet sich für instabile Lernverfahren wie tiefe Entscheidungsbäume. Beim 2001 von Breiman entwickelten Random Forest kommt bei jeder Aufteilung eine zufällige Teilmenge der Merkmale zum Einsatz, um die Bäume noch unterschiedlicher zu machen.
Beim Boosting werden die Mitglieder nacheinander trainiert. Jedes konzentriert sich auf die Fehler des bisherigen Ensembles, wodurch vor allem der Bias verringert wird. AdaBoost von Yoav Freund und Robert Schapire erhöht vor dem Training des nächsten schwachen Lerners die Gewichtung falsch klassifizierter Beispiele. Jerome Friedmans Gradient Boosting passt jeden neuen Baum an den Gradienten der Verlustfunktion an. Dieser Ansatz liegt XGBoost, LightGBM und CatBoost zugrunde, die bei vielen tabellarischen Datensätzen weiterhin zu den leistungsstärksten Modellen zählen.
Stacking, auch als gestapelte Generalisierung bezeichnet, wurde 1992 von David Wolpert vorgeschlagen. Ein Meta-Modell, häufig eine logistische Regression, lernt anhand der Vorhersagen auf zurückgehaltenen Folds, wie heterogene Basismodelle kombiniert werden. Modellen mit besonders zuverlässigen Vorhersagen auf den zurückgehaltenen Daten wird mehr Gewicht gegeben.
Dieses scikit-learn-Beispiel vergleicht einen einzelnen Baum mit je einem Ensemble aus jeder Familie anhand eines Brustkrebsdiagnosedatensatzes und verwendet dafür eine 5-fache Kreuzvalidierung:
from sklearn.datasets import load_breast_cancer
from sklearn.ensemble import GradientBoostingClassifier, RandomForestClassifier, StackingClassifier
from sklearn.linear_model import LogisticRegression
from sklearn.model_selection import cross_val_score
from sklearn.tree import DecisionTreeClassifier
X, y = load_breast_cancer(return_X_y=True) # 569 tumors, 30 measurements each
forest = RandomForestClassifier(n_estimators=200, random_state=0)
boosting = GradientBoostingClassifier(random_state=0)
models = {
"Single decision tree": DecisionTreeClassifier(random_state=0),
"Bagging (random forest)": forest,
"Boosting (gradient boosting)": boosting,
# Stacking: a logistic regression learns how to combine the forest and the boosted trees
"Stacking": StackingClassifier([("forest", forest), ("boosting", boosting)], LogisticRegression()),
}
for name, model in models.items():
print(f"{name}: {cross_val_score(model, X, y, cv=5).mean():.3f}")Der einzelne Baum erreicht 0.917, der Random Forest 0.960, Gradient Boosting 0.963 und das gestapelte Modell 0.963. Jedes Ensemble halbiert den Fehler des Baums ungefähr. Das Stacking erreicht den Wert seines stärkeren Mitglieds, weil der Forest 16 der 23 Tumoren falsch klassifiziert, die auch von den Boosting-Bäumen falsch klassifiziert werden. Dem Meta-Modell bleibt dadurch wenig Uneinigkeit, die es nutzen könnte.
Ensembles beim Deep Learning und in der Computer Vision#
Bei tiefen Ensembles werden mehrere neuronale Netze mit unterschiedlichen zufälligen Initialisierungen trainiert und ihre Ausgaben gemittelt. Balaji Lakshminarayanan und Kollegen von DeepMind zeigten 2017, dass dadurch sowohl die Genauigkeit als auch die Quantifizierung von Unsicherheit verbessert werden, denn bei Eingaben, die sich von den Trainingsdaten unterscheiden, weichen die Mitglieder am stärksten voneinander ab. Bei der Objekterkennung werden die Begrenzungsrahmen mehrerer Detektoren zusammengeführt und mit nichtmaximaler Unterdrückung (NMS) oder Weighted Boxes Fusion kombiniert. Letztere mittelt sich überlappende Rahmen, statt nur den Rahmen mit der höchsten Konfidenz beizubehalten. Ensembles aus unterschiedlichen Architekturen sind in der medizinischen Bildanalyse und bei Wettbewerbsbeiträgen verbreitet, wenn Genauigkeit wichtiger ist als Inferenzkosten.
Die Kosten steigen mit jedem Mitglied, was den Einsatz von Ensembles auf Geräten für Edge-KI begrenzt. Die Wissensdestillation wurde unter anderem entwickelt, um dieses Problem zu lösen: Geoffrey Hinton, Oriol Vinyals und Jeff Dean trainierten ein einzelnes Modell darauf, die gemittelten Ausgaben eines Ensembles nachzubilden. Dropout ist eine günstigere verwandte Methode, denn das Training damit nähert die Mittelung einer exponentiellen Anzahl verkleinerter Teilnetze an.
Ensembles, Model Soups und Expertenmischungen#
Ein Modellensemble bezeichnet normalerweise das Zusammenführen separat trainierter Netze während der Inferenz und ist die häufigste Form des Ensemble-Lernens beim Deep Learning. Bei Model Soups und anderen Methoden zum Zusammenführen von Modellen werden die Gewichte statt der Vorhersagen gemittelt. Dadurch bleiben die Kosten auf dem Niveau eines einzelnen Modells, aber die Methode funktioniert nur mit Modellen, die anhand derselben vortrainierten Gewichte feinabgestimmt wurden. Eine Expertenmischung (MoE) trainiert ihre Experten gemeinsam mit einem Router, der jede Eingabe an einige von ihnen weiterleitet. So spezialisieren sich die Experten, statt jeweils die gesamte Aufgabe zu lösen.
Wie Pavel Izmailov und Kollegen 2018 für das stochastische Mitteln von Gewichten zeigten, nähert das Mitteln der Gewichte in einem einzelnen Trainingslauf ein Ensemble der Checkpoints dieses Laufs an, verursacht aber nur die Kosten eines Modells. Das Ultralytics-YOLO-Training nutzt dies bei jedem YOLO26-Lauf: Es bildet einen exponentiell gleitenden Mittelwert der Gewichte, der nach jedem Optimierungsschritt mit einem bis auf 0.9999 ansteigenden Abklingfaktor aktualisiert wird, und validiert und speichert diesen Mittelwert in best.pt und last.pt statt der unverarbeiteten Gewichte.










