Ich denke, dass Ihnen noch etwas im Verständnis des Zwecks der gegenseitigen Validierung fehlt.
Lassen Sie uns einige Begriffe klarstellen. Wenn wir "ein Modell" sagen, beziehen wir uns auf eine bestimmte Methode, um zu beschreiben, wie sich einige Eingabedaten auf das beziehen, was wir vorherzusagen versuchen. Wir bezeichnen bestimmte Instanzen dieser Methode im Allgemeinen nicht als unterschiedliche Modelle. Sie könnten also sagen, dass ich ein lineares Regressionsmodell habe, aber Sie würden nicht zwei verschiedene Mengen der trainierten Koeffizienten als verschiedene Modelle bezeichnen. Zumindest nicht im Rahmen der Modellauswahl.
Wenn Sie also eine K-fach Kreuzvalidierung durchführen, testen Sie, wie gut Ihr Modell durch einige Daten trainiert werden kann, und sagen dann Daten voraus, die es nicht gesehen hat. Wir verwenden hierfür die Kreuzvalidierung, da Sie, wenn Sie mit allen Ihnen zur Verfügung stehenden Daten trainieren, keine zum Testen mehr haben. Sie könnten dies einmal tun, indem Sie beispielsweise 80% der Daten zum Trainieren und 20% zum Testen verwenden, aber was passiert, wenn die 20%, die Sie zum Testen ausgewählt haben, eine Reihe von Punkten enthalten, die besonders einfach (oder besonders schwer) sind? zu prognostizieren? Wir werden nicht die bestmögliche Schätzung der Lern- und Vorhersagemöglichkeiten des Modells erhalten haben.
Wir wollen alle Daten nutzen. Um das obige Beispiel einer 80/20-Aufteilung fortzusetzen, würden wir eine fünffache Kreuzvalidierung durchführen, indem wir das Modell fünfmal auf 80% der Daten trainieren und auf 20% testen. Wir stellen sicher, dass jeder Datenpunkt genau einmal im 20% -Testset endet. Wir haben daher jeden Datenpunkt verwendet, um zu verstehen, wie gut unser Modell die Aufgabe erfüllt, aus einigen Daten zu lernen und einige neue Daten vorherzusagen.
Der Zweck der Kreuzvalidierung besteht jedoch nicht darin, unser endgültiges Modell zu entwickeln. Wir verwenden diese 5 Instanzen unseres trainierten Modells nicht, um echte Vorhersagen zu treffen. Dafür wollen wir alle Daten nutzen, um das bestmögliche Modell zu finden. Der Zweck der Kreuzvalidierung ist die Modellprüfung, nicht die Modellbildung.
Nehmen wir an, wir haben zwei Modelle, ein lineares Regressionsmodell und ein neuronales Netzwerk. Wie können wir sagen, welches Modell besser ist? Wir können eine K-fache Kreuzvalidierung durchführen und sehen, welche sich bei der Vorhersage der Testsollwerte als besser erweist. Sobald wir jedoch die Kreuzvalidierung zur Auswahl des leistungsstärkeren Modells verwendet haben, trainieren wir dieses Modell (sei es die lineare Regression oder das neuronale Netzwerk) für alle Daten. Wir verwenden nicht die tatsächlichen Modellinstanzen, die wir während der Kreuzvalidierung trainiert haben, für unser endgültiges Vorhersagemodell.
Beachten Sie, dass es eine als Bootstrap-Aggregation bezeichnete Technik gibt (in der Regel auf "Bagging" abgekürzt), bei der Modellinstanzen verwendet werden, die auf ähnliche Weise wie bei der Kreuzvalidierung erstellt wurden, um ein Ensemble-Modell aufzubauen von deiner frage hier.