Warum wird in Random Forest eine zufällige Teilmenge von Features auf Knotenebene und nicht auf Baumebene ausgewählt?

12

Meine Frage: Warum werden in zufälligen Gesamtstrukturen zufällige Teilmengen von Features für die Aufteilung auf Knotenebene in jedem Baum berücksichtigt, anstatt auf Baumebene ?

Hintergrund: Dies ist so etwas wie eine historische Frage. Tin Kam Ho veröffentlichte diesen Aufsatz über die Konstruktion von "Entscheidungswäldern", indem er 1998 zufällig eine Teilmenge von Merkmalen auswählte, die für das Wachstum jedes Baumes verwendet werden sollen . Einige Jahre später, 2001, veröffentlichte Leo Breiman seinen wegweisenden Aufsatz " Random Forest" , in dem die Teilmenge der Merkmale zufällig ist wird an jedem Knoten in jedem Baum ausgewählt, nicht an jedem Baum. Während Breiman Ho zitierte, erklärte er den Übergang von der Baumebene zur Knotenebene nicht speziell für die zufällige Merkmalsauswahl.

Ich frage mich, was genau diese Entwicklung motiviert hat. Es scheint, dass das Auswählen der Merkmalsuntermenge auf der Baumebene immer noch die gewünschte Dekorrelation der Bäume bewirken würde.

Meine Theorie: Ich habe dies nicht anderswo artikuliert gesehen, aber es scheint, dass die Methode des zufälligen Unterraums weniger effizient wäre, um Schätzungen der Merkmalswichtigkeit zu erhalten. Um Schätzungen von variabler Wichtigkeit zu erhalten, werden die Merkmale für jeden Baum einzeln zufällig permutiert, und die Zunahme der Fehlklassifizierung oder der Fehlerzunahme für die Out-of-Bag-Beobachtungen wird aufgezeichnet. Die Variablen, für die die Fehlklassifizierung oder Fehlerzunahme, die sich aus dieser zufälligen Permutation ergibt, hoch ist, sind diejenigen mit der größten Bedeutung.

mppmip

Was ich bisher gesehen habe: Bisher habe ich Breimans und Ho's Artikel gelesen und online nach Vergleichen der Methoden gesucht, ohne eine endgültige Antwort gefunden zu haben. Beachten Sie, dass zuvor eine ähnliche Frage gestellt wurde. Diese Frage geht ein Stück weiter, indem ich meine Spekulationen / Arbeit an einer möglichen Lösung einbeziehe. Ich würde mich für Antworten, relevante Zitate oder Simulationsstudien interessieren, die die beiden Ansätze vergleichen. Wenn es keine gibt, plane ich, meine eigene Simulation durchzuführen, um die beiden Methoden zu vergleichen.

djlid
quelle
2
Ich werde keine Referenzen zitieren, also nennen wir dies einfach einen Kommentar. Wenn Sie versuchen zu verstehen, welche Variablen nützlich sind, kann es sein, dass eine bestimmte Variable kritisch ist, jedoch nur für einen kleinen Teil der Daten. Sie können dies herausfinden, indem Sie die Variablen auf Knotenebene einsacken. Das würde man beim Absacken auf Baumebene nie entdecken.
meh
2
Ich bin sicher, dass Breiman in seinem (imho) bahnbrechenden Aufsatz "Statistik - Die zwei Kulturen" einen Kommentar dazu abgegeben hat. Sein Punkt dort ist, dass manchmal die Wichtigkeit einer Variablen durch eine andere Variable maskiert wird. Durch das Absacken auf Knotenebene kann man sehen, was und wann für eine Variable ist.
meh
1
Danke für die Kommentare. Zurück zu meiner Vorstellung von Effizienz: Angenommen, ein Paar von Variablen hängt zusammen und, wie Sie sagten, die Wichtigkeit von einer "maskiert" die Wichtigkeit einer anderen. Wenn wir einen RF-Prädiktor mit genügend Bäumen erstellen und die Teilmenge der Baumstruktur verwenden würden, hätten wir möglicherweise nicht genug Bäume mit der "maskierten" Funktion und ohne die "maskierende" Funktion, um die Bedeutung der ersteren ohne den Einfluss von zu erreichen Letzteres? Ich denke, wir sprechen zumindest ungefähr über dieselbe Idee. Vielen Dank!
DJLID
4
Sie könnten, aber überlegen Sie, wie viele Bäume Sie noch bauen müssten! Es ist auch nicht klar. Variable A kann Teilungen verursachen, sodass in keiner von ihnen Variable B leuchtet. Es ist nur deutlich robuster, auf Knotenebene abzutasten. Mir geht es im Grunde darum, was Bootstrapping sein soll.
meh

Antworten:

1

Angenommen, wir haben 10 Merkmale f1, f2, ..., f9, f10. Wenn wir dann eine Teilmenge von Merkmalen auf Baumebene selbst annehmen, dann konstruieren wir den gesamten Baum unter Verwendung dieser 4 Merkmale in Betracht.

Wir berechnen die Entropie, vergleichen nur diese 4 Merkmale an jedem Knoten und nehmen das Merkmal, das die maximale Entropie ergibt. Dies nützt nicht viel, da wir unser Baumlernen auf diese vier Funktionen beschränken. Im Gegensatz dazu berechnen wir die Entropie, vergleichen sie unter diesen drei Merkmalen und wählen dasjenige aus, das den Maximalwert ergibt, wenn wir eine Teilmenge von Merkmalen wie z. B. f1, f8, f9 am ersten Knoten nehmen. Anstatt den Baum mit denselben Merkmalen weiter zu vergrößern, haben wir eine andere Teilmenge von Merkmalen gewählt, sagen wir f4, f7, f2, und die Aufteilung erfolgt auf der Grundlage dieser Merkmale. Angenommen, f8 wurde am ersten Knoten und f2 am zweiten Knoten ausgewählt. Model ist in der Lage, die Beziehung zwischen diesen beiden zu lernen, die nicht '

Auf diese Weise kann das Modell die Beziehung zwischen verschiedenen Merkmalen auf vielfältigere Weise lernen. Bei diesem Ansatz wird eine Reihe von Merkmalen in einem einzigen Baum untersucht, so dass die Beziehungen zwischen ihnen erhalten bleiben. Hoffe du hast es jetzt :)

Shashank Kumar Mishra
quelle