Penso che manchi ancora qualcosa nella tua comprensione dello scopo della validazione incrociata.
Facciamo un po 'di terminologia, generalmente quando diciamo "un modello" ci riferiamo a un metodo particolare per descrivere come alcuni dati di input si relazionano a ciò che stiamo cercando di prevedere. Generalmente non ci riferiamo a casi particolari di quel metodo come a modelli diversi. Quindi potresti dire 'Ho un modello di regressione lineare' ma non chiameresti due diversi set di coefficienti addestrati modelli diversi. Almeno non nel contesto della selezione del modello.
Pertanto, quando esegui la convalida incrociata di K-fold, stai testando la capacità del tuo modello di essere addestrato da alcuni dati e quindi prevedere i dati che non ha visto. Per questo utilizziamo la validazione incrociata perché se ti alleni utilizzando tutti i dati che hai, non ne hai più nessuno per il test. Potresti farlo una volta, ad esempio usando l'80% dei dati per allenarti e il 20% per testare, ma cosa succede se il 20% che ti è capitato di scegliere per testare contiene un mucchio di punti particolarmente facili (o particolarmente difficili) prevedere? Non avremo elaborato la migliore stima possibile della capacità dei modelli di apprendere e prevedere.
Vogliamo utilizzare tutti i dati. Quindi, per continuare l'esempio sopra riportato di una divisione 80/20, faremmo 5 volte la convalida incrociata addestrando il modello 5 volte sull'80% dei dati e testando sul 20%. Assicuriamo che ogni punto dati finisca nel set di test del 20% esattamente una volta. Abbiamo quindi utilizzato tutti i punti dati che dobbiamo contribuire a comprendere in che misura il nostro modello svolge il compito di apprendere da alcuni dati e prevedere alcuni nuovi dati.
Ma lo scopo della validazione incrociata non è quello di elaborare il nostro modello finale. Non usiamo queste 5 istanze del nostro modello addestrato per fare previsioni reali. Per questo vogliamo usare tutti i dati che dobbiamo elaborare con il miglior modello possibile. Lo scopo della validazione incrociata è il controllo del modello, non la costruzione del modello.
Ora, supponiamo di avere due modelli, un modello di regressione lineare e una rete neurale. Come possiamo dire quale modello è migliore? Possiamo eseguire la convalida incrociata di K-fold e vedere quale si rivela migliore nel prevedere i set point del test. Ma una volta che abbiamo utilizzato la convalida incrociata per selezionare il modello con le migliori prestazioni, formiamo quel modello (che si tratti della regressione lineare o della rete neurale) su tutti i dati. Non utilizziamo le istanze del modello effettivo che abbiamo addestrato durante la convalida incrociata per il nostro modello predittivo finale.
Si noti che esiste una tecnica chiamata aggregazione bootstrap (generalmente abbreviata in 'bagging') che utilizza in qualche modo istanze del modello prodotte in modo simile alla convalida incrociata per costruire un modello di ensemble, ma che è una tecnica avanzata oltre l'ambito della tua domanda qui.