Nachdem Sie die Rastersuche für jedes Ersatzmodell durchgeführt haben, können und sollten Sie ein paar Dinge überprüfen:
- Variation der optimierten Parameter (hier und C ).
Sind die optimalen Parameter stabil? Wenn nicht, sind Sie sehr wahrscheinlich in Schwierigkeiten.γC
- Vergleichen Sie die gemeldete Leistung der inneren und äußeren Kreuzvalidierung.
Wenn die innere (dh stimmende) Kreuzvalidierung viel besser aussieht als die äußere (Validierung des endgültigen Modells), dann steckt man auch in Schwierigkeiten: Sie sind überfordert. Es besteht ein erhebliches Risiko, dass die eingestellten Parameter überhaupt nicht optimal sind. Wenn die äußere Kreuzvalidierung jedoch ordnungsgemäß durchgeführt wird (alle Testsätze sind wirklich unabhängig von den jeweiligen Ersatzmodellen), haben Sie zumindest noch eine unvoreingenommene (!) Schätzung der Modellleistung. Sie können jedoch nicht sicher sein, ob es optimal ist.
- Wie stark ist das Optimum? Verschlechtert sich die Leistung bei suboptimalen Parametern schnell? Wie gut ist die optimale Leistung?
Bei der Modellauswahl gibt es eine Menge zu sagen. Es ist jedoch gut zu bedenken, dass sowohl Varianz als auch optimistische Voreingenommenheit wirklich schaden können
- Varianz bedeutet, dass Sie versehentlich ziemlich weit von den wirklich optimalen Hyperparametern entfernt sind.
- Aber auch Voreingenommenheit kann schaden: Wenn Sie übermäßig fit sind, können Sie in Situationen geraten, in denen viele Modelle für die innere Kreuzvalidierung perfekt aussehen (was aber nicht wirklich der Fall ist). In diesem Fall kann die Abstimmung fehlschlagen, da die Unterschiede zwischen den Modellen nicht erkannt werden.
- Wenn der Bias von den Hyperparametern abhängt, haben Sie große Probleme.
Wenn Sie an einem Beispiel interessiert sind und Deutsch lesen können, könnte ich meine Diplomarbeit online stellen.
Nach meiner Erfahrung ist das Optimieren von Hyperparametern eine äußerst effektive Idee für die Überanpassung ...
Wenn Sie nun feststellen, dass Sie übermäßig fit sind, haben Sie hauptsächlich zwei Möglichkeiten:
- Berichten Sie, dass bei der Optimierung ein Problem mit der Überanpassung aufgetreten ist, Sie jedoch eine ordnungsgemäße äußere Validierung durchgeführt haben, die zu ... geführt hat (Ergebnisse der äußeren Kreuzvalidierung).
- die Komplexität des Modells einschränken. Eine Möglichkeit, dies zu tun, besteht darin, Hyperparameter zu korrigieren:
Als Alternative zum Optimieren der Hyperparameter für jeden Trainingssatz können Sie (Hyper-) Parameter vorab festlegen (dh im Voraus korrigieren). Ich mache das so oft wie möglich für meine Modelle, da ich in der Regel noch weniger Fälle habe als Sie, siehe unten.
Diese Korrektur muss jedoch wirklich und ehrlich im Voraus erfolgen: Ich habe z. B. einen Kollegen nach seinen optimierten Parametern für einen ähnlichen Datensatz gefragt (unabhängiges Experiment) oder ein Vorexperiment mit Rastersuche für die Parameter durchgeführt. Dieses erste Experiment wird dann verwendet, um einige experimentelle Parameter sowie Modellparameter für das reale Experiment und die Datenanalyse festzulegen. Siehe unten für weitere Erklärungen.
Natürlich ist es möglich, ordnungsgemäße Tests für automatisch optimierte Modelle durchzuführen (doppelte oder verschachtelte Validierung), aber Ihre Stichprobengröße lässt möglicherweise keine doppelte Aufteilung der Daten zu .
In dieser Situation ist es IMHO Meinung nach viel besser, eine ehrliche Schätzung für ein Modell zu melden, das auf der Grundlage professioneller Erfahrung mit der Auswahl von Modellierungsparametern erstellt wurde, als eine überoptimistische Schätzung für eine Art automatisch optimiertes Modell.
Eine andere Sichtweise auf die Situation ist, dass Sie einen Kompromiss eingehen müssen
- schlechtere Leistung aufgrund weiterer Fälle für die Parameteroptimierung (kleinere Stichprobengröße => schlechteres Modell, aber "optimale" Parameter)
- schlechtere Leistung aufgrund suboptimaler Parameterfixierung durch den Experten (jedoch bei größeren Trainingsdaten).
Einige ähnliche Gedanken zu einer ähnlichen Frage: /stats//a/27761/4598
Über die Festlegung von Parametern und die Kommentare von Dikran Marsupial
Ich benutze den Begriff Hyperparameter, wie ihn Dikran Marsupial in seiner Arbeit verwendet (Link in seiner Antwort).
Ich arbeite mit spektroskopischen Daten. Dies ist eine Art von Messung, bei der die Datenanalyse und -modellierung häufig eine gewisse Vorverarbeitung umfasst. Dies kann als Hyperparameter angesehen werden (z. B. welche Polynomreihenfolge sollte für die Grundlinie verwendet werden? Welche Messkanäle sollten einbezogen werden?). Es gibt andere Entscheidungen, die näher an Ihren SVM-Parametern liegen, z. B. wie viele Hauptkomponenten verwendet werden müssen, wenn eine PCA zur Dimensionsreduzierung durchgeführt wird, bevor das "echte" Modell trainiert wird? Und manchmal verwende ich auch die SVM-Klassifizierung, sodass ich mich für SVM-Parameter entscheiden muss.
Nun, meiner Meinung nach ist der beste Weg, Hyperparameter zu korrigieren, wenn Sie Gründe haben, die von der Anwendung herrühren. ZB entscheide ich mich in der Regel aus physikalischen / chemischen / biologischen Gründen für eine Basislinie (z. B. Kenntnisse über die Probe und das daraus resultierende spektroskopische Verhalten). Mir ist jedoch keine solche Argumentation bekannt, die bei SVM-Parametern hilft ...
Der oben erwähnte Fall von Vorversuchen sieht wie folgt aus:
- wir nehmen Daten von einer Reihe von Zellen (wollen verschiedene Zelllinien unterscheiden).
Die Spektren werden analysiert, eine iterierte doppelte Kreuzvalidierung (SVM) wird ausgeführt (ein oder zwei Nächte auf dem Berechnungsserver verbracht).
- γC
- Ich beobachte auch eine gewisse Überanpassung: Die äußere Kreuzvalidierung ist nicht ganz so gut wie die Abstimmungsergebnisse. Das ist wie erwartet.
- Dennoch gibt es Unterschiede in der Leistung über den Abstimmungsbereich der Hyperparameter, und die Leistung über das Abstimmungsraster sieht einigermaßen gleichmäßig aus. Gut.
Mein Fazit lautet: Obwohl ich nicht sicher sein kann, ob die endgültigen Hyperparameter optimal sind, gibt mir die äußere Kreuzvalidierung eine angemessene Schätzung der Leistung der Ersatzmodelle.
Während des experimentellen Teils haben wir einige Änderungen in der Versuchsanordnung beschlossen (Dinge, die das Signal-Rausch-Verhältnis der Daten nicht beeinflussen, aber bei der Automatisierung des Instruments noch einen Schritt weiter gehen).
Wir verbessern die experimentellen Einstellungen und gewinnen neue Spektren. Wie Zellen sind, müssen sie frisch gezüchtet werden. Dh der neue Datensatz sind auch unabhängige Kulturchargen.
Jetzt stehe ich vor der Entscheidung: Soll ich die innere Kreuzvalidierung "überspringen" und einfach mit den Hyperparametern fortfahren, die ich mit den alten Daten ermittelt habe?
- Wie oben erwähnt, gehe ich das Risiko ein, dass diese vorher festgelegten Hyperparameter nicht optimal sind.
- Aber ich kann auch nicht sicher sein, dass ich durch die innere (Tuning-) Cross-Validierung wirklich optimale Hyperparameter erhalte.
- Die Abstimmung auf die alten Daten war jedoch stabil.
- Bei der Optimierung trainiere ich weniger Proben: Da ich sowieso zu wenige Proben (TM) habe, muss ich damit rechnen, schlechtere Modelle zu erhalten, wenn ich mehr Proben für eine zweite Runde der Kreuzvalidierung beiseite lege.
In diesem Fall habe ich mich für feste Parameter entschieden (aufgrund der Erfahrung mit ähnlichen Daten und dem Wissen, dass wir in Zukunft unsere "Hausaufgaben" erledigen müssen, einschließlich unter anderem der Überprüfung dieser Entscheidungen mit großen Datenmengen).
Beachten Sie, dass das Wichtigste ist, dass ich das Innere ( Tuning Cross Validation) überspringe , nicht das Äußere. Mit festen Hyperparametern erhalte ich eine unvoreingenommene Schätzung der Leistung eines möglicherweise suboptimalen Modells. Es ist wahr, dass diese Schätzung einer hohen Varianz unterliegt, aber diese Varianz ist im Grunde die gleiche, ob ich die innere Abstimmung mache oder nicht.
Überspringt man die äußere Verzerrung, erhält man eine optimistisch verzerrte Schätzung eines abgestimmten Modells - was je nach Anwendung und Daten wertlos sein kann (wenn auch sehr viel zu optimistisch) und eine optimistische Verzerrung eindeutig inakzeptabel sein kann.