È necessario un set di test quando si utilizza la convalida incrociata di k-fold?


21

Ho letto della convalida di k-fold e voglio essere sicuro di capire come funziona.

So che per il metodo di controllo, i dati vengono suddivisi in tre set e il set di test viene utilizzato solo alla fine per valutare le prestazioni del modello, mentre il set di convalida viene utilizzato per ottimizzare gli iperparametri, ecc.

Nel metodo k-fold, teniamo ancora un set di test fino alla fine e utilizziamo solo i dati rimanenti per l'allenamento e la messa a punto dell'iperparametro, cioè dividiamo i dati rimanenti in k fold e quindi usiamo l'accuratezza media dopo l'allenamento con ogni piega (o qualunque metrica di prestazione scegliamo di ottimizzare i nostri iperparametri)? Oppure non utilizziamo affatto un set di test separato e suddividiamo semplicemente l'intero set di dati in k fold (in questo caso, suppongo che consideriamo l'accuratezza media su k fold come la nostra accuratezza finale)?


3
Dipende da cosa vuoi fare. Se si desidera una stima delle prestazioni generalizzata, sì, il modello dovrebbe eseguire test su dati che non ha mai visto prima. Ma ciò non significa che debba essere una singola iterazione di controllo, puoi usare il ricampionamento per raggiungere lo stesso obiettivo.
Firebug,

2
... il che significa che ogni volta che si utilizzano i risultati di "convalida" per l'ottimizzazione dell'iperparametro / ottimizzazione del modello, è necessario un altro stadio di convalida indipendente da tale ottimizzazione. Per entrambe le fasi è possibile utilizzare, ad esempio, la convalida incrociata o il hold out (o out-of-bootstrap o ...). CV + CV si chiama CV nidificato, resisti + tieni fuori porta alla configurazione di 3 set che hai citato
cbeleites supporta Monica il

Risposte:


9

Nel metodo K-Fold, teniamo ancora un set di test per la fine, e utilizziamo solo i dati rimanenti per l'allenamento e la messa a punto dell'iperparametro (cioè dividiamo i dati rimanenti in k fold e quindi usiamo l'accuratezza media dopo allenarsi con ogni piega (o qualunque metrica di prestazione scegliamo) per mettere a punto i nostri iperparametri)?

Sì. Di norma, il set di test non deve mai essere utilizzato per modificare il modello (ad es. I suoi iperparametri).

Tuttavia, la convalida incrociata può talvolta essere utilizzata per scopi diversi dalla messa a punto dell'iperparametro, ad esempio determinare in che misura la divisione treno / prova influisce sui risultati.


6
+1 ma potresti voler menzionare la validazione incrociata nidificata in alternativa al set di test + validazione incrociata.
ameba dice Ripristina Monica il

1
"a volte può essere utilizzato per scopi diversi dalla messa a punto dell'iperparametro". Ad esempio, è possibile utilizzare la convalida incrociata a fini di convalida (= test di casi sconosciuti per misurare l'errore di generalizzazione).
cbeleites supporta Monica il

3

Generalmente si. Fondamentalmente, stiamo parlando del compromesso della varianza. Se si utilizzano i dati per costruire il proprio modello (dati di addestramento e di convalida) e si esegue l'iterazione su diversi iperparametri e si tenta di massimizzare una metrica delle prestazioni medie, il modello potrebbe non essere buono come indicato.

Tuttavia, specialmente in set di dati di piccole dimensioni, la suddivisione aggiuntiva potrebbe portare a un set di addestramento ancora più piccolo e provocare un modello errato.


2
Questa non è una vera risposta alla domanda.
Michael R. Chernick,

Puoi espandere questo in modo che aggiunga qualcosa alla risposta accettata e ai commenti abbastanza dettagliati?
mdewey,

1

Idealmente, la validazione (per la selezione del modello) e il test finale non dovrebbero essere mescolati. Tuttavia, se il tuo valore k è alto o è univoco, l'utilizzo del risultato del test per guidare la selezione del modello è meno dannoso. In questo scenario, se stai scrivendo un documento accademico, non farlo (a meno che non ti preoccupi di spiegare) - il significato ha sempre un set di test separato. Se stai costruendo un progetto pratico, è OK farlo.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.