Eine einführung in das einpacken beim maschinellen lernen
Wenn die Beziehung zwischen einer Reihe von Prädiktorvariablen und einer Antwortvariablen linear ist, können wir Methoden wie die multiple lineare Regression verwenden, um die Beziehung zwischen den Variablen zu modellieren.
Wenn die Beziehung jedoch komplexer ist, müssen wir häufig auf nichtlineare Methoden zurückgreifen.
Eine dieser Methoden sind Klassifizierungs- und Regressionsbäume (oft als CART abgekürzt), die mithilfe einer Reihe von Prädiktorvariablen Entscheidungsbäume erstellen, die den Wert einer Antwortvariablen vorhersagen.
Der Nachteil von CART-Modellen besteht jedoch darin, dass sie tendenziell unter einer hohen Varianz leiden. Das heißt, wenn wir einen Datensatz in zwei Hälften aufteilen und einen Entscheidungsbaum auf beide Hälften anwenden, könnten die Ergebnisse sehr unterschiedlich ausfallen.
Eine Methode, mit der wir die Varianz von CART-Modellen reduzieren können, ist das sogenannte Bagging , manchmal auch Bootstrap-Aggregation genannt.
Was ist Absacken?
Wenn wir einen einzelnen Entscheidungsbaum erstellen, verwenden wir nur einen Satz Trainingsdaten, um das Modell zu erstellen.
Beim Einpacken wird jedoch die folgende Methode verwendet:
1. Nehmen Sie b Bootstrapping-Beispiele aus dem Originaldatensatz.
- Denken Sie daran, dass eine Bootstrapping-Stichprobe eine Stichprobe aus dem Originaldatensatz ist, in der Beobachtungen mit Ersetzung aufgenommen werden.
2. Erstellen Sie einen Entscheidungsbaum für jedes Bootstrap-Beispiel.
3. Mitteln Sie die Vorhersagen jedes Baums, um ein endgültiges Modell zu erhalten.
- Für Regressionsbäume nehmen wir den Durchschnitt der Vorhersagen der B- Bäume.
- Für Klassifizierungsbäume verwenden wir die am häufigsten von B -Bäumen gemachte Vorhersage.
Bagging kann mit jedem Algorithmus für maschinelles Lernen verwendet werden, ist jedoch besonders nützlich für Entscheidungsbäume, da diese von Natur aus eine hohe Varianz aufweisen und Bagging die Varianz erheblich reduzieren kann, was zu weniger Testfehlern führt.
Um Entscheidungsbäume mit Beuteln zu versehen, lassen wir einzelne Bäume in der Tiefe wachsen , ohne sie zu beschneiden. Dies führt zu einzelnen Bäumen mit hoher Varianz, aber geringer Verzerrung. Wenn wir dann die durchschnittlichen Vorhersagen dieser Bäume heranziehen, können wir die Varianz reduzieren.
In der Praxis wird die optimale Leistung normalerweise mit 50 bis 500 Bäumen erreicht, es ist jedoch möglich, Tausende von Bäumen anzupassen, um ein endgültiges Modell zu erstellen.
Bedenken Sie jedoch, dass das Anpassen weiterer Bäume mehr Rechenleistung erfordert, was je nach Größe des Datensatzes ein Problem darstellen kann oder auch nicht.
Schätzung von Out-of-Bag-Fehlern
Es stellt sich heraus, dass wir den Testfehler eines verpackten Modells berechnen können, ohne uns auf eine k-fache Kreuzvalidierung zu verlassen.
Der Grund dafür ist, dass jede Bootstrap-Stichprobe nachweislich etwa zwei Drittel der Beobachtungen aus dem Originaldatensatz enthält. Das verbleibende Drittel der Beobachtungen, die nicht zur Anpassung an den verpackten Baum verwendet werden, werden als Out-of-Bag-Beobachtungen (OOB) bezeichnet.
Wir können den Wert der i-ten Beobachtung im Originaldatensatz vorhersagen, indem wir die durchschnittliche Vorhersage von jedem der Bäume nehmen, in denen diese Beobachtung OOB war.
Mit diesem Ansatz können wir eine Vorhersage für alle n Beobachtungen im Originaldatensatz treffen und so eine Fehlerrate berechnen, die eine gültige Schätzung des Testfehlers darstellt.
Der Vorteil dieses Ansatzes zur Schätzung des Testfehlers besteht darin, dass er viel schneller ist als die k-fache Kreuzvalidierung, insbesondere wenn der Datensatz groß ist.
Die Bedeutung von Prädiktoren verstehen
Denken Sie daran, dass einer der Vorteile von Entscheidungsbäumen darin besteht, dass sie leicht zu interpretieren und zu visualisieren sind.
Wenn wir stattdessen das Bagging verwenden, können wir einen einzelnen Baum nicht mehr interpretieren oder visualisieren, da das endgültige Bagging-Modell das Ergebnis der Mittelung vieler verschiedener Bäume ist. Wir gewinnen an Vorhersagegenauigkeit auf Kosten der Interpretierbarkeit.
Wir können jedoch immer noch die Bedeutung jeder Prädiktorvariablen verstehen, indem wir die Gesamtreduzierung des RSS (Restsumme der Quadrate) aufgrund der Verteilung über einen bestimmten Prädiktor, gemittelt über alle B- Bäume, berechnen. Je größer der Wert, desto wichtiger ist der Prädiktor.
In ähnlicher Weise können wir für Klassifizierungsmodelle die gesamte Reduzierung des Gini-Index aufgrund der Verteilung über einen bestimmten Prädiktor berechnen, gemittelt über alle B -Bäume. Je größer der Wert, desto wichtiger ist der Prädiktor.
Auch wenn wir das endgültige Gesamtmodell nicht genau interpretieren können, können wir uns dennoch ein Bild davon machen, wie wichtig jede Prädiktorvariable bei der Vorhersage der Reaktion ist.
Gehen Sie über das Einpacken hinaus
Der Vorteil des Bagging besteht darin, dass es im Allgemeinen zu einer Verbesserung der Testfehlerrate im Vergleich zu einem einzelnen Entscheidungsbaum führt.
Der Nachteil besteht darin, dass Vorhersagen aus der Sammlung verpackter Bäume stark korrelieren können, wenn der Datensatz einen sehr starken Prädiktor enthält.
In diesem Fall verwenden die meisten oder alle eingesackten Bäume diesen Prädiktor für die erste Aufteilung, was zu Bäumen führt, die einander ähnlich sind und stark korrelierte Vorhersagen aufweisen.
Eine Möglichkeit, dieses Problem zu umgehen, besteht darin, zufällige Wälder zu verwenden, die eine ähnliche Methode wie das Einsacken verwenden, aber in der Lage sind, dekorierte Bäume zu produzieren, was häufig zu geringeren Testfehlerraten führt.
Eine einfache Einführung in Random Forests können Sie hier lesen.
Zusätzliche Ressourcen
Eine Einführung in Klassifizierungs- und Regressionsbäume
So führen Sie das Bagging in R durch (Schritt für Schritt)