Hinweis: Groß- / Kleinschreibung ist n >> p
Ich lese Elemente des statistischen Lernens und es gibt verschiedene Erwähnungen über den "richtigen" Weg zur Kreuzvalidierung (z. B. Seite 60, Seite 245). Insbesondere ist meine Frage, wie das endgültige Modell (ohne einen separaten Testsatz) mit einem k-fach CV oder einem Bootstrapping ausgewertet werden kann, wenn eine Modellsuche durchgeführt wurde. Es scheint, dass es in den meisten Fällen (ML-Algorithmen ohne eingebettete Merkmalsauswahl) geben wird
- Ein Funktionsauswahlschritt
- Ein Schritt zur Auswahl von Metaparametern (z. B. der Kostenparameter in SVM).
Meine Fragen:
- Ich habe gesehen, dass der Merkmalsauswahlschritt durchgeführt werden kann, wenn die Merkmalsauswahl für den gesamten Trainingssatz durchgeführt und beiseite gehalten wird. Dann wird unter Verwendung des k-fachen CV der Merkmalsauswahlalgorithmus in jeder Falte verwendet (wobei jedes Mal möglicherweise unterschiedliche Merkmale ausgewählt werden) und der Fehler gemittelt. Dann würden Sie die ausgewählten Funktionen unter Verwendung aller Daten (die beiseite gelegt wurden) verwenden, um den endgültigen Modus zu trainieren, aber den Fehler aus der Kreuzvalidierung als Schätzung der zukünftigen Leistung des Modells verwenden. IST DAS RICHTIG?
- Wenn Sie zur Auswahl von Modellparametern die Kreuzvalidierung verwenden, wie kann die Modellleistung anschließend geschätzt werden? IST ES DAS GLEICHE VERFAHREN, WIE OBEN NUMMER 1, ODER SOLLTEN SIE NESTED CV WIE AUF SEITE 54 ( pdf ) ODER ETWAS ANDERES VERWENDEN ?
- Wenn Sie beide Schritte ausführen (Funktions- und Parametereinstellung) ..... Was tun Sie dann? komplexe verschachtelte Schleifen?
- Wenn Sie eine separate Holdout-Stichprobe haben, verschwindet das Problem, und Sie können mithilfe der Kreuzvalidierung Funktionen und Parameter auswählen (ohne sich Sorgen zu machen, da Ihre Leistungsschätzung aus einem Holdout-Satz stammt).