In CrossValidated gibt es zahlreiche Threads zum Thema Modellauswahl und Kreuzvalidierung. Hier sind ein paar:
- Interne und externe Kreuzvalidierung und Modellauswahl
- @ DikranMarsupials beste Antwort auf Feature-Auswahl und Kreuzvalidierung
Die Antworten auf diese Themen sind jedoch eher allgemein gehalten und heben hauptsächlich die Probleme hervor, die bei bestimmten Ansätzen zur Kreuzvalidierung und Modellauswahl auftreten.
Um die Dinge so konkret wie möglich zu machen , sagen wir zum Beispiel, dass wir mit einer SVM mit einem RBF-Kernel arbeiten: und das Ich habe einen Datensatz mit Features X und Beschriftungen y , und das möchte ich
- Finde die bestmöglichen Werte meines Modells ( und )
- Trainieren Sie die SVM mit meinem Datensatz (für die endgültige Bereitstellung)
- Schätzen Sie den Generalisierungsfehler und die Unsicherheit (Varianz) um diesen Fehler herum
Dazu würde ich persönlich eine Rastersuche durchführen, zB versuche ich jede mögliche Kombination von und . Der Einfachheit halber können wir die folgenden Bereiche annehmen:
Genauer gesagt, mit meinem vollständigen Datensatz mache ich Folgendes:
- Für jedes ( , ) Paar führe ich wiederholte Iterationen (z. B. 100 zufällige Wiederholungen) der fachen Kreuzvalidierung (z. B. ) in meinem Datensatz durch, dh ich trainiere meine SVM auf Falten und werte die aus Fehler in der linken Falte, der alle Faltungen durchläuft . Insgesamt sammle ich 100 x 10 = 1000 Testfehler.
- Für jedes solche ( , ) Paar berechne ich den Mittelwert und die Varianz dieser 1000 .
Jetzt möchte ich das beste Modell (die besten Kernelparameter) auswählen, mit dem ich meine endgültige SVM für den vollständigen Datensatz trainieren würde. Mein Verständnis ist , dass das Modell der Wahl, die das hatte geringsten Fehler Mittelwert und die Varianz und wäre die richtige Wahl sein, und dass dieses Modell der sind sind meine besten Schätzungen der Generalisierungsfehler Bias des Modells und die Varianz beim Training mit den vollständigen Datensatz.σ M μ M σ M
ABER nachdem ich die Antworten in den obigen Threads gelesen habe, habe ich den Eindruck, dass diese Methode zur Auswahl der besten SVM für die Bereitstellung und / oder zur Abschätzung ihres Fehlers (Generalisierungsleistung) fehlerhaft ist und dass es bessere Möglichkeiten zur Auswahl der gibt beste SVM und meldet seinen Fehler. Wenn ja, was sind sie? Ich suche bitte eine konkrete Antwort.
Wie genau kann ich bei diesem Problem das beste Modell auswählen und den Generalisierungsfehler richtig einschätzen ?