Ich bin ein bisschen verwirrt über das Lernen von Ensembles. Kurz gesagt, es werden k Modelle ausgeführt und der Durchschnitt dieser k Modelle ermittelt. Wie kann garantiert werden, dass der Durchschnitt der k Modelle besser ist als jeder der Modelle für sich? Ich verstehe, dass die Tendenz "ausgebreitet" oder "gemittelt" ist. Was aber, wenn das Ensemble zwei Modelle enthält (dh k = 2) und eines schlechter als das andere ist - wäre das Ensemble nicht schlechter als das bessere Modell?
machine-learning
ensemble
user1691278
quelle
quelle
Antworten:
Es ist nicht garantiert. Wie Sie sagen, könnte das Ensemble schlechter sein als die einzelnen Modelle. Wenn Sie zum Beispiel den Durchschnitt des wahren Modells und eines schlechten Modells nehmen, erhalten Sie ein ziemlich schlechtes Modell.
Der Durchschnitt von Modellen wird nur dann eine Verbesserung sein, wenn die Modelle (etwas) unabhängig voneinander sind. Beispielsweise wird beim Absacken jedes Modell aus einer zufälligen Teilmenge der Daten erstellt, sodass ein gewisses Maß an Unabhängigkeit gewährleistet ist. Alternativ können Modelle mit verschiedenen Merkmalskombinationen erstellt und anschließend durch Mitteln kombiniert werden.k
Außerdem funktioniert die Modellmittelung nur dann gut, wenn die einzelnen Modelle eine hohe Varianz aufweisen. Aus diesem Grund wird aus sehr großen Bäumen ein zufälliger Wald gebaut. Auf der anderen Seite ergibt die Mittelung einer Reihe linearer Regressionsmodelle immer noch ein lineares Modell, das wahrscheinlich nicht besser ist als die Modelle, mit denen Sie begonnen haben (probieren Sie es aus!).
Andere Ensemble-Methoden, wie Boosten und Mischen, verwenden die Ergebnisse der einzelnen Modelle zusammen mit den Trainingsdaten als Eingabe für ein größeres Modell. In diesem Fall ist es nicht verwunderlich, dass sie häufig besser funktionieren als die einzelnen Modelle, da sie tatsächlich komplizierter sind und die Trainingsdaten weiterhin verwenden.
quelle
In Ihrem Beispiel ist Ihr Ensemble aus zwei Modellen möglicherweise schlechter als ein einzelnes Modell. Aber Ihr Beispiel ist künstlich, wir bauen in der Regel mehr als zwei in unserem Ensemble.
Es gibt keine absolute Garantie dafür, dass ein Ensemblemodell eine bessere Leistung erzielt als ein einzelnes Modell. Wenn Sie jedoch viele davon erstellen und Ihr einzelner Klassifikator schwach ist . Ihre Gesamtleistung sollte besser sein als ein einzelnes Modell.
Beim maschinellen Lernen übertrifft das Training mehrerer Modelle im Allgemeinen das Training eines einzelnen Modells. Das liegt daran, dass Sie mehr Parameter einstellen müssen.
quelle
Ich möchte nur etwas werfen, das in diesem Zusammenhang selten diskutiert wird, und es sollte Ihnen zu denken geben.
Ensemble arbeitet auch mit Menschen!
Es wurde beobachtet, dass die Mittelung menschlicher Vorhersagen bessere Vorhersagen liefert als jede einzelne Vorhersage. Dies ist als die Weisheit der Menge bekannt.
Nun könnte man argumentieren, dass es daran liegt, dass einige Leute unterschiedliche Informationen haben, so dass Sie effektiv den Durchschnitt der Informationen bilden. Aber nein, dies gilt auch für Aufgaben wie das Erraten der Anzahl der Bohnen in einem Glas.
Es gibt viele Bücher und Experimente, die darüber geschrieben wurden, und das Phänomen verwirrt die Forscher immer noch.
Wie @Flounderer hervorhob, ergeben sich die tatsächlichen Gewinne aus sogenannten instabilen Modellen wie Entscheidungsbäumen, bei denen jede Beobachtung normalerweise einen Einfluss auf die Entscheidungsgrenze hat. Stabilere wie SVMs gewinnen nicht so viel, da Resampling die Support-Vektoren normalerweise nicht stark beeinflusst.
quelle
Es ist durchaus möglich, dass einzelne Modelle besser sind als Ensembles.
Auch wenn es in Ihren Daten keine Punkte gibt, an denen einige Ihrer Modelle überschätzt und andere unterschätzt werden (in diesem Fall könnten Sie hoffen, dass der durchschnittliche Fehler negiert wird), sind einige der beliebtesten Verlustfunktionen (wie der mittlere quadratische Verlust) strafbar einzelne große Abweichungen mehr als einige moderate Abweichungen. Wenn die von Ihnen gemittelten Modelle etwas anders sind, können Sie hoffen, dass die Varianz "geringer" wird, da der Durchschnitt ausstehende Abweichungen beseitigt. Wahrscheinlich ist es erklärbar mit , dass .
quelle
Ja, es könnte der Fall sein, aber die Idee für das Zusammenstellen ist, einfachere Modelle zu trainieren, um eine Überanpassung zu vermeiden, während verschiedene Eigenschaften von Daten aus verschiedenen Ensembles erfasst werden. Natürlich gibt es keine Garantie dafür, dass ein Ensemblemodell ein einzelnes Modell übertrifft, während es mit denselben Trainingsdaten trainiert wird. Die Outperformance kann durch Kombination von Ensemblemodellen und Boosten (zB AdaBoost) erzielt werden. Durch Boosten trainieren Sie jedes nächste Ensemblemodell, indem Sie jedem Datenpunkt Gewichte zuweisen und diese nach Fehlern aktualisieren. Stellen Sie es sich als einen Algorithmus für die Koordinatenabsenkung vor, der es ermöglicht, dass der Trainingsfehler bei jeder Iteration sinkt, während die durchschnittliche Modellkomplexität konstant bleibt. Insgesamt wirkt sich dies auf die Leistung aus. Da sind viele
quelle