Können Sie maschinelles Lernen mit CV / Bootstrap trainieren?


34

Diese Frage mag zu offen sein, um eine endgültige Antwort zu erhalten, aber hoffentlich nicht.

Algorithmen für maschinelles Lernen, wie SVM, GBM, Random Forest usw., haben im Allgemeinen einige freie Parameter, die über eine Faustregel hinaus auf jeden Datensatz abgestimmt werden müssen. Dies wird im Allgemeinen mit einer Art Neuabtastungstechnik (Bootstrap, CV usw.) durchgeführt, um die Parameter anzupassen, die den besten Verallgemeinerungsfehler ergeben.

Meine Frage ist, können Sie hier zu weit gehen? Die Leute reden davon, Gittersuchen durchzuführen, aber warum nicht einfach als Optimierungsproblem behandeln und den bestmöglichen Parametersatz ermitteln? Ich habe in dieser Frage nach einigen Mechanismen dieser Frage gefragt, aber sie hat nicht viel Beachtung gefunden. Vielleicht wurde die Frage schlecht gestellt, aber vielleicht stellt die Frage selbst einen schlechten Ansatz dar, den die Leute im Allgemeinen nicht tun?

Was mich stört, ist die fehlende Regularisierung. Ich könnte durch erneutes Abtasten feststellen, dass 647 Bäume in einem GBM für diesen Datensatz mit einer Interaktionstiefe von 4 am besten wachsen, aber wie sicher kann ich sein, dass dies für neue Daten gilt (unter der Annahme der neuen Population) ist identisch mit dem Trainingsset)? Da es keinen vernünftigen Wert gibt, auf einen Wert zu "schrumpfen" (oder, wenn Sie so wollen, keine informativen Vorinformationen), erscheint eine erneute Probenahme als das Beste, was wir tun können. Ich höre einfach nichts darüber, deshalb frage ich mich, ob ich etwas vermisse.

Offensichtlich ist es mit einem hohen Rechenaufwand verbunden, viele Iterationen durchzuführen, um das letzte bisschen Vorhersagekraft aus einem Modell herauszuholen. Dies ist also eindeutig etwas, was Sie tun würden, wenn Sie die Zeit / das Grunzen haben, die Optimierung und jedes bisschen zu tun der Leistungsverbesserung ist wertvoll.


CV kann für verschiedene Dinge verwendet werden. Wenn Sie "Gittersuche" oder "Hyperparametertuning" sagen, sprechen Sie ganz klar von der Modellauswahl , nicht von der Featureauswahl oder auch nur von der Schätzung des Klassifizierungsfehlers.
smci

Antworten:


30

Es gibt eine endgültige Antwort auf diese Frage: "Ja, es ist mit Sicherheit möglich, ein auf Kreuzvalidierung basierendes Modellauswahlkriterium zu übertreffen und ein Modell zu erhalten, das schlecht verallgemeinert! ". Meiner Ansicht nach scheint dies nicht allgemein anerkannt zu sein, stellt jedoch eine erhebliche Gefahr für die Anwendung von Methoden des maschinellen Lernens dar und ist das Hauptaugenmerk meiner aktuellen Forschung; Ich habe bisher zwei Artikel zu diesem Thema geschrieben

GC Cawley und NLC Talbot, Überanpassung bei der Modellauswahl und anschließende Auswahlverzerrung bei der Leistungsbewertung, Journal of Machine Learning Research, 2010. Research, vol. 11, S. 2079-2107, Juli 2010. ( www )

Dies zeigt, dass eine Überanpassung bei der Modellauswahl ein erhebliches Problem beim maschinellen Lernen darstellt (und Sie können stark verzerrte Leistungsschätzungen erhalten, wenn Sie bei der Modellauswahl während der Leistungsbewertung Abstriche machen)

GC Cawley und NLC Talbot, Verhinderung einer Überanpassung bei der Modellauswahl durch Bayes'sche Regularisierung der Hyperparameter, Journal of Machine Learning Research, Band 8, Seiten 841-861, April 2007. ( www )

Hierbei wird das auf der Kreuzvalidierung basierende Modellauswahlkriterium reguliert, um eine bessere Überanpassung bei der Modellauswahl zu versuchen (was ein Schlüsselproblem ist, wenn Sie einen Kernel mit vielen Hyperparametern verwenden).

Ich schreibe gerade eine Abhandlung über die rastersuchbasierte Modellauswahl, aus der hervorgeht, dass es durchaus möglich ist, ein zu feines Raster zu verwenden, bei dem Sie ein Modell erhalten, das einem von vielen ausgewählten Modell statistisch unterlegen ist gröberes Raster (es war eine Frage in StackExchange, die mich dazu inspirierte, mich mit der Rastersuche zu befassen).

Hoffe das hilft.

PS Eine vorurteilsfreie Leistungsbewertung und eine zuverlässige Modellauswahl können zwar rechenintensiv sein, aber meiner Erfahrung nach lohnt es sich. Eine geschachtelte Kreuzvalidierung, bei der die äußere Kreuzvalidierung für die Leistungsschätzung und die innere Kreuzvalidierung für die Modellauswahl verwendet wird, ist ein guter grundlegender Ansatz.


Perfekt! Sieht so aus, als wären diese Papiere genau das, wonach ich gesucht habe. Dank dafür.
Bogdanovist

Lassen Sie mich wissen, wenn Sie Fragen zu den Artikeln haben (per E-Mail - ich bin der erste Autor und meine E-Mail-Adresse befindet sich auf dem Artikel).
Dikran Marsupial

@DikranMarsupial Wie unterscheidet man eine Überanpassung aufgrund der Modellauswahl und eine aufgrund von Stichprobenfehlanpassungen zwischen Zug- und Testsätzen?
image_doctor

1
Im Prinzip ist die Verwendung eines synthetischen Datensatzes, für den die Grundwahrheit verfügbar ist, unkompliziert, da dann keine Stichprobenfehlanpassung vorliegt. Das Trainingsset ist nur eine Zufallsstichprobe aus der zugrunde liegenden Verteilung, und Sie können den Fehler anhand der Verteilung selbst abschätzen, anstatt anhand einer endlichen Stichprobe. Bei echten Datensätzen können Sie AFAICS jedoch am besten verwalten, indem Sie ein Resampling verwenden und die Auswirkungen einer Überanpassung des Modellauswahlkriteriums über viele zufällige Test- / Trainingssplits bestimmen.
Dikran Beuteltier

2
Leider wurde es abgelehnt, aber ich werde es überarbeiten, um die (sehr nützlichen) Kommentare der Rezensenten zu berücksichtigen und es erneut in einem anderen Journal einzureichen.
Dikran Marsupial

7

Kreuzvalidierung und Bootstrap haben gezeigt, dass sie Schätzungen der Fehlerrate liefern, die durch den Bootstrap über Kreuzvalidierung nahezu unbefangen und in einigen Fällen genauer sind. Das Problem bei anderen Methoden wie der Resubstitution besteht darin, dass Sie durch Schätzen des Fehlers in demselben Datensatz, in den Sie den Klassifikator einfügen, die Fehlerrate stark unterschätzen und möglicherweise zu Algorithmen führen, die zu viele Parameter enthalten und zukünftige Werte nicht so genau vorhersagen Ein Algorithmus, der auf eine kleine Anzahl von Parametern zugeschnitten ist. Der Schlüssel zur Verwendung statistischer Methoden besteht darin, dass die Daten, die Sie für den Klassifizierer verwenden, typisch für die Daten sind, die Sie in Zukunft sehen werden, wenn die Klassen fehlen und vom Klassifizierer vorhergesagt werden müssen. Wenn Sie denken, dass die zukünftigen Daten sehr unterschiedlich sein könnten, können statistische Methoden nicht helfen, und ich ziehe


Danke für die Antwort. Ich habe die Frage bearbeitet, um zu verdeutlichen, dass ich nicht nach Änderungen in der Population zwischen Zug und Test-Sets frage. Mir ist klar, dass dies eine ganz andere Frage ist, die mich für diese Frage nicht interessiert.
Bogdanovist

1
+1 In diesem Fall ist Unvoreingenommenheit im Wesentlichen irrelevant. Die Varianz der Kreuzvalidierungsschätzung kann weitaus problematischer sein. Für ein Modellauswahlkriterium muss das Minimum des Kriteriums zuverlässig nahe am Minimum des Generalisierungsfehlers liegen (abhängig von den Hyperparametern). Es nützt nichts, wenn es sich im Durchschnitt am richtigen Ort befindet, aber die Streuung der Minima für verschiedene endliche Datenstichproben ist überall vorhanden.
Dikran Marsupial

1
Natürlich ist Genauigkeit eine Kombination aus Verzerrung und Varianz, und eine unvoreingenommene Schätzung mit einer großen Varianz ist nicht so gut wie eine leicht verzerrte Schätzung mit einer kleinen Varianz. Die Niave-Schätzung der Fehlerrate ist Resubstitution und weist eine große Verzerrung auf. Die Bootstraps 632 und 632+ funktionieren so gut, weil sie sich gut an die Vorspannung anpassen, ohne die Varianz wesentlich zu erhöhen. Aus diesem Grund funktionieren lineare Diskriminanzfunktionen und quadratische Diskriminanzfunktionen viel besser als die ausgelassene Version der Kreuzvalidierung.
Michael R. Chernick

Es wurde nicht nachgewiesen, dass der Bootstrap bei Klassifikationsbaum-Ensembles eine bessere Leistung erbringt.
Michael R. Chernick

1
Vielleicht liegt eine der Schwierigkeiten darin, dass Überanpassung beim maschinellen Lernen und in der Statistik häufig unterschiedliche Bedeutungen hat. Es scheint mir, dass Statistiker manchmal eine Überanpassung verwenden, um zu bedeuten, dass ein Modell mit mehr Parametern als erforderlich verwendet wird, anstatt es zu eng an die Beobachtungen anzupassen (gemessen am Trainingskriterium). Normalerweise würde ich in dieser Situation "überparametrisiert" verwenden und "Überanpassung" verwenden, um zu bedeuten, dass ein Modell auf Kosten der Verallgemeinerungsleistung zu genau an die Beobachtungen angepasst wurde. Vielleicht ist dies der Ort, an dem wir uns zu unterschiedlichen Zwecken unterhalten.
Dikran Marsupial

4

Ich vermute, eine Antwort ist, dass Sie im Kontext der Optimierung versuchen, ein globales Minimum für eine noisyKostenfunktion zu finden . Sie haben also alle Herausforderungen einer mehrdimensionalen globalen Optimierung sowie eine stochastische Komponente, die der Kostenfunktion hinzugefügt wird.

Viele der Ansätze zur Bewältigung der Herausforderungen lokaler Minima und eines teuren Suchraums weisen Parameter auf, die möglicherweise angepasst werden müssen, z. B. simuliertes Tempern oder Monte-Carlo-Methoden.

Ich vermute, Sie könnten in einem idealen, rechnerisch unbegrenzten Universum versuchen, ein globales Minimum Ihres Parameterraums mit angemessen engen Grenzen für die Abweichung und Varianz Ihrer Schätzung der Fehlerfunktion zu finden. Ist dies ein Szenario, wäre die Regularisierung kein Problem, da Sie ad infinitum eine neue Stichprobe erstellen könnten.

Ich vermute, dass Sie sich in der realen Welt leicht in einem lokalen Minimum befinden.

Wie Sie bereits erwähnt haben, handelt es sich um ein separates Problem, das jedoch aufgrund von Stichprobenproblemen im Zusammenhang mit den Ihnen zur Verfügung stehenden Daten und der Beziehung zur tatsächlichen zugrunde liegenden Verteilung des Stichprobenraums zu Überanpassungen führt.


4

Es hängt stark vom Algorithmus ab, aber Sie können es sicherlich - obwohl es in den meisten Fällen nur eine harmlose Verschwendung von Aufwand ist.

f(x)xxoptf(x)+ϵϵxfXoptxoptf+ϵ

xoptXoptXoptf

f

Nun, (basierend auf einer Vorgehensweise in guten Fachzeitschriften) ist eine vollständige externe Validierung der Parameterauswahl nicht etwas, was Sie rigoros tun müssen (im Gegensatz zur Validierung der Featureauswahl), sondern nur dann, wenn die Optimierung kursorisch ist und der Klassifikator eher unempfindlich gegenüber Die Parameter.


4

Ja, die Parameter können während der Quervalidierung oder des Bootstrap-Vorgangs an das Trainings- und Test-Set angepasst werden. Es gibt jedoch einige Methoden, um dies zu verhindern. Die erste einfache Methode besteht darin, dass Sie Ihren Datensatz in drei Partitionen aufteilen, eine zum Testen (~ 20%), eine zum Testen optimierter Parameter (~ 20%) und eine zum Anpassen des Klassifikators mit festgelegten Parametern. Dies ist nur möglich, wenn Sie einen ziemlich großen Datensatz haben. In anderen Fällen wird eine doppelte Kreuzvalidierung empfohlen.

Romain François und Florent Langrognet, "Double Cross Validation for Model Based Classification", 2006

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.