Qual è il passo successivo dopo k fold CV?

Oct 23 2020

Mi sono imbattuto in questa lezione video https://www.youtube.com/watch?v=wjILv3-UGM8su k volte convalida incrociata (CV). L'algoritmo fornito nella video conferenza è presentato di seguito:

per k = 1: 5

allenarsi su tutti tranne k

ottenere il modello $M_{\tilde{k}}$

calcolare la precisione su $k$ come $A_k$

fine

Calcola l'accuratezza della convalida incrociata finale: $A = > \frac{1}{5}\sum_{k=1}^5 A_k$

Questo mi è abbastanza chiaro. Qui$M$Immagino che sia solo un singolo tipo di algoritmo ML. Tuttavia alla data e ora 6:35 il presentatore solleva la domanda: cosa dobbiamo fare con tutti i 5 diversi modelli che sono stati costruiti? Secondo lui, combiniamo tutti i modelli e prendiamo una decisione in base a quello o prendiamo il modello migliore tra i 5 . Questa affermazione è vera?

In molti siti incluso qui (https://stats.stackexchange.com/questions/310953/doubt-about-k-fold-crossvalidation?noredirect=1&lq=1 ; https://stats.stackexchange.com/questions/11602/training-on-the-full-dataset-after-cross-validation e https://stats.stackexchange.com/questions/11602/training-on-the-full-dataset-after-cross-validation) e documenti di ricerca ho capito che:

- per eseguire l'addestramento del modello utilizzando k fold CV, ci ri-addestriamo sull'intero set di dati dopo la fine del ciclo CV e questo è il modello finale.

- Non selezioniamo alcun modello dall'interno del ciclo CV se l'idea di eseguire l'addestramento CV è controllare l'accuratezza dell'algoritmo ML sull'intero set di dati.

- Tuttavia, se abbiamo più algoritmi ML, diciamo foresta casuale, rete neurale, SVM all'interno del ciclo CV, selezioniamo l'algoritmo con la massima precisione.

- Un'altra tecnica, la convalida incrociata annidata viene utilizzata per l'ottimizzazione degli iperparametri.

La mia comprensione è corretta?

Risposte

1 Erwan Oct 23 2020 at 21:42

Non ho guardato il video collegato ma in base alle tue spiegazioni: sì, la tua comprensione è corretta.

Una confusione comune è presumere che la convalida incrociata sia simile a una fase di formazione regolare e quindi produca un modello. Questa ipotesi è sbagliata: il CV include training / test ripetuti allo scopo di valutare il metodo / i parametri . Da questa comprensione ne consegue che:

per fare l'addestramento del modello utilizzando k fold CV, ci ri-addestriamo sull'intero set di dati dopo la fine del ciclo CV e questo è il modello finale.

Sì, poiché vogliamo ottenere il modello finale il più accurato possibile, quindi dovremmo utilizzare tutti i dati. In questo caso il CV è stato utilizzato per calcolare una buona stima della performance.

Non selezioniamo alcun modello dall'interno del ciclo CV se l'idea di eseguire l'addestramento CV è di verificare l'accuratezza dell'algoritmo ML sull'intero set di dati.

Esatto, altrimenti non ha senso usare CV.

Tuttavia, se abbiamo più algoritmi ML, diciamo foresta casuale, rete neurale, SVM all'interno del ciclo CV, selezioniamo l'algoritmo con la massima precisione.

Ogni caso in cui vengono valutati più metodi e / o parametri è un po 'più complesso del caso normale di un singolo metodo: la valutazione di più sistemi è di per sé un ulteriore livello di addestramento, nel senso che selezioniamo alcuni parametri (tipicamente i migliori modello) sulla base dei dati. Ciò significa che la selezione stessa si basa su tutti i dati utilizzati nella fase CV, quindi la prestazione CV del modello migliore è simile a una prestazione ottenuta su un set di addestramento. Questo è il motivo per cui è necessario un altro set di test (o CV annidato) per ottenere le prestazioni finali del modello. Un modo intuitivo per capirlo è immaginare di valutare, diciamo, milioni di modelli con CV: l'unico modo per sapere se la migliore prestazione è dovuta al caso o meno è valutare il modello corrispondente su qualche nuovo set di test.

Nota: il caso di combinare gli output di tutti i modelli è una storia diversa, poiché questo si riduce a un unico meta-modello.

10xAI Oct 24 2020 at 14:39

Nel video
credo, nel video quando si dice che hai 5 modelli addestrati su 5 diversi set di dati , è un po 'errato.
Hai un modello addestrato su 5 set di dati. Quindi hai 5 modelli addestrati.

Quindi ha suggerito di scegliere un modello basato sul voto ecc. Questo è il modo in cui funzionano i modelli di Ensemble, ma la convalida incrociata non è per il processo di assemblaggio dei modelli

Perché K-Fold CV L'
obiettivo chiave di K-Fold CV è fornire una stima affidabile di errore di prova con i dati disponibili sul treno .

In un semplice approccio diviso, potremmo essere fortunati che il set di convalida contenga esempi più semplici che portano a una valutazione eccessivamente ottimistica del modello .
Oppure potremmo essere sfortunati quando il set di convalida contiene esempi più difficili e le prestazioni del modello sono sottovalutate.
Non si basa su una sola stima dell'errore del modello, ma piuttosto su un numero (K) di stime.

Il punto più importante da tenere a mente è che stai ancora lavorando sul set di dati del tuo treno.
Con questo approccio, hai la certezza che il punteggio dell'addestramento è il migliore (affidabilità) che puoi avere prima di controllarlo sui dati di test.
Quindi, puoi avere più fiducia nella configurazione del modello (iperparametro)
Poiché questi sono ancora i dati di addestramento, dovresti addestrare il modello con gli iperparametri identificati sull'intero set di dati.

Tuttavia, se abbiamo più algoritmi ML, diciamo foresta casuale, rete neurale, SVM all'interno del ciclo CV, selezioniamo l'algoritmo con la massima precisione

Non credo che possiamo avere più modelli all'interno di un K-Fold. Se intendiamo ripetere il k-fold su più modelli in un semplice ciclo. Quindi potremmo scegliere il modello con il punteggio più alto se il "punteggio" è l'unico criterio di valutazione.