Convalida incrociata nidificata: in cosa differisce dalla selezione del modello tramite CV di Kfold sul set di addestramento?


10

Vedo spesso persone che parlano della convalida incrociata 5x2 come un caso speciale di convalida incrociata nidificata .

Suppongo che il primo numero (qui: 5) si riferisca al numero di pieghe nell'anello interno e il secondo numero (qui: 2) si riferisca al numero di pieghe nell'anello esterno? Quindi, in che modo differisce da un approccio di selezione e valutazione del modello "tradizionale"? Con "tradizionale" intendo

  • dividere il set di dati in un training separato (ad es. 80%) e set di test
  • utilizzare la convalida incrociata k-fold (ad es. k = 10) per la messa a punto dell'iperparametro e la selezione del modello sul set di allenamento
  • valutare le prestazioni di generalizzazione del modello selezionato utilizzando il set di test

5x2 non è esattamente lo stesso, tranne per il fatto che il test e il set di allenamento hanno le stesse dimensioni se k = 2?


1
Hai ragione, in questo caso è lo stesso, tranne per il fatto che utilizza una divisione 50/50 nel loop esterno anziché 80/20. In generale, fornisce una migliore stima delle prestazioni di generalizzazione e dovrebbe essere preferito, specialmente con campioni relativamente piccoli. Dalla mia esperienza, anche per CV nidificati, la stima delle prestazioni varia molto. Spesso è meglio eseguire CV nidificati più volte per ottenere una buona stima delle prestazioni di generalizzazione.
George,

Grazie, ha senso! Tuttavia, per i piccoli set di allenamento, probabilmente aumenterei il numero di pieghe negli anelli interno ed esterno; potrebbe ridurre la varianza ma anche aumentare la tendenza

In generale, invece di fare un CV nidificato 5x2, di solito eseguo un (k-1) xk, con k = 5 o 10. In caso di pochi campioni, invece di aumentare il numero di pieghe sceglierei valori più piccoli di k .
George,

1
Penso che tu l'abbia avuto al contrario piuttosto che completamente sbagliato, ma la risposta accettata potrebbe non essere d'accordo con la fonte con cui sto per riferirmi. In Python Machine Learning di Raschka, fa riferimento a un "tipo particolare di convalida incrociata nidificata è noto anche come convalida incrociata 5x2". C'è un grafico incluso in cui mostra che il 2 si riferisce al loop interno per l'ottimizzazione dell'iperparametro e il 5 si riferisce al loop esterno per la stima imparziale delle prestazioni del modello. Una copia colorata della grafica può essere trovata nello Scenario 3 qui: sebastianraschka.com/faq/docs/evaluate-a-model.html
Austin,

Risposte:


13

5x2cv per quanto ho visto in letteratura, fare sempre riferimento a una ripetizione 5 di una doppia. Non c'è nidificazione affatto. fare un doppio (50/50 diviso tra treno e prova), ripeterlo altre 4 volte. Il 5x2cv è stato reso popolare dall'articolo Test statistici approssimativi per confrontare gli algoritmi di apprendimento della classificazione supervisionato di Dietterich come un modo per ottenere non solo una buona stima dell'errore di generalizzazione ma anche una buona stima della varianza di quell'errore (al fine di eseguire test statistici )


Grazie! Sai cosa fanno di solito le persone se i circuiti interni selezionano modelli diversi, ad es. Se il parametro di regolarizzazione "ottimale" è lambda = 100 durante la selezione di un modello e lambda = 1000 per l'altro? In questo caso il calcolo delle prestazioni medie del modello sarebbe un po 'strano, giusto !? Scarteresti i modelli come "instabili"?

3
Il circuito interno risulterà molto probabilmente in una diversa selezione di iperparametri. Non si utilizza la convalida incrociata nidificata per selezionare gli iperparametri, ma solo per ottenere una buona stima dell'errore di generalizzazione (con i migliori iperparametri possibili). Il cv nidificato viene utilizzato per decidere tra l'uno o l'altro algoritmo. Vedi stats.stackexchange.com/questions/136296/… o stats.stackexchange.com/questions/65128/… (tra gli altri)
Jacques Wainer,

Oh, capisco, allora ha perfettamente senso! Pensavo che la gente lo stesse usando in modo diverso. Penso che possiamo chiudere la domanda allora.

2

2 ripetizioni nel circuito esterno significano che ripeti il ​​tuo CV 5 volte 2 volte sull'intero treno. Ogni volta che la suddivisione in pieghe sarà diversa.

Questo viene utilizzato principalmente per una migliore stima delle prestazioni del modello, come l'esecuzione di test statistici sul fatto che un modello funzioni statisticamente significativamente meglio di un altro.

Il CV nidificato non è di fondamentale importanza se il tuo set di dati è grande e senza valori anomali. Se i tuoi dati hanno valori anomali, le prestazioni di convalida incrociata possono essere drasticamente diverse a seconda della piegatura / piegatura di questi valori anomali. Pertanto, ripeti il ​​CV più volte.


Buon punto. Nell'approccio tradizionale (test / treno diviso e quindi k-fold CV sul set di allenamento) hai solo 1 piega per valutare il modello mentre in 5x2 CV la prestazione media può essere calcolata dalle 2 diverse pieghe.
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.