Ich habe mich gefragt, ob sich die Verwendung der Kreuzvalidierung zum Ermitteln der besten Optimierungsparameter für verschiedene Techniken des maschinellen Lernens von Datenschnüffeln unterscheidet.
Ihr Anliegen ist genau richtig, und es gibt eine ganze Menge Literatur zu diesem Thema, z
- Cawley, GC & Talbot, NLC: Zur Überanpassung bei der Modellauswahl und der anschließenden Auswahlverzerrung bei der Leistungsbewertung, Journal of Machine Learning Research, 11, 2079-2107 (2010).
- Boulesteix, A.-L .: Überoptimismus in der Bioinformatikforschung., Bioinformatics, 26, 437-439 (2010). DOI: 10.1093 / bioinformatics / btp648
- Jelizarow, M .; Guillemot, V .; Tenenhaus, A .; Strimmer, K. & Boulesteix, A.-L .: Überoptimismus in der Bioinformatik: eine Illustration., Bioinformatics, 26, 1990-1998 (2010). DOI: 10.1093 / bioinformatics / btq323
Das Problem ist, dass die Optimierung von Hyperparametern mit Kreuzvalidierung ein datengesteuerter Optimierungsprozess ist und immer noch dazu neigt, sich zu stark an Ihren Datensatz anzupassen (weniger als die Optimierung durch Wiedereinstellungsfehler, aber immer noch). Der Versuch, die Ergebnisse der Tuning-Cross-Validierung als "unabhängiges" Leistungsmaß zu verwenden, ähnelt dem Essen des Kuchens (= Tuning) und dem Beibehalten (= Messen der endgültigen Modellleistung).
Dies bedeutet nicht, dass Sie keine Kreuzvalidierung für die Optimierung von Hyperparametern verwenden sollten. Es bedeutet nur, dass Sie es nur für einen Zweck verwenden können. Optimieren oder messen Sie die Modellleistung zu Validierungszwecken.
Die Lösung besteht darin, dass Sie eine unabhängige Validierung durchführen müssen, um die Qualität des mit den abgestimmten Hyperparametern erhaltenen Modells zu messen. Dies wird als verschachtelte oder doppelte Validierung bezeichnet. Zu diesen Themen finden Sie hier eine Reihe von Fragen und Antworten
Konzeptionell möchte ich sagen, dass das Training alle Arten von Fantasieschritten umfasst, um nicht nur die "üblichen" Modellparameter anzupassen, sondern auch die Hyperparameter anzupassen (automatisch abzustimmen). Die datengetriebene Optimierung von λ ist also eindeutig Teil des Modelltrainings.
Als Faustregel können Sie auch sagen, dass das Modelltraining alles ist, was durchgeführt werden muss, bevor Sie eine einsatzbereite finale Black-Box-Funktion haben, mit der Vorhersagen für neue Fälle erstellt werden können.
PS: Ich finde die Terminologie "Testen gegen Validierung" sehr verwirrend, da in meinem Bereich "Validierung" bedeutet, dass das endgültige Modell für den Zweck geeignet ist, und dies wird von anderen eher als Testen als als Validierung bezeichnet. Ich bevorzuge es, das innere Test-Set "Tuning-Test-Set" und das äußere "Final Validation-Test-Set" oder dergleichen zu nennen.
Aktualisieren:
Also, wenn mein Modell (in diesem Fall mein Optimierungsparameter) die äußere Validierung nicht besteht, was soll ich dann tun?
In der Regel passiert nichts einfach so: Es gibt typische Situationen, die einen solchen Fehler verursachen können. Und alle Situationen, die mir bewusst sind, sind überpassende Situationen. Sie müssen sich darüber im Klaren sein, dass durch Regularisierung zwar die erforderliche Anzahl von Schulungsfällen verringert wird, durch datengesteuerte Optimierung jedoch große Datenmengen erforderlich sind.
Meine Empfehlungen:
In der Regel haben Sie (sollten) bereits grobe Erwartungen, z. B. welche Leistung erreichbar sein sollte, welche Leistung Sie als verdächtig gut betrachten würden. Oder legen Sie fest, welche Leistung Sie erzielen möchten, und legen Sie die Basisleistung fest. Berechnen Sie daraus und aus der Anzahl der verfügbaren Trainingsfälle (für das von Ihnen gewählte Aufteilungsschema) die erwartete Unsicherheit für die inneren (Tuning-) Tests. Wenn diese Unsicherheit darauf hindeutet, dass Sie keine aussagekräftigen Vergleiche erhalten, führen Sie keine datengesteuerte Optimierung durch.
Sie sollten überprüfen, wie stabil sowohl die erhaltenen Vorhersagen mit dem gewählten λ als auch das durch das Autotuning-Verfahren gefundene optimale λ sind. Wenn λ in Bezug auf unterschiedliche Aufteilungen Ihrer Daten nicht ausreichend stabil ist, hat die Optimierung nicht funktioniert.
Wenn Sie feststellen, dass Sie die datengetriebene Optimierung entweder nicht durchführen können oder dass sie doch nicht funktioniert hat, können Sie das λ anhand Ihres Fachwissens auswählen, z. B. aufgrund von Erfahrungen mit ähnlichen Daten. Oder aufgrund der Erkenntnis, dass eine stärkere Regularisierung erforderlich ist, wenn Sie feststellen, dass die Optimierung fehlgeschlagen ist: Die Überanpassung, die zum Ausfall führt, wirkt sich auf zu komplexe Modelle aus.