Quando si tenta di adattare i modelli a un set di dati di grandi dimensioni, il consiglio comune è quello di suddividere i dati in tre parti: formazione, convalida e set di dati di test.
Questo perché i modelli di solito hanno tre "livelli" di parametri: il primo "parametro" è la classe del modello (ad esempio SVM, rete neurale, foresta casuale), il secondo set di parametri sono i parametri di "regolarizzazione" o "iperparametri" ( ad es. coefficiente di penalizzazione del lazo, scelta del kernel, struttura della rete neurale) e il terzo insieme sono quelli che sono generalmente considerati i "parametri" (ad es. coefficienti per le covariate).
Data una classe di modello e una scelta di iperparametri, si selezionano i parametri scegliendo i parametri che minimizzano l'errore sul set di addestramento. Data una classe di modello, si ottimizzano gli iperparametri minimizzando l'errore sul set di validazione. Uno seleziona la classe del modello in base alle prestazioni sul set di test.
Ma perché non più partizioni? Spesso si possono dividere gli iperparametri in due gruppi e utilizzare una "validazione 1" per adattarsi alla prima e "validazione 2" per adattarsi alla seconda. Oppure si potrebbe anche trattare la dimensione dei dati di allenamento / dati di validazione divisi come un iperparametro da sintonizzare.
È già una pratica comune in alcune applicazioni? C'è qualche lavoro teorico sul partizionamento ottimale dei dati?