Softwareimplementierungen von zufälligen Gesamtstrukturklassifizierern verfügen über eine Reihe von Parametern, mit denen Benutzer das Verhalten des Algorithmus genau einstellen können, einschließlich der Anzahl der Gesamtstrukturbäume. Ist dies ein Parameter, der auf die gleiche Weise wie , um die Anzahl der Features zu bestimmen , die bei jeder Aufteilung getestet werden sollen (wie Leo Breiman es nennt )?mtry
classification
optimization
random-forest
hyperparameter
Sycorax sagt Reinstate Monica
quelle
quelle
Antworten:
Es ist üblich, Codefragmente zu finden, dieT als Hyperparameter behandeln , und zu versuchen, es auf dieselbe Weise wie jeden anderen Hyperparameter zu optimieren. Dies verschwendet nur Rechenleistung: Wenn alle anderen Hyperparameter festgelegt sind, verringert sich der Verlust des Modells stochastisch, wenn die Anzahl der Bäume zunimmt.
Intuitive Erklärung
Jeder Baum in einer zufälligen Gesamtstruktur ist identisch verteilt. Die Bäume sind identisch verteilt, da jeder Baum mit einer Zufallsstrategie wächst, die für jeden Baum wiederholt wird: Boostrap der Trainingsdaten und Wachstum jedes Baums durch Auswahl der besten Aufteilung für ein Merkmal aus denm für diesen Knoten ausgewählten Merkmalen. Das Random Forest-Verfahren steht im Gegensatz zum Boosten, die Bäume werden unabhängig von den anderen Bäumen auf einer eigenen Bootstrap-Unterprobe angepflanzt. (In diesem Sinne ist der Random Forest-Algorithmus "peinlich parallel".)
Im binären Fall gibt jeder zufällige Gesamtstrukturbaum für jede Stichprobe 1 für die positive Klasse oder 0 für die negative Klasse an. Der Durchschnitt aller dieser Stimmen wird als Klassifizierungspunktzahl des gesamten Waldes herangezogen. (Im allgemeinen Fallk nary haben wir stattdessen einfach eine kategoriale Verteilung, aber alle diese Argumente gelten weiterhin.)
Das schwache Gesetz der großen Zahlen ist unter diesen Umständen anwendbar, weil
In diesem Fall bedeutet die Anwendung von WLLN, dass das Ensemble für jede Stichprobe zu einem bestimmten mittleren Vorhersagewert für diese Stichprobe tendiert, da die Anzahl der Bäume gegen unendlich tendiert. Zusätzlich wird für einen gegebenen Satz von Stichproben eine interessierende Statistik unter diesen Stichproben (wie der erwartete logarithmische Verlust) ebenfalls zu einem Mittelwert konvergieren, da die Anzahl der Bäume gegen unendlich tendiert.
Elemente des statistischen Lernens
Hastie et al. Behandeln Sie diese Frage in ESL (Seite 596) ganz kurz .
Anders ausgedrückt, bei einer festen Hyperparameterkonfiguration kann durch Erhöhen der Anzahl der Bäume keine Überanpassung der Daten erfolgen. Die anderen Hyperparameter können jedoch zu Überanpassung führen.
Mathematische Erklärung
Dieser Abschnitt fasst Philipp Probst & Anne-Laure Boulesteix „ Zum Einstellen oder nicht die Anzahl der Bäume in zufälligem Wald zu stimmen? “. Die wichtigsten Ergebnisse sind
Die erwartete Fehlerrate und Fläche unter der ROC-Kurve kann eine nicht monotone Funktion der Anzahl der Bäume sein.
ein. Die erwartete Fehlerrate (äquiv.Fehlerrate = 1 - Genauigkeit ) in Abhängigkeit von T der Anzahl der Bäume ergibt sich aus
E( eich( T) ) = P( ∑t = 1Teich t> 0,5 ⋅ T)
Dabei ist eich t ein Binomial rv mit der Erwartung E( eich t) = ϵich , die Entscheidung eines bestimmten Baumes von t indiziert . Diese Funktion nimmt in T für ϵich> 0,5 und in T für ϵich< 0,5 . Die Autoren beobachten
Wahrscheinlichkeitsabhängige Maße wie die Kreuzentropie und der Brier-Score sind in Abhängigkeit von der Anzahl der Bäume monoton .
Experimentelle Ergebnisse unter Berücksichtigung von 306 Datensätzen stützen diese Ergebnisse.
Experimentelle Demonstration
Dies ist eine praktische Demonstration unter Verwendung der
diamonds
Daten, die im Lieferumfang enthalten sindggplot2
. Ich habe daraus eine Klassifizierungsaufgabe gemacht, indem ich den Preis in "hohe" und "niedrige" Kategorien unterteilt habe, wobei die Trennlinie durch den Medianpreis bestimmt wird.Aus der Perspektive der Kreuzentropie sind Modellverbesserungen sehr reibungslos. (Die Darstellung ist jedoch nicht monoton - die Abweichung von den oben dargestellten theoretischen Ergebnissen beruht darauf, dass sich die theoretischen Ergebnisse eher auf die Erwartung als auf die besonderen Realisierungen eines Experiments beziehen .)
Andererseits täuscht die Fehlerrate in dem Sinne, dass sie nach oben oder unten schwingen und manchmal für eine Reihe zusätzlicher Bäume dort bleiben kann, bevor sie zurückgesetzt wird. Dies liegt daran, dass der Grad der Unrichtigkeit der Klassifizierungsentscheidung nicht gemessen wird. Dies kann dazu führen, dass die Fehlerrate in Bezug auf die Anzahl der Bäume zu "Ausblendungen" mit verbesserter Leistung führt. Damit meine ich, dass eine Stichprobe, die sich an der Entscheidungsgrenze befindet, zwischen den vorhergesagten Klassen hin und her springt. Es kann eine sehr große Anzahl von Bäumen erforderlich sein, damit dieses Verhalten mehr oder weniger unterdrückt wird.
Betrachten Sie auch das Verhalten der Fehlerrate für eine sehr kleine Anzahl von Bäumen - die Ergebnisse sind sehr unterschiedlich! Dies impliziert, dass eine Methode, bei der die Anzahl der Bäume auf diese Weise ausgewählt wird, einem hohen Grad an Zufälligkeit unterliegt. Darüber hinaus könnte die Wiederholung des gleichen Experiments mit einem anderen zufälligen Samen dazu führen, dass man allein auf der Grundlage dieser Zufälligkeit eine andere Anzahl von Bäumen auswählt. In diesem Sinne ist das Verhalten der Fehlerrate für eine kleine Anzahl von Bäumen ein Artefakt, sowohl weil wir wissen, dass die LLN bedeutet, dass sich die Anzahl der Bäume erhöht, was zu ihrer Erwartung tendiert, als auch aufgrund der theoretischen Ergebnisse in Abschnitt 2. (Kreuzvalidiert enthält eine Reihe von Fragen, in denen die Vorzüge der Fehlerrate / Genauigkeit mit anderen Statistiken verglichen werden.)
Im Gegensatz dazu ist die Querentropiemessung nach 200 Bäumen im Wesentlichen stabil und nach 500 Bäumen praktisch flach.
Der Code für diese Demonstration ist in dieser Übersicht verfügbar .
Die Anzahl der Bäume muss nicht angepasst werden. Setzen Sie stattdessen einfach die Anzahl der Bäume auf eine große, rechnerisch realisierbare Anzahl und lassen Sie das asymptotische Verhalten von LLN den Rest erledigen.
Dies ist eine reine Spekulation, aber ich denke, dass der Glaube, dass die Anzahl der Bäume in einem zufälligen Wald konstant bleibt, auf zwei Tatsachen zurückzuführen ist:
Bei Boosting-Algorithmen wie AdaBoost und XGBoost müssen Benutzer die Anzahl der Bäume im Ensemble anpassen , und einige Software-Benutzer sind nicht hoch genug, um zwischen Boosting und Bagging zu unterscheiden. (Eine Erläuterung der Unterscheidung zwischen Boosting und Bagging finden Sie unter Ist Random Forest ein Boosting-Algorithmus? )
Standardimplementierungen für zufällige Gesamtstrukturen wie R
randomForest
(im Grunde genommen die R-Schnittstelle zum FORTRAN-Code von Breiman) melden die Fehlerrate (oder entsprechend die Genauigkeit) nur als Funktion von Bäumen. Dies ist trügerisch, weil die Genauigkeit nicht eine monotone Funktion der Anzahl der Bäume, während kontinuierliche richtige Falzlinealen wie Brier - Score und logloss sind monotone Funktionen.Zitat
quelle
mtry
) und die Anzahl der Mindestbeobachtungen pro Blatt (~minObs
) problemlos optimieren kann, kann sich die Leistung dramatisch ändern . Ja, ich schätze, dass wahrscheinlich 1000 Bäume 99,9% der Zeit erledigt werden. Bedeutet dies jedoch, dass verschiedene Modelle ihre sinkende Renditeschwelle früher als andere erreichen? (In diesem Fall ist die Optimierung fürntrees
relevant, wenn Sie beispielsweise ein kleineres Modell möchten.)