Motivation hinter zufälligen Waldalgorithmusschritten


11

Die mir bekannte Methode zum Erstellen einer zufälligen Gesamtstruktur lautet wie folgt: (von http://www.stat.berkeley.edu/~breiman/RandomForests/cc_home.htm )

Um einen Baum im Wald zu bauen, haben wir:

  1. Booten Sie eine Stichprobe der Größe N, wobei N die Größe unseres Trainingssatzes ist. Verwenden Sie dieses Bootstrap-Beispiel als Trainingssatz für diesen Baum.
  2. Wählen Sie an jedem Knoten des Baums zufällig m unserer M Merkmale aus. Wählen Sie die besten dieser m Funktionen aus, auf die Sie sich aufteilen möchten. (wobei m ein Parameter unseres zufälligen Waldes ist)
  3. Wachsen Sie jeden Baum so weit wie möglich - dh ohne Beschneiden.

Obwohl dieser Algorithmus auf prozeduraler Ebene sinnvoll ist und sicherlich gute Ergebnisse liefert, ist mir nicht klar, welche theoretische Motivation hinter den Schritten 1, 2 und 3 steckt. Könnte jemand erklären, was jemanden dazu motiviert hat, dieses Verfahren zu entwickeln und warum? funktioniert so gut?

Zum Beispiel: Warum müssen wir Schritt 1 ausführen? Es scheint nicht so, als würden wir für den üblichen Zweck der Varianzreduzierung booten.

Antworten:


9

Ensemble-Methoden (z. B. zufällige Wälder) erfordern einige Variationen in den Datensätzen, auf denen die einzelnen Basisklassifizierer wachsen (andernfalls würden zufällige Wälder zu einem Wald von Bäumen führen, die zu ähnlich sind). Da Entscheidungsbäume sehr empfindlich auf die Beobachtungen im Trainingssatz reagieren, war das Variieren der Beobachtungen (mithilfe des Bootstraps) vermutlich ein natürlicher Ansatz, um die erforderliche Vielfalt zu erhalten. Die naheliegende Alternative besteht darin, die verwendeten Merkmale zu variieren, z. B. jeden Baum auf einer Teilmenge der ursprünglichen Merkmale zu trainieren. Die Verwendung der Bootstrap-Beispiele ermöglicht es uns auch, die Out-of-Bag-Fehlerrate (OOB) und die variable Bedeutung abzuschätzen.

2 ist im Wesentlichen eine andere Möglichkeit, Zufälligkeit in den Wald zu injizieren. Dies wirkt sich auch auf die Verringerung der Korrelation zwischen den Bäumen aus (durch Verwendung eines niedrigen Mtry-Werts), wobei der Kompromiss (möglicherweise) die Vorhersagekraft verschlechtert. Wenn Sie einen zu großen Wert von mtry verwenden, werden die Bäume einander immer ähnlicher (und im Extremfall kommt es zu Absacken).

Ich glaube, dass der Grund dafür, nicht zu beschneiden, mehr in der Tatsache liegt, dass es nicht notwendig ist als alles andere. Mit einem einzelnen Entscheidungsbaum würden Sie ihn normalerweise beschneiden, da er sehr anfällig für Überanpassungen ist. Durch die Verwendung der Bootstrap-Beispiele und das Wachsen vieler Bäume können zufällige Wälder Bäume wachsen lassen, die individuell stark sind, aber nicht besonders miteinander korrelieren. Grundsätzlich sind die einzelnen Bäume überangepasst, aber sofern ihre Fehler nicht korrelieren, sollte der Wald einigermaßen genau sein.

Der Grund, warum es gut funktioniert, ähnelt dem Satz der Jury von Condorcet (und der Logik hinter Methoden wie Boosten). Grundsätzlich haben Sie viele schwache Lernende, die nur unwesentlich besser abschneiden müssen als zufällige Vermutungen. Wenn dies zutrifft, können Sie weiterhin schwache Lernende hinzufügen, und im Grenzfall erhalten Sie perfekte Vorhersagen von Ihrem Ensemble. Dies ist eindeutig eingeschränkt, da die Fehler der Lernenden korrelieren, was eine Verbesserung der Leistung des Ensembles verhindert.


Gute Antwort, und die Verbindung mit dem Satz der Jury von Condorcet macht Sinn. Formal ist der Grund, warum es gut funktioniert, die Ungleichheit von Jensen!
JEquihua
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.