Welches Maß an Trainingsfehlern für zufällige Wälder?

15

Ich passe zurzeit zufällige Gesamtstrukturen für ein Klassifizierungsproblem mit dem randomForestPaket in R an und bin nicht sicher, wie Trainingsfehler für diese Modelle gemeldet werden sollen.

Mein Trainingsfehler liegt nahe bei 0%, wenn ich ihn mit Vorhersagen berechne, die ich mit dem Befehl erhalte:

predict(model, data=X_train)

Wo X_trainsind die Trainingsdaten?

Als Antwort auf eine verwandte Frage habe ich gelesen, dass man den Out-of-Bag- Trainingsfehler (OOB) als Trainingsfehlermetrik für zufällige Gesamtstrukturen verwenden sollte. Diese Menge wird aus Vorhersagen berechnet, die mit dem Befehl erhalten werden:

predict(model)

In diesem Fall liegt der OOB-Trainingsfehler viel näher am mittleren 10-CV-Testfehler, der 11% beträgt.

Ich frage mich:

  1. Wird es allgemein akzeptiert, OOB-Trainingsfehler als Trainingsfehlermaß für zufällige Gesamtstrukturen zu melden?

  2. Stimmt es, dass das traditionelle Maß für Trainingsfehler künstlich niedrig ist?

  3. Wenn das traditionelle Maß für den Trainingsfehler künstlich niedrig ist, welche beiden Maßnahmen kann ich dann vergleichen, um zu überprüfen, ob die HF übermäßig angepasst ist?

Berk U.
quelle

Antworten:

10

Hinzufügen zu @Soren H. Wellings Antwort.

1. Ist es allgemein anerkannt, OOB-Trainingsfehler als Trainingsfehlermaß für zufällige Gesamtstrukturen zu melden?

Nein. Ein OOB-Fehler am trainierten Modell entspricht nicht einem Trainingsfehler. Es kann jedoch als Maß für die Vorhersagegenauigkeit dienen.

2. Stimmt es, dass das traditionelle Maß für Trainingsfehler künstlich niedrig ist?

Dies ist der Fall, wenn wir ein Klassifizierungsproblem mit Standardeinstellungen ausführen. Der genaue Prozess wird in einem Forumsbeitrag von Andy Liaw , der das randomForestPaket in R verwaltet, wie folgt beschrieben:

Zum größten Teil ist die Leistung am Trainingsset bedeutungslos. (Dies ist bei den meisten Algorithmen der Fall, insbesondere bei RF.) In der Standardeinstellung (und empfohlen) werden die Bäume auf die maximale Größe vergrößert, was bedeutet, dass wahrscheinlich nur ein Datenpunkt in den meisten Endknoten vorhanden ist Die Vorhersage an den Endknoten wird durch die Mehrheitsklasse im Knoten oder den einzelnen Datenpunkt bestimmt. Angenommen, das ist die ganze Zeit der Fall; dh in allen Bäumen haben alle Endknoten nur einen Datenpunkt. Ein bestimmter Datenpunkt würde in etwa 64% der Bäume im Wald "in-bag" sein, und jeder dieser Bäume hat die richtige Vorhersage für diesen Datenpunkt. Selbst wenn alle Bäume, bei denen diese Datenpunkte ausgepackt sind, mit der Mehrheit aller Bäume die falsche Vorhersage getroffen haben, Am Ende hast du immer noch die richtige Antwort. Daher ist die perfekte Vorhersage für Zugsets für RF "von Entwurf".

Um dieses Verhalten zu vermeiden, können Sie festlegen nodesize > 1(so dass die Bäume nicht auf die maximale Größe angewachsen sind) und / oder festlegen sampsize < 0.5N(so dass weniger als 50% der Bäume wahrscheinlich einen bestimmten Punkt enthalten(xich,yich).

3. Wenn das traditionelle Maß für den Trainingsfehler künstlich niedrig ist, welche beiden Maßnahmen kann ich dann vergleichen, um zu überprüfen, ob die HF übermäßig angepasst ist?

Wenn wir RF mit nodesize = 1und ausführen sampsize > 0.5, ist der Trainingsfehler des RF immer nahe 0. In diesem Fall besteht die einzige Möglichkeit, festzustellen, ob das Modell überpassend ist, darin, einige Daten als unabhängigen Validierungssatz zu speichern. Wir können dann den 10-CV-Testfehler (oder den OOB-Testfehler) mit dem Fehler im unabhängigen Validierungssatz vergleichen. Wenn der 10-CV-Testfehler viel geringer ist als der Fehler im unabhängigen Validierungssatz, ist das Modell möglicherweise überpassend.

Berk U.
quelle
2

[bearbeitet 21.7.15 08:31 MESZ]

Ich nehme an, Sie haben RF für die Klassifizierung verwendet. Denn in diesem Fall erzeugt der Algorithmus ausgewachsene Bäume mit reinen Endknoten nur einer Zielklasse.

predict(model, data=X_train)

Diese Codierungslinie ist wie ein Hund, der [~ 66%] seines eigenen Schwanzes jagt. Die Vorhersage eines Trainingsmusters ist die Klasse des Trainingsmusters. Bei Regression stoppt RF, wenn der Knoten 5 oder weniger Samples enthält oder wenn der Knoten rein ist. Hier ist der Vorhersagefehler klein, aber nicht 0%.

Beim maschinellen Lernen arbeiten wir oft mit großen Hypothesenräumen. Dies bedeutet, dass es immer noch viele nicht verfälschte Hypothesen / Erklärungen / Modelle zur Datenstruktur unseres Trainingssatzes geben wird. In der klassischen Statistik ist der Hypothesenraum oft klein und daher ist die direkte Modellanpassung entsprechend einer angenommenen Wahrscheinlichkeitstheorie aussagekräftig. Beim maschinellen Lernen hängt der direkte Mangel an Passung mit der Tendenz des Modells zusammen. Bias ist die "Inflexibilität" des Modells. Es tut nichtin jedem Fall eine Annäherung an die Generalisierungskraft (die Fähigkeit, neue Ereignisse vorherzusagen). Für algorithmische Modelle ist die Kreuzvalidierung das beste Werkzeug zur Approximation der Generalisierungsleistung, da keine Theorie formuliert ist. Wenn jedoch die Modellannahmen einer unabhängigen Stichprobe fehlschlagen, ist das Modell möglicherweise ohnehin unbrauchbar, selbst wenn eine gut durchgeführte Kreuzvalidierung etwas anderes nahelegt. Der stärkste Beweis besteht letztendlich darin, eine Reihe externer Testsätze unterschiedlicher Herkunft zufriedenstellend vorherzusagen.

Zurück zum Lebenslauf: Out-of-Bag wird häufig als Lebenslauf akzeptiert. Ich persönlich würde sagen, dass OOB-CV ähnliche Ergebnisse liefert wie 5-fach-CV, aber dies ist ein sehr kleines Ärgernis. Wenn man RF mit SVM vergleicht, ist OOB-CV nicht nützlich, da wir normalerweise vermeiden würden, SVM zu packen. Stattdessen würden dann sowohl SVM als auch RF in genau dasselbe Kreuzvalidierungsschema eingebettet, z. B. 10-fache 10-Wiederholungen mit übereinstimmenden Partitionen für jede Wiederholung. Oft müssen auch alle Schritte des Feature-Engineerings überprüft werden, um eine Kreuzvalidierung durchzuführen. Wenn die Dinge sauber bleiben sollen, kann die gesamte Daten-Pipeline in den Lebenslauf eingebettet werden.

Wenn Sie Ihr Modell mit Ihrem Test-Set (oder Kreuzvalidierung) optimieren, erhöhen Sie erneut Ihren Hypothesenraum und die validierte Vorhersage-Performance ist wahrscheinlich zu optimistisch. Stattdessen benötigen Sie ein Kalibrierungsset (oder eine Kalibrierungs-CV-Schleife) zur Abstimmung und ein Testvalidierungsset (oder eine Validierungs-CV-Schleife) zur Beurteilung Ihres endgültigen optimalen Modells.

Im äußersten Sinne ist Ihre Validierungsbewertung nur dann objektiv, wenn Sie auf dieses Ergebnis nie einwirken, wenn Sie es sehen. Dies ist das Paradox der Validierung, denn warum sollten wir ein Wissen erlangen, das nur dann wahr ist, wenn Sie nicht danach handeln? In der Praxis akzeptiert die Community bereitwillig einen gewissen Publikationsbias, bei dem Forscher, die eine zu optimistische Validierung nach dem Zufallsprinzip erhalten haben, eher publizieren als solche, die eine zu pessimistische Validierung unglücklicherweise gut finden. Deshalb kann manchmal warum nicht andere Modelle reproduzieren.

Soren Havelund Welling
quelle
Danke dafür. Zwei Fragen: (1) Wie ist die Vorhersage einer Trainingsstichprobe die Klasse der Trainingsstichprobe selbst? Es muss Bäume geben, die nicht die Trainingsstichprobe verwenden, die im Mehrheitsstimmverfahren verwendet werden. Nein? (2) Wie beurteilen Sie also, ob eine HF-Messung überpassend ist?
Berk U.
(1) Nun ja, ich war ein bisschen schnell dort, ich habe die Antwort bearbeitet. Jede Probe befindet sich in ~ 66% der Bäume im Sack. Wenn sich eine Probe in einem Baum während des Trainings im Sack befand, landet sie bei der Vorhersage in ~ 66% im selben Knoten, und dies reicht aus, um jedes Mal die Mehrheit zu erhalten. Bestätigen Sie dies, indem Sie die Samp-Größe auf z. B. 30% der Zugmuster senken und einen Anstieg des Klassifizierungsfehlers von 0% feststellen. (2) Ich glaube, ich habe darauf geantwortet. RF ist an sich kein Overfit, aber Sie können z. B. während der Abstimmung einen Kontext erstellen, in dem Sie ein überoptimistisches OOB-CV-Ergebnis erhalten. Integrieren Sie Ihren gesamten Prozess sicher in einen neuen Lebenslauf.
Soren Havelund Welling