Wie wählt man die Anzahl der Bäume in einem verallgemeinerten verstärkten Regressionsmodell?

11

Gibt es eine Strategie zur Auswahl der Anzahl der Bäume in einem GBM? Insbesondere das ntreesArgument in Rder gbmFunktion.

Ich verstehe nicht, warum Sie nicht ntreesden höchsten vernünftigen Wert einstellen sollten . Ich habe festgestellt, dass eine größere Anzahl von Bäumen die Variabilität der Ergebnisse mehrerer GBMs deutlich verringert. Ich glaube nicht, dass eine hohe Anzahl von Bäumen zu einer Überanpassung führen würde.

Irgendwelche Gedanken?

wcampbell
quelle

Antworten:

3

Das ist GBM:

" Ich glaube nicht, dass ... " war der gefährliche erste Teil vieler Sätze.

Gut genug ist ohne ein Maß an Güte, eine Rubrik, bedeutungslos.

Was sind die Maßstäbe für die Güte einer anderen Methode?

  • Unterschied zwischen Modell und Daten (sse, ...)
  • Fehlerdivergenz in einem Holdout-Set (Trainingsfehler vs. Testfehler)
  • Verhältnis von Parameteranzahl zu Stichprobenanzahl (die meisten Leute mögen 5 Stichproben pro Parameter oder 30 Stichproben pro Parameter)
  • Kreuzvalidierung (Ensemble-Methoden zur Divergenz von Fehlertests)

Wie bei einem neuronalen Netzwerk oder Spline können Sie die Daten stückweise linear interpolieren und ein Modell erhalten, das nicht verallgemeinert werden kann. Sie müssen einen Teil des "geringen Fehlers" im Austausch für die allgemeine Anwendbarkeit - die Verallgemeinerung - aufgeben.

Weitere Links:

EngrStudent - Monica wieder einsetzen
quelle
2

Ich habe einen Einblick in das Problem gefunden: http://cran.r-project.org/web/packages/dismo/vignettes/brt.pdf

Mit der gbm.stepFunktion kann die optimale Anzahl von Bäumen ermittelt werden. Ich bin mir immer noch nicht sicher, warum die Modellabweichung nach einer bestimmten Anzahl von Bäumen zunimmt, daher bin ich immer noch bereit, eine Antwort zu akzeptieren, die diesen Teil der Frage beantwortet!

wcampbell
quelle
2
Überanpassung verursacht den Anstieg. Die meisten guten Methoden erstellen einen Holdout-Satz und verwenden ihn zum Testen des Modells, jedoch nicht zum Aktualisieren des Modells. Dies ermöglicht die Erkennung des Einsetzens einer Überanpassung.
EngrStudent
0

Dies ist die Arbeitsanleitung für verstärkte Regressionsbäume von Elith et al.: Http://onlinelibrary.wiley.com/doi/10.1111/j.1365-2656.2008.01390.x/full Sehr hilfreich!

Sie sollten mindestens 1000 Bäume verwenden. Soweit ich verstanden habe, sollten Sie die Kombination aus Lernrate, Baumkomplexität und Anzahl der Bäume verwenden, um den minimalen Vorhersagefehler zu erzielen. Kleinere Werte der Lernrate führen zu einem größeren Trainingsrisiko bei gleicher Anzahl von Iterationen, während jede Iteration das Trainingsrisiko verringert. Wenn die Anzahl der Bäume groß genug ist, kann das Risiko beliebig klein gemacht werden (siehe: Hastie et al., 2001, "Die Elemente des statistischen Lernens, Data Mining, Inferenz und Vorhersage" ).

V. Vetter
quelle
Es ist wahr, dass Elith et al. Als Faustregel empfehlen, 1000 Bäume zu verwenden. Dies basiert jedoch auf einer detaillierten Analyse der Vorhersagestabilität für den in dem Artikel verwendeten spezifischen Datensatz. Es ist unwahrscheinlich, dass dieselbe Nummer für einen möglichen Datensatz funktioniert. Vielleicht könnten Sie Ihre Antwort ein wenig erweitern, indem Sie einige Details zu der von ihnen durchgeführten Analyse angeben, insbesondere in Anhang S1.
DeltaIV
0

Wie bei einigen Algorithmen für maschinelles Lernen üblich, unterliegt Boosting einem Bias-Varianz-Kompromiss hinsichtlich der Anzahl der Bäume. Dieser Kompromiss sagt Ihnen, dass: (i) schwache Modelle tendenziell eine hohe Verzerrung und geringe Varianz aufweisen: Sie sind zu starr, um die Variabilität im Trainingsdatensatz zu erfassen, sodass sie auch im Testsatz keine gute Leistung erbringen (hoher Test) Fehler) (ii) Sehr starke Modelle weisen tendenziell eine geringe Verzerrung und eine hohe Varianz auf: Sie sind zu flexibel und passen zu dem Trainingssatz, sodass sie im Testsatz (da sich die Datenpunkte vom Trainingssatz unterscheiden) ebenfalls keine gute Leistung erbringen (hoher Testfehler)

Das Konzept des Boosting von Bäumen besteht darin, mit flachen Bäumen (schwachen Modellen) zu beginnen und immer mehr flache Bäume hinzuzufügen, die versuchen, frühere Baumschwächen zu korrigieren. Während Sie diesen Vorgang ausführen, nimmt der Testfehler tendenziell ab (da das Gesamtmodell flexibler / leistungsfähiger wird). Wenn Sie jedoch zu viele dieser Bäume hinzufügen, werden die Trainingsdaten übermäßig angepasst, und der Testfehler steigt. Die Kreuzvalidierung hilft beim Finden des Sweet Spots

Frederico Lopes
quelle