Ich bin mir der Vorteile der k-fachen (und ausgelassenen) Kreuzvalidierung sowie der Vorteile der Aufteilung Ihres Trainingssatzes zur Erstellung eines dritten Holdout-Validierungssatzes bewusst, den Sie zur Bewertung verwenden Modellleistung basierend auf der Auswahl von Hyperparametern, sodass Sie diese optimieren und optimieren und die besten auswählen können, die schließlich am realen Testsatz bewertet werden sollen. Ich habe beide unabhängig voneinander in verschiedenen Datensätzen implementiert.
Ich bin mir jedoch nicht ganz sicher, wie ich diese beiden Prozesse integrieren soll. Ich bin mir sicher bewusst, dass dies möglich ist (verschachtelte Kreuzvalidierung, glaube ich?), Und ich habe Leute gesehen, die es erklärt haben, aber nie so detailliert, dass ich die Einzelheiten des Prozesses tatsächlich verstanden habe.
Es gibt Seiten mit interessanten Grafiken, die auf diesen Prozess verweisen (wie diesen ), ohne dass die genaue Ausführung der Teilungen und Schleifen klar ist. Hier ist der vierte eindeutig das, was ich tun möchte, aber der Prozess ist unklar:
Es gibt frühere Fragen auf dieser Site, aber während diese die Bedeutung der Trennung von Validierungssätzen von Testsätzen beschreiben, gibt keiner von ihnen das genaue Verfahren an, mit dem dies durchgeführt werden soll.
Ist es so etwas wie: Behandeln Sie diese Falte für jede k-Falte als Testsatz, behandeln Sie eine andere Falte als Validierungssatz und trainieren Sie den Rest? Dies scheint so, als müssten Sie den gesamten Datensatz k * k-mal durchlaufen, damit jede Falte mindestens einmal als Training, Test und Validierung verwendet wird. Verschachtelte Kreuzvalidierung scheint zu implizieren, dass Sie eine Test- / Validierungsaufteilung in jeder Ihrer k-Falten durchführen, aber dies können sicherlich nicht genug Daten sein, um eine effektive Parametereinstellung zu ermöglichen, insbesondere wenn k hoch ist.
Könnte mir jemand helfen, indem er eine detaillierte Erklärung der Schleifen und Teilungen liefert, die eine k-fache Kreuzvalidierung ermöglichen (so dass Sie eventuell jeden Datenpunkt als Testfall behandeln können), während er gleichzeitig eine Parameteroptimierung durchführt (so dass Sie keine Vorangaben machen) Modellparameter und wählen Sie stattdessen diejenigen aus, die bei einem separaten Holdout-Set am besten funktionieren.