Überanpassung von Random Forest?


24

Ich habe über zufällige Wälder gelesen, aber ich kann keine endgültige Antwort auf das Problem der Überanpassung finden. Laut dem Originalpapier von Breiman sollten sie nicht überanpassen, wenn die Anzahl der Bäume im Wald erhöht wird, aber es scheint, dass es keinen Konsens darüber gibt. Dies schafft mir einige Verwirrung über das Problem.

Vielleicht kann mir jemand, der erfahrener ist als ich, eine konkretere Antwort geben oder mich in die richtige Richtung lenken, um das Problem besser zu verstehen.


3
Alle Algorithmen werden bis zu einem gewissen Grad überpasst. Es geht nicht darum, etwas auszuwählen, das nicht zu stark passt, sondern es geht darum, den Grad der Überanpassung und die Form des Problems, das Sie lösen, sorgfältig zu überdenken, um relevantere Metriken zu maximieren.
Indico

1
ISTR, dass Breiman einen Beweis auf der Grundlage des Gesetzes der großen Zahlen hatte. Hat jemand einen Fehler in diesem Beweis entdeckt?
JenSCDC

Antworten:


22

Jeder ML-Algorithmus mit hoher Komplexität kann überanpassen. Das OP fragt jedoch, ob ein RF nicht überanpassungsfähig ist, wenn die Anzahl der Bäume im Wald erhöht wird.

Im Allgemeinen reduzieren Ensemblemethoden die Vorhersagevarianz auf fast nichts, wodurch die Genauigkeit des Ensembles verbessert wird. Wenn wir die Varianz des erwarteten Generalisierungsfehlers eines einzelnen randomisierten Modells wie folgt definieren:

Ab hier entspricht die Varianz des erwarteten Generalisierungsfehlers eines Ensembles:

Wo p(x)ist der Pearson-Korrelationskoeffizient zwischen den Vorhersagen zweier randomisierter Modelle, die auf denselben Daten von zwei unabhängigen Seeds trainiert wurden? Wenn wir die Anzahl der DTs in der RF erhöhen M, nimmt die Varianz des Ensembles ab, wenn ρ(x)<1. Daher ist die Varianz eines Ensembles streng kleiner als die Varianz eines einzelnen Modells.

Kurz gesagt: Wenn Sie die Anzahl der einzelnen randomisierten Modelle in einem Ensemble erhöhen, wird der Generalisierungsfehler nie größer.


1
Das ist definitiv das, was Leo Breiman und die Theorie sagen, aber empirisch scheint es, als ob sie definitiv übermäßig fit sind. Zum Beispiel habe ich derzeit ein Modell mit einem 10-fachen CV-MSE von 0,02, aber gemessen an der Grundwahrheit ist der CV-MSE 0,4. OTOH Wenn ich die Baumtiefe und die Baumzahl reduziere, verbessert sich die Modellleistung erheblich.
Hack-R

4
Wenn Sie die Baumtiefe verringern, ist dies ein anderer Fall, da Sie eine Regularisierung hinzufügen, die die Überanpassung verringert. Versuchen Sie, die MSE zu zeichnen, wenn Sie die Anzahl der Bäume erhöhen, während die übrigen Parameter unverändert bleiben. Sie haben also MSE auf der y-Achse und num_tress auf der x-Achse. Sie werden feststellen, dass der Fehler beim Hinzufügen weiterer Bäume schnell abnimmt und dann ein Plateau aufweist. aber es wird niemals zunehmen.
Tashuhka

9

Möglicherweise möchten Sie Cross- Validated überprüfen - eine Website für stachexchange für viele Dinge, einschließlich maschinelles Lernen.

Insbesondere diese Frage (mit genau demselben Titel) wurde bereits mehrfach beantwortet. Überprüfen Sie diese Links: /stats//search?q=random+forest+overfit

Aber ich gebe Ihnen vielleicht eine kurze Antwort: Ja, es ist übermäßig, und manchmal müssen Sie die Komplexität der Bäume in Ihrem Wald kontrollieren oder sogar beschneiden, wenn sie zu stark wachsen - dies hängt jedoch von der Bibliothek ab, für die Sie sie verwenden den Wald bauen. ZB in randomForestin R können Sie nur die Komplexität steuern


3
  1. Der Zufallswald ist überzogen.
  2. Die zufällige Gesamtstruktur erhöht den Generalisierungsfehler nicht, wenn dem Modell weitere Bäume hinzugefügt werden. Die Verallgemeinerungsvarianz geht auf Null, wenn mehr Bäume verwendet werden.

Ich habe ein sehr einfaches Experiment gemacht. Ich habe die synthetischen Daten generiert:

y = 10 * x + noise

Ich habe zwei Random Forest-Modelle trainiert:

  • einer mit vollen Bäumen
  • einer mit beschnittenen Bäumen

Das Modell mit vollen Bäumen hat einen geringeren Zugfehler, aber einen höheren Testfehler als das Modell mit beschnittenen Bäumen. Die Antworten beider Modelle:

Antworten

Es ist ein klarer Beweis für eine Überanpassung. Dann nahm ich die Hyperparameter des überpassenden Modells und überprüfte den Fehler, während ich bei jedem Schritt 1 Baum hinzufügte. Ich habe die folgende Handlung bekommen:

wachsende Bäume

Wie Sie sehen können, ändert sich der Überpassungsfehler nicht, wenn Sie weitere Bäume hinzufügen, aber das Modell ist überpasst. Hier ist der Link für das Experiment, das ich gemacht habe.


1

STRUCTURED DATASET -> FEHLERBEHEBUNG

Ich habe in meiner Arbeitspraxis einen interessanten Fall von HF-Überanpassung gefunden. Wenn Daten strukturiert sind, passt RF zu OOB-Beobachtungen.

Detail :

Ich versuche, die Strompreise auf dem Strommarkt für jede einzelne Stunde vorherzusagen (jede Zeile des Datensatzes enthält die Preis- und Systemparameter (Last, Kapazitäten usw.) für diese einzelne Stunde).
Strompreise werden in Chargen erstellt (24 Strommarktpreise in einem Fixing in einem Moment).
OOB-Beobachtungen für jeden Baum sind also zufällige Teilmengen von Stunden. Wenn Sie jedoch die nächsten 24 Stunden vorhersagen, tun Sie dies alles auf einmal (im ersten Moment erhalten Sie alle Systemparameter, dann sagen Sie 24 Preise voraus, dann gibt es eine Korrektur, die erzeugt wird diese Preise), so dass es einfacher ist, OOB-Vorhersagen zu treffen, als für den ganzen nächsten Tag. OOB-Beobachtungen sind nicht in 24-Stunden-Blöcken enthalten, sondern gleichmäßig verteilt, da eine Autokorrelation von Vorhersagefehlern vorliegt, ist es einfacher, den Preis für eine einzelne Stunde vorherzusagen, die dann für einen ganzen Block fehlender Stunden fehlt.

im Falle einer Autokorrelation leichter vorherzusagen:
bekannt, bekannt, Vorhersage, bekannt, Vorhersage - OBB-Fall
schwerer:
bekannt, bekannt, bekannt, Vorhersage, Vorhersage - realer Vorhersagefall

Ich hoffe es ist interessant

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.