Müssen wir die Anzahl der Bäume in einem zufälligen Wald stimmen?


30

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 )?mmtry


Antworten:


36

Es ist üblich, Codefragmente zu finden, die T 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 den m 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 Fall k 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

  1. Die Entscheidungen der Bäume sind identisch verteilt (in dem Sinne, dass ein zufälliges Verfahren bestimmt, ob der Baum mit 1 oder 0 stimmt) und
  2. Die interessierende Variable nimmt nur Werte {0,1} für jeden Baum an, und daher hat jedes Experiment (Baumentscheidung) eine endliche Varianz (weil alle Momente von abzählbar endlichen rvs endlich sind).

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 .

Eine andere Behauptung ist, dass zufällige Wälder die Daten nicht "überpassen" können. Es ist sicher richtig, dass das Erhöhen von B [die Anzahl der Bäume im Ensemble] nicht zu einer Überanpassung der zufälligen Waldsequenz führt ... Diese Begrenzung kann jedoch die Daten überanpassen. Der Durchschnitt ausgewachsener Bäume kann zu einem zu reichen Modell führen und zu unnötigen Abweichungen führen. Segal (2004) zeigt einen geringen Leistungszuwachs durch die Kontrolle der Tiefe der einzelnen Bäume, die in zufälligen Wäldern wachsen. Unsere Erfahrung zeigt, dass die Verwendung ausgewachsener Bäume selten viel kostet und einen Abstimmungsparameter weniger ergibt.

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

  1. 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-Richtigkeit ) in Abhängigkeit von T der Anzahl der Bäume ergibt sich aus

    E(eich(T))=P(t=1Teicht>0,5T)
    Dabei ist eicht ein Binomial rv mit der Erwartung E(eicht)=ϵ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

    Wir sehen , dass die Konvergenzrate der Geschwindigkeitskurve Fehler ist nur abhängig von der Verteilung der ϵich der Beobachtungen. Daher ist die Konvergenzrate der Fehlerrate - Kurve nicht direkt abhängig von der Anzahl der Beobachtungen n oder die Anzahl der Funktionen, aber diese Eigenschaften die empirische Verteilung des beeinflussen könnten ϵich ‚s und damit möglicherweise die Konvergenzrate in Abschnitt wie umrissen 4.3.1

    cT

  2. Wahrscheinlichkeitsabhängige Maße wie die Kreuzentropie und der Brier-Score sind in Abhängigkeit von der Anzahl der Bäume monoton .

    E(bich(T))=E(eicht)2+Var(eicht)T
    T

    E(lich(T))-Log(1-ϵich+ein)+ϵich(1-ϵich)2T(1-ϵich+ein)2
    Tein

  3. Experimentelle Ergebnisse unter Berücksichtigung von 306 Datensätzen stützen diese Ergebnisse.

Experimentelle Demonstration

Dies ist eine praktische Demonstration unter Verwendung der diamondsDaten, die im Lieferumfang enthalten sind ggplot2. 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 .)

Bildbeschreibung hier eingeben

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.)

Bildbeschreibung hier eingeben

Im Gegensatz dazu ist die Querentropiemessung nach 200 Bäumen im Wesentlichen stabil und nach 500 Bäumen praktisch flach.

T

Der Code für diese Demonstration ist in dieser Übersicht verfügbar .

T

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.

T

T

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:

  1. 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? )

  2. 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


1
In jedem realistischen Szenario sollte der Schwellenwert so eingestellt werden, dass der beste Generalisierungsfehler erzielt wird. Wir verbringen viel Zeit hier und sagen den Leuten, dass sie ihre Schwellenwerte NICHT auf 0,5 setzen sollen!
Matthew Drury

θ(0,1)R

Ich werde die Zeitung dieses Wochenende lesen (netter Fund), aber ist es immer noch wahr, ob die Schwelle in Abhängigkeit von der Anzahl der Bäume dynamisch angepasst wird?
Matthew Drury

1
ϵich

Gute Fragen und Antworten, +1. Meine unmittelbare Sorge ist, dass Sie schreiben: " Wenn alle anderen Parameter festgelegt sind " Wenn man die Anzahl der verwendeten Merkmale (~ 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ür ntreesrelevant, wenn Sie beispielsweise ein kleineres Modell möchten.)
usεr11852 sagt Reinstate Monic,
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.