Was sind die Gemeinsamkeiten und Unterschiede zwischen diesen 3 Methoden:
- Absacken,
- Erhöhen,
- Stapeln?
Welches ist das beste? Und warum?
Kannst du mir für jeden ein Beispiel geben?
machine-learning
boosting
ensemble
bagging
model-averaging
Bucsa Lucian
quelle
quelle
Antworten:
Alle drei sind sogenannte "Meta-Algorithmen": Ansätze, um mehrere Techniken des maschinellen Lernens in einem Vorhersagemodell zu kombinieren, um die Varianz ( Bagging ), die Vorspannung ( Boosting ) oder die Vorhersagekraft ( Stacking- Alias- Ensemble ) zu verringern .
Jeder Algorithmus besteht aus zwei Schritten:
Erstellung einer Verteilung einfacher ML-Modelle auf Teilmengen der Originaldaten.
Kombination der Verteilung zu einem "aggregierten" Modell.
Hier ist eine kurze Beschreibung aller drei Methoden:
Absackung (steht für B ootstrap Agg Regat ing ) ist ein Wegdie Varianz Ihrer Vorhersage zu verringernindem zusätzliche Daten fürAusbildung von Ihrer ursprünglichen Datenmengeerzeugen unter Verwendung von Kombinationen mit Wiederholungen zu produzieren Multimengen von der gleichen Mächtigkeit / Größe wieOriginaldaten. Durch Erhöhen der Größe Ihres Trainingssatzes können Sie die Modellvorhersagekraft nicht verbessern, sondern nur die Varianz verringern und die Vorhersage auf das erwartete Ergebnis abstimmen.
Boosting ist ein zweistufiger Ansatz, bei dem zunächst Teilmengen der Originaldaten verwendet werden, um eine Reihe von Modellen mit durchschnittlicher Leistung zu erstellen, und anschließend deren Leistung durch Kombination mit einer bestimmten Kostenfunktion (= Mehrheitsentscheidung) "gesteigert" wird. Im Gegensatz zum Absacken ist beim klassischen Boosten die Erstellung von Teilmengen nicht zufällig und hängt von der Leistung der vorherigen Modelle ab: Jede neue Teilmenge enthält die Elemente, die von vorherigen Modellen (wahrscheinlich) falsch klassifiziert wurden.
Das Stapeln ähnelt dem Boosten: Sie wenden auch mehrere Modelle auf Ihre Originaldaten an. Der Unterschied besteht jedoch darin, dass Sie nicht nur eine empirische Formel für Ihre Gewichtsfunktion haben, sondern eine Metaebene einführen und ein anderes Modell / einen anderen Ansatz verwenden, um die Eingabe zusammen mit den Ausgaben jedes Modells zu schätzen, um die Gewichte oder zu schätzen Mit anderen Worten, um zu bestimmen, welche Modelle bei diesen Eingabedaten eine gute und welche eine schlechte Leistung erbringen.
Hier ist eine Vergleichstabelle:
Wie Sie sehen, sind dies verschiedene Ansätze, um mehrere Modelle zu einem besseren zu kombinieren, und es gibt hier keinen einzigen Gewinner: Alles hängt von Ihrer Domain und dem ab, was Sie tun werden. Sie können das Stapeln immer noch als eine Art Steigerung des Fortschritts betrachten . Die Schwierigkeit, einen guten Ansatz für Ihr Meta-Level zu finden, macht es jedoch schwierig, diesen Ansatz in der Praxis anzuwenden.
Kurze Beispiele von jedem:
quelle
Absackung :
Paralleles Ensemble: Jedes Modell wird einzeln gebaut
Ziel ist es, die Varianz zu verringern , nicht die Vorurteile
geeignet für Low Bias Modelle mit hoher Varianz (komplexe Modelle)
Ein Beispiel für eine baumbasierte Methode ist der Zufallswald , bei dem ausgewachsene Bäume entstehen.
Boosting :
Sequentielles Ensemble: Versuchen Sie, neue Modelle hinzuzufügen, die dort gut funktionieren, wo vorherige Modelle fehlen
Ziel ist es, die Tendenz zu verringern , nicht die Varianz
Geeignet für Modelle mit niedriger Varianz und hoher Vorspannung
Ein Beispiel für eine baumbasierte Methode ist die Gradientenverstärkung
quelle
Nur um Yuqians Antwort etwas zu erläutern. Die Idee hinter dem Absacken ist, dass Sie, wenn Sie mit einer nichtparametrischen Regressionsmethode (normalerweise Regressions- oder Klassifikationsbäume, die jedoch nahezu jede nichtparametrische Methode sein kann) ÜBERFERTIGEN, dazu neigen, den Teil der Verzerrung mit hoher Varianz und ohne (oder mit geringer) Verzerrung zu wählen / Varianz Kompromiss. Dies liegt daran, dass ein Überpassungsmodell sehr flexibel ist (so wenig Verzerrung bei vielen Resamples aus derselben Population, wenn diese verfügbar waren), aber eine hohe Variabilität aufweist (wenn ich eine Stichprobe sammle und überpasse und Sie eine Stichprobe sammle und überpasse) Die Ergebnisse sind unterschiedlich, da die nichtparametrische Regression das Rauschen in den Daten verfolgt. Was können wir tun? Wir können viele Resamples (aus dem Bootstrapping) nehmen, die jeweils überpassend sind, und sie zusammen mitteln. Dies sollte zu derselben Verzerrung (niedrig) führen, aber einen Teil der Varianz ausgleichen.
Gradient Boosting funktioniert im Kern mit nichtparametrischen UNDERFIT-Regressionen, die zu einfach sind und daher nicht flexibel genug, um die tatsächliche Beziehung in den Daten zu beschreiben (dh voreingenommen), aber aufgrund der mangelnden Anpassung eine geringe Varianz aufweisen (Sie würden dazu tendieren) um dasselbe Ergebnis zu erzielen, wenn Sie neue Datensätze sammeln). Wie korrigieren Sie das? Grundsätzlich enthalten die RESIDUALS Ihres Modells, wenn Sie nicht fit sind, noch nützliche Strukturen (Informationen über die Population), sodass Sie den Baum, den Sie haben (oder einen beliebigen nichtparametrischen Prädiktor), mit einem Baum erweitern, der auf den Residuen aufgebaut ist. Dies sollte flexibler sein als der ursprüngliche Baum. Sie generieren wiederholt mehr und mehr Bäume, jeweils in Schritt k, ergänzt durch einen gewichteten Baum, der auf einem Baum basiert, der an die Residuen aus Schritt k-1 angepasst ist. Einer dieser Bäume sollte optimal sein, Am Ende gewichten Sie entweder alle diese Bäume zusammen oder wählen einen Baum aus, der am besten zu Ihnen passt. Daher ist Gradienten-Boosting eine Möglichkeit, eine Reihe flexiblerer Kandidatenbäume zu erstellen.
Wie bei allen nichtparametrischen Regressions- oder Klassifizierungsansätzen funktioniert das Absacken oder Boosten manchmal hervorragend, manchmal ist der eine oder andere Ansatz mittelmäßig, und manchmal stürzt der eine oder andere Ansatz (oder beide) ab und brennt.
Beide Techniken können auch auf andere Regressionsansätze als Bäume angewendet werden, sie werden jedoch am häufigsten mit Bäumen in Verbindung gebracht, möglicherweise weil es schwierig ist, Parameter festzulegen, um eine Unteranpassung oder Überanpassung zu vermeiden.
quelle
Siehe meinen Blog-Beitrag zum Lernen des Ensembles
Quellen für dieses Bild:
quelle
Kurz gesagt, Bagging und Boosting werden normalerweise in einem Algorithmus verwendet, während Stacking normalerweise verwendet wird, um mehrere Ergebnisse aus verschiedenen Algorithmen zusammenzufassen.
Random Forest
, wodurch Varianz beseitigt wird und keine Überanpassung auftritt.GBM
undXGBoost
der die Varianz beseitigt, aber ein Überpassungsproblem aufweist.quelle
Sowohl beim Absacken als auch beim Boosten wird für alle Schritte ein einziger Lernalgorithmus verwendet. Beim Umgang mit Trainingsmustern wenden sie jedoch unterschiedliche Methoden an. beide sind Gesamteindrucks - Lernmethode , die Entscheidungen von mehreren Modellen kombiniert
Absackung :
1. Resampling Trainingsdaten M Untergruppen (Bootstrapping) zu erhalten;
2. trainiert M Klassifikatoren (gleicher Algorithmus) basierend auf M Datensätzen (verschiedene Stichproben);
3. Endklassifikator kombiniert M Ausgänge durch Abstimmung;
Proben werden gleichmäßig gewogen;
Klassifikatoren wiegen gleichermaßen;
Verringert den Fehler durch Verringern der Varianz.
Boosting : Konzentrieren Sie sich hier auf den Adaboost-Algorithmus.
1. Beginnen Sie mit dem gleichen Gewicht für alle Proben in der ersten Runde.
2. In den folgenden M-1-Runden die Gewichte der in der letzten Runde falsch klassifizierten Proben erhöhen, die Gewichte der in der letzten Runde richtig klassifizierten Proben verringern.
3. Mit einer gewichteten Abstimmung kombiniert der endgültige Klassifikator mehrere Klassifikatoren aus vorherigen Runden und gibt größere Gewichte zu Klassifizierern mit weniger Fehlklassifizierungen.
schrittweise Gewichtung der Proben; Die Gewichte für jede Runde basieren auf den Ergebnissen der letzten Runde. Die
Proben werden neu gewichtet (Boosten), anstatt neu abgetastet (Absacken).
quelle
Beim Absacken und Boosten werden in der Regel viele homogene Modelle verwendet.
Beim Stapeln werden Ergebnisse von heterogenen Modelltypen kombiniert.
Da kein einzelner Modelltyp in der Regel für die gesamte Verteilung am besten geeignet ist, können Sie erkennen, warum dies die Vorhersagekraft erhöhen kann.
quelle