Scegliendo il numero K si piega considerando la curva di apprendimento
Vorrei sostenere che la scelta del numero appropriato di pieghe dipende molto dalla forma e dalla posizione della curva di apprendimento, principalmente a causa del suo impatto sulla distorsione . Questo argomento, che si estende al CV "one-out-out", è ampiamente tratto dal libro "Elements of Statistical Learning" capitolo 7.10, pagina 243.K
Per discussioni sull'impatto di sulla varianza vedere quiK
Riassumendo, se la curva di apprendimento ha una pendenza considerevole alla dimensione del set di allenamento dato, la convalida incrociata di cinque o dieci volte sovrastimerà il vero errore di previsione. Se questo pregiudizio sia uno svantaggio nella pratica dipende dall'obiettivo. D'altra parte, la convalida incrociata con esclusione di dati ha una propensione bassa ma può avere una varianza elevata.
Una visualizzazione intuitiva usando un esempio di giocattolo
Per comprendere visivamente questo argomento, considera il seguente esempio di giocattolo in cui stiamo adattando un polinomio di grado 4 a una curva sinusoidale rumorosa:
Intuitivamente e visivamente, prevediamo che questo modello non funzionerà correttamente per piccoli set di dati a causa di un overfitting. Questo comportamento si riflette nella curva di apprendimento in cui tracciamo Errore quadrato medio vs Dimensione dell'allenamento insieme a una deviazione standard di 1. Si noti che ho scelto di tracciare 1 - MSE qui per riprodurre l'illustrazione utilizzata in ESL pagina 243±1−±
Discutere l'argomento
Le prestazioni del modello migliorano significativamente all'aumentare della dimensione dell'allenamento fino a 50 osservazioni. Aumentare ulteriormente il numero a 200, ad esempio, porta solo piccoli benefici. Considera i seguenti due casi:
Se il nostro set di training avesse 200 osservazioni, una validazione incrociata di volte stimerebbe le prestazioni su una dimensione di training di 160 che è praticamente la stessa delle prestazioni per le dimensioni del set di training 200. Pertanto la validazione incrociata non soffrirebbe di molti pregiudizi e aumentando a valori più grandi non porteranno molto beneficio ( diagramma a sinistra )K5K
Tuttavia, se il set di training avesse osservazioni, una validazione incrociata di volte stimerebbe le prestazioni del modello rispetto a set di training di dimensioni 40, e dalla curva di apprendimento questo porterebbe a un risultato distorto. Quindi aumentare in questo caso tenderà a ridurre il bias. ( trama a destra ).5 K505K
[Aggiornamento] - Commenti sulla metodologia
Puoi trovare il codice per questa simulazione qui . L'approccio era il seguente:
- Genera 50.000 punti dalla distribuzione cui è nota la vera varianza diϵsin(x)+ϵϵ
- Iterate volte (ad es. 100 o 200 volte). Ad ogni iterazione, modifica il set di dati ricampionando punti dalla distribuzione originaleNiN
- Per ogni set di dati :
i
- Esegue la convalida incrociata K-fold per un valore diK
- Memorizza l'errore medio quadrato medio (MSE) attraverso le pieghe K.
- Una volta completato il loop over , calcolare la deviazione media e standard dell'MSE attraverso set di dati per lo stesso valore dii KiiK
- Ripeti i passaggi precedenti per tutti i nell'intervallo fino a LOOCV{ 5 , . . . , N }K{5,...,N}
Un approccio alternativo consiste nel non ricampionare un nuovo set di dati ad ogni iterazione e invece rimpasto lo stesso set di dati ogni volta. Questo sembra dare risultati simili.