Aufbau robuster KI-Modelle mit Bagging: Techniken, Vorteile und Anwendungen
Veröffentlicht: 2025-01-09Bagging ist eine Ensemble-Technik des maschinellen Lernens (ML), die die Konsistenz von Vorhersagemodellen verbessert. Dieser Leitfaden beschreibt die Funktionsweise des Absackens, erörtert seine Vorteile, Herausforderungen und Anwendungen und vergleicht es mit verwandten Techniken wie dem Boosten.
Inhaltsverzeichnis
- Was ist Absacken?
- Varianz vs. Voreingenommenheit
- Absacken vs. Boosten
- So funktioniert das Einpacken
- Arten von Absackalgorithmen
- Anwendungen des Absackens
- Vorteile des Absackens
- Herausforderungen und Grenzen des Absackens
Was ist Absacken?
Bagging (oder formeller: Bootstrap-Aggregation) ist eine Ensemble-Lerntechnik, die die Ausgabegenauigkeit durch die Verwendung mehrerer ähnlicher ML-Modelle verbessert. Im Kern kombiniert Ensemble-Lernen mehrere Modelle, um eine bessere Leistung als jedes einzelne Modell zu erzielen.
Der Ansatz besteht darin, die Trainingsdaten in zufällige Teilmengen aufzuteilen und für jede ein anderes Modell zu trainieren. Für neue Eingaben werden Vorhersagen aller Modelle aggregiert, um eine endgültige Ausgabe zu erzeugen. Durch die Verwendung randomisierter Teilmengen reduziert die Technik Diskrepanzen zwischen Modellen, was zu konsistenteren Vorhersagen führt.
Durch die Minimierung der Varianz des ML-Systems ist das Absacken besonders wirksam bei der Verbesserung der Konsistenz.
Varianz vs. Voreingenommenheit
Die Reduzierung von Verzerrungen und Varianz sind grundlegende Ziele jedes ML-Modells oder -Systems.
Bias beschreibt die Fehler, die ein ML-System aufgrund seiner Annahmen über die angezeigten Daten macht. Normalerweise wird ermittelt, indem berechnet wird, wie falsch das Modell im Durchschnitt ist. Varianz misst die Modellkonsistenz. Zur Schätzung wird überprüft, wie unterschiedlich die Ergebnisse des Modells bei ähnlichen Eingaben sind.
Hohe Voreingenommenheit
Betrachten wir als Beispiel das Problem, den Verkaufspreis eines Hauses anhand seiner Merkmale (z. B. Quadratmeterzahl und Anzahl der Schlafzimmer) vorherzusagen. Ein einfaches Modell kann viele vereinfachende Annahmen treffen und nur die Quadratmeterzahl berücksichtigen, was zu einer starken Verzerrung führt. Selbst bei den Trainingsdaten werden immer wieder Fehler gemacht, da die Realität komplizierter ist als die Annahmen. Daher ist es einfach nicht möglich, die tatsächlichen Preisprädiktoren (wie Standort, Schulqualität und Anzahl der Schlafzimmer) zu erfassen.
Hohe Varianz
Ein komplexeres Modell kannjedenTrend in den Trainingsdaten erfassen und eine hohe Varianz aufweisen. Beispielsweise kann dieses Modell in den Trainingsdaten eine winzige Korrelation zwischen der Hausnummer (im Wesentlichen dem numerischen Teil einer Straßenadresse) und dem Preis finden und diese verwenden, obwohl es sich nicht um einen tatsächlichen Prädiktor handelt. Bei den Trainingsdaten wird es gut abschneiden, bei realen Daten jedoch schlecht.
Der Varianz-Bias-Kompromiss
Ein ideales Modell hätte einen geringen Bias und eine geringe Varianz und würde bei ähnlichen Eingaben konsistent die richtigen Ausgaben generieren. Eine hohe Verzerrung resultiert in der Regel daraus, dass das Modell zu einfach ist, um die Muster in den Trainingsdaten zu erfassen – Unteranpassung. Eine hohe Varianz entsteht normalerweise dadurch, dass das Modell falsche Muster in den Trainingsdaten erfasst – Überanpassung.
Durch die Erhöhung der Komplexität eines Modells können mehr Muster erfasst werden, was zu einer geringeren Verzerrung führt. Dieses ausgefeiltere Modell neigt jedoch dazu, die Trainingsdaten zu stark anzupassen, was zu einer höheren Varianz führt und umgekehrt. In der Praxis ist es schwierig, einen ausgewogenen Kompromiss zwischen Bias und Varianz zu erreichen.
Beim Absacken liegt der Schwerpunkt auf der Reduzierung der Varianz. Jedes Modell im Ensemble kann eine hohe Varianz aufweisen, da es seinen Datensatz überpasst. Da jedoch jedes Modell einen zufälligen Datensatz erhält, werden sie unterschiedliche Störmuster entdecken. Im Beispiel des Hauspreises könnte ein Modell Häuser mit geraden Nummern überbewerten, ein anderes könnte sie unterbewerten und die meisten würden Hausnummern völlig ignorieren.
Diese willkürlichen Muster tendieren dazu, sich zu mitteln, wenn wir ihre Vorhersagen mitteln, sodass uns die wahren zugrunde liegenden Beziehungen verbleiben. Das Ensemble erreicht somit eine geringere Varianz und eine reduzierte Überanpassung im Vergleich zu jedem einzelnen Modell.
Absacken vs. Boosten
Möglicherweise hören Sie, dass Absacken im gleichen Zusammenhang wie Boosting erwähnt wird. Dies sind die gängigsten Ensemble-Lerntechniken und liegen vielen beliebten ML-Modellen zugrunde. Boosting ist eine Technik, bei der Modelle anhand der Fehler früherer Modelle trainiert werden. Dann wird diese Gruppe von Modellen verwendet, um auf beliebige Eingaben zu reagieren. Lassen Sie uns die Unterschiede zwischen den beiden Techniken weiter besprechen.
Absacken | Boosten | |
Modelltraining | Modelle werden parallel auf verschiedenen Teilmengen von Daten trainiert | Modelle werden nacheinander trainiert, wobei sich jedes Modell auf die Fehler des vorherigen Modells konzentriert |
Fokus auf Fehlerreduzierung | Reduziert die Varianz | Reduziert Voreingenommenheit |
Gängige Algorithmen | Zufälliger Wald, eingesackte Entscheidungsbäume | AdaBoost, Gradient Boosting, XGBoost |
Überanpassungsrisiko | Geringeres Risiko einer Überanpassung aufgrund von Zufallsstichproben | Höheres Risiko einer Überanpassung |
Rechenkomplexität | Untere | Höher |
Beide Techniken sind verbreitet, Boosting ist jedoch beliebter. Boosting kann sowohl Biasals auchVarianz reduzieren, während Bagging normalerweise nur die Varianz beeinflusst.
So funktioniert das Einpacken
Betrachten wir einmal, wie das Einpacken tatsächlich funktioniert. Der Kern besteht darin, die Trainingsdaten zufällig aufzuteilen, Modelle parallel auf den geteilten Daten zu trainieren und alle Modelle zu verwenden, um auf Eingaben zu reagieren. Wir werden sie nacheinander angehen.
Datenaufteilung
Angenommen, wir haben einen Trainingsdatensatz mitnDatenpunkten und möchten ein Paketensemble ausmModellen erstellen. Dann müssen wirmDatensätze (einen für jedes Modell) mit jeweilsnPunkten erstellen. Wenn jeder Datensatz mehr oder weniger alsnPunkte enthält, werden einige Modelle über- oder untertrainiert.
Um einen einzelnen neuen Zufallsdatensatz zu erstellen, wählen wir zufällignPunkte aus dem ursprünglichen Trainingsdatensatz aus. Wichtig ist, dass wir die Punkte nach jeder Auswahl in den ursprünglichen Datensatz zurückversetzen. Infolgedessen verfügt der neue Zufallsdatensatz über mehr als eine Kopie einiger der ursprünglichen Datenpunkte, während er von anderen keine Kopien hat. Im Durchschnitt besteht dieser Datensatz zu 63 % aus eindeutigen Datenpunkten und zu 37 % aus duplizierten Datenpunkten.
Anschließend wiederholen wir diesen Vorgang, um allemDatensätze zu erstellen. Die Variation in der Datenpunktdarstellung trägt dazu bei, Diversität zwischen den Ensemblemodellen zu schaffen, was ein Schlüssel zur Reduzierung der Varianz insgesamt ist.
Modelltraining
Mit unserenmrandomisierten Datensätzen trainieren wir einfachmModelle, ein Modell für jeden Datensatz. Wir sollten durchgehend dasselbe Modell verwenden, um ähnliche Vorurteile zu gewährleisten. Wir können die Modelle parallel trainieren, was eine viel schnellere Iteration ermöglicht.
Aggregierende Modelle
Da wir nunmtrainierte Modelle haben, können wir sie als Ensemble verwenden, um auf jede Eingabe zu reagieren. Jeder Eingabedatenpunkt wird parallel an jedes der Modelle weitergeleitet und jedes Modell antwortet mit seiner Ausgabe. Anschließend aggregieren wir die Ergebnisse der Modelle, um zu einer endgültigen Antwort zu gelangen. Wenn es sich um ein Klassifizierungsproblem handelt, verwenden wir den Modus der Ausgaben (die häufigste Ausgabe). Wenn es sich um ein Regressionsproblem handelt, nehmen wir den Durchschnitt der Ausgaben.
Der Schlüssel zur Reduzierung der Varianz liegt hier darin, dass jedes Modell aufgrund von Unterschieden in den Trainingsdaten bei einigen Arten von Eingaben besser und bei anderen schlechter ist. Insgesamt sollten jedoch die Fehler eines Modells durch die anderen Modelle ausgeglichen werden, was zu einer geringeren Varianz führt.
Arten von Absackalgorithmen
Bagging als Algorithmus kann auf jede Art von Modell angewendet werden. In der Praxis gibt es zwei Bagged-Modelle, die sehr verbreitet sind: Random Forests und Bagged Decision Trees. Lassen Sie uns beide kurz untersuchen.
Zufällige Wälder
Ein Zufallswald ist ein Ensemble von Entscheidungsbäumen, die jeweils auf zufälligen Datensätzen trainiert werden. Ein Entscheidungsbaum ist ein Modell, das Vorhersagen trifft, indem es Ja/Nein-Fragen zu Eingabedaten beantwortet, bis es eine geeignete Bezeichnung findet.
In einer Zufallsstruktur hat jeder Entscheidungsbaum die gleichen Hyperparameter – voreingestellte Konfigurationen wie die maximale Tiefe des Baums oder die minimalen Stichproben pro Teilung –, verwendet jedoch unterschiedliche (zufällig ausgewählte) Merkmale aus dem Trainingsdatensatz. Ohne Feature-Randomisierung kann jeder Entscheidungsbaum trotz Unterschieden in den Trainingsdaten zu ähnlichen Antworten konvergieren. Zufällige Wälder sind eine äußerst beliebte Wahl für ML und oft ein guter Ausgangspunkt für die Lösung von ML-Aufgaben.
Eingesackte Entscheidungsbäume
Eingesackte Entscheidungsbäume sind Zufallswäldern sehr ähnlich, mit der Ausnahme, dass jeder Baum dieselben Merkmale aus dem Trainingsdatensatz verwendet. Dadurch verringert sich die Vielfalt der Erträge der Bäume, was Vor- und Nachteile hat. Positiv ist, dass die Bäume stabiler sind und wahrscheinlich ähnliche Antworten liefern; Auf diese Weise lässt sich ermitteln, welche Merkmale wichtig sind. Der Nachteil ist, dass die Varianz nicht so stark reduziert wird. Aus diesem Grund werden Random Forests viel häufiger verwendet als Baged Decision Trees.
Anwendungen des Absackens
Bagging kann bei jedem ML-Problem verwendet werden, bei dem die Varianz höher als gewünscht ist. Solange es ein ML-Modell gibt, kann es eingetütet werden. Um dies konkreter zu machen, sehen wir uns einige Beispiele an.
Klassifizierung und Regression
Klassifizierung und Regression sind zwei der zentralen ML-Probleme. Ein Benutzer möchte das Motiv eines Bildes möglicherweise als Katze oder als Hund kennzeichnen – Klassifizierung. Oder ein Benutzer möchte den Verkaufspreis eines Hauses anhand seiner Merkmale vorhersagen – Regression. Wie wir gesehen haben, kann das Absacken dazu beitragen, die Varianz bei beiden zu verringern.
Bei der Klassifizierung wird der Modus der Ensemblemodelle verwendet. Bei der Regression wird der Durchschnitt verwendet.
Funktionsauswahl
Bei der Merkmalsauswahl geht es darum, die wichtigsten Merkmale in einem Datensatz zu finden – diejenigen, die die korrekte Ausgabe am besten vorhersagen. Durch das Entfernen irrelevanter Feature-Daten kann ein Modellentwickler die Möglichkeit einer Überanpassung verringern.
Die Kenntnis der wichtigsten Merkmale kann auch die Interpretierbarkeit von Modellen verbessern. Darüber hinaus können Modellentwickler dieses Wissen nutzen, um die Anzahl der Features in den Trainingsdaten zu reduzieren und so das Training zu beschleunigen. Eingepackte Entscheidungsbäume eignen sich gut zum Aufdecken wichtiger Merkmale. Die darin stark gewichteten Merkmale werden wahrscheinlich die wichtigsten sein.
Einpacken im E-Commerce
Das Einsacken im E-Commerce ist besonders wertvoll für die Vorhersage der Kundenabwanderung. Auf Abwanderungsdaten trainierte ML-Modelle weisen aufgrund komplexer, verrauschter Kundenverhaltensmuster häufig eine hohe Varianz auf; Möglicherweise überpassen sie ihren Trainingsdatensatz. Sie könnten auch auf falsche Beziehungen schließen, etwa auf die Annahme, dass die Anzahl der Vokale im Namen eines Kunden dessen Abwanderungswahrscheinlichkeit beeinflusst.
Der Trainingsdatensatz enthält möglicherweise nur wenige Beispiele, die diese Überanpassung verursachen. Mithilfe von Bagged-Modellen kann das Ensemble echte Abwanderungsindikatoren besser identifizieren und gleichzeitig falsche Korrelationen ignorieren, was zu zuverlässigeren Abwanderungsvorhersagen führt.
Vorteile des Absackens
Bagging reduziert Modellvarianz und Überanpassung und kann bei Datenproblemen helfen. Es handelt sich außerdem um eine der am besten parallelisierbaren und effizientesten Verpackungstechniken.
Reduzierte Varianz
Modellvarianz zeigt an, dass ein Modell nicht die wahren, aussagekräftigen Muster in Daten lernt. Stattdessen werden zufällige Korrelationen aufgegriffen, die nicht viel bedeuten und ein Symptom für unvollständige Trainingsdaten sind.
Durch das Bagging wird die Varianz der Modelle verringert; Das Ensemble als Ganzes konzentriert sich auf die sinnvollen Beziehungen zwischen Input und Output.
Lassen Sie neue Daten gut verallgemeinern
Da Baged-Modelle mit größerer Wahrscheinlichkeit sinnvolle Beziehungen erkennen, können sie auf neue oder unbekannte Daten verallgemeinern. Eine gute Verallgemeinerung ist das ultimative Ziel des maschinellen Lernens, daher ist Bagging für viele Modelle oft eine nützliche Technik.
Bei fast jedem ML-Problem ist der Trainingsdatensatz nicht vollständig repräsentativ für die tatsächlichen Daten, daher ist eine gute Verallgemeinerung von entscheidender Bedeutung. In anderen Fällen kann sich die tatsächliche Datenverteilung im Laufe der Zeit ändern, sodass ein anpassbares Modell erforderlich ist. In beiden Fällen hilft das Einpacken.
Hochgradig parallelisierbar
Im Gegensatz zum Boosting ist die Erstellung von Bagged-Modellen in hohem Maße parallelisierbar. Jedes Modell kann unabhängig und gleichzeitig trainiert werden, was ein schnelles Experimentieren und eine einfachere Abstimmung der Hyperparameter ermöglicht (vorausgesetzt natürlich, dass Sie über genügend Rechenressourcen für das parallele Training verfügen).
Da außerdem jedes Modell unabhängig von den anderen ist, kann es ausgetauscht werden. Beispielsweise kann ein schwaches Modell auf eine andere Zufallsteilmenge umtrainiert werden, um seine Leistung zu verbessern, ohne die anderen Modelle zu beeinträchtigen.
Herausforderungen und Grenzen des Absackens
Leider erhöht das Hinzufügen weiterer Modelle die Komplexität. Die Herausforderungen der zusätzlichen Komplexität führen dazu, dass verpackte Modelle viel mehr Rechenressourcen erfordern, schwerer zu interpretieren und zu verstehen sind und eine stärkere Hyperparameter-Abstimmung erfordern.
Mehr Rechenressourcen erforderlich
Mehr Modelle erfordern mehr Ressourcen, um sie zu betreiben, und häufig verfügen gebündelte Ensembles über 50 Modelle. Bei kleineren Modellen mag das gut funktionieren, bei größeren kann es jedoch schwierig werden.
Auch die Reaktionszeiten des Ensembles können mit zunehmender Größe sinken. Die Ressourcen haben auch Opportunitätskosten: Sie können möglicherweise besser zum Trainieren eines größeren, besseren Modells genutzt werden.
Schwieriger zu interpretieren
ML-Modelle als Ganzes sind schwer zu interpretieren. Einzelne Entscheidungsbäume sind etwas einfacher, da sie zeigen, auf welcher Funktion sie ihre Entscheidungen basieren. Wenn Sie jedoch mehrere davon gruppieren, beispielsweise in einem zufälligen Wald, können die widersprüchlichen Antworten der einzelnen Bäume verwirrend sein.
Die Annahme des Modus oder Durchschnitts von Vorhersagen allein erklärt nicht, warum dies die richtige Vorhersage ist. Die Weisheit der Masse hat zwar oft Recht, ist aber schwer zu verstehen.
Mehr Hyperparameter-Tuning
Mit mehr Modellen werden die Auswirkungen von Hyperparametern verstärkt. Ein kleiner Fehler in den Hyperparametern kann mittlerweile Dutzende oder Hunderte von Modellen betreffen. Die Optimierung desselben Hyperparametersatzes erfordert mehr Zeit, was die begrenzten Ressourcen noch stärker belasten kann.