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.
machine-learning
random-forest
Markus
quelle
quelle
Antworten:
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öhenM
, 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.
quelle
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
randomForest
in R können Sie nur die Komplexität steuernquelle
Ich habe ein sehr einfaches Experiment gemacht. Ich habe die synthetischen Daten generiert:
Ich habe zwei Random Forest-Modelle trainiert:
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:
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:
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.
quelle
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
quelle