Convalida incrociata in inglese semplice?


Risposte:


54

Considera la seguente situazione:

Voglio prendere la metropolitana per andare nel mio ufficio. Il mio piano è di prendere la macchina, parcheggiare in metropolitana e poi prendere il treno per andare nel mio ufficio. Il mio obiettivo è prendere il treno alle 8:15 ogni giorno in modo da poter raggiungere il mio ufficio in tempo. Devo decidere quanto segue: (a) l'ora in cui devo partire da casa mia e (b) il percorso che seguirò per guidare fino alla stazione.

Nell'esempio sopra, ho due parametri (cioè l'ora di partenza da casa e il percorso da prendere per la stazione) e ho bisogno di scegliere questi parametri in modo da raggiungere la stazione entro le 8.15.

Per risolvere il problema di cui sopra, posso provare diversi insiemi di "parametri" (ovvero diverse combinazioni di orari di partenza e di rotta) il lunedì, il mercoledì e il venerdì, per vedere quale combinazione è la "migliore". L'idea è che una volta identificata la migliore combinazione, posso usarla ogni giorno in modo da raggiungere il mio obiettivo.

Problema di overfitting

Il problema con l'approccio di cui sopra è che potrei esagerare, il che significa essenzialmente che la migliore combinazione che identifico potrebbe in un certo senso essere unica per lun, mer e venerdì e quella combinazione potrebbe non funzionare per mar e gio. Si può verificare un sovradimensionamento se nella mia ricerca della migliore combinazione di orari e percorsi sfrutta alcuni aspetti della situazione del traffico il lunedì / mercoledì / venerdì che non si verificano il martedì e il giovedì.

Una soluzione al sovradimensionamento: convalida incrociata

La convalida incrociata è una soluzione al sovradimensionamento. L'idea è che una volta identificata la nostra migliore combinazione di parametri (nel nostro caso tempo e percorso) testiamo le prestazioni di quel set di parametri in un contesto diverso. Pertanto, potremmo voler testare anche martedì e giovedì per assicurarci che le nostre scelte funzionino anche per quei giorni.

Estensione dell'analogia alle statistiche

Nelle statistiche, abbiamo un problema simile. Spesso utilizziamo un insieme limitato di dati per stimare i parametri sconosciuti che non conosciamo. Se ci adattiamo troppo, le nostre stime dei parametri funzioneranno molto bene per i dati esistenti, ma non per quando li usiamo in un altro contesto. Pertanto, la convalida incrociata aiuta a evitare il problema di overfitting di cui sopra dimostrandoci una certa rassicurazione che le stime dei parametri non sono univoche rispetto ai dati che abbiamo usato per stimarle.

Naturalmente, la validazione incrociata non è perfetta. Tornando al nostro esempio di metropolitana, può succedere che anche dopo la convalida incrociata, la nostra migliore scelta di parametri potrebbe non funzionare un mese lungo la linea a causa di vari problemi (ad es. Costruzione, variazioni del volume del traffico nel tempo, ecc.).


2
Tecnicamente, si tratta di convalida di controllo, ma si può immaginare di estendere l'esempio della metropolitana a un contesto di convalida incrociata. Se aiuta, riscriverò l'esempio e il resto del testo per essere specifici della convalida incrociata.

@srikant..la parola che si adatta troppo come parola mi suggerisce che qualcosa è "troppo" fatto significato ... più del necessario ... cosa è stato fatto troppo? Non è di variabili? Mi dispiace di aver sentito il termine sovralimentare molte volte e prenderei questa opportunità per chiarire questo con te.
Ayush Biyani,

1
Penso che questa risposta sarebbe migliorata aggiungendo il concetto di fold, che è la chiave di come il CV è diverso dai test di controllo. Nell'esempio (usando l'abbreviazione M per lunedì, T per martedì, ..., R per giovedì, ...): Quindi guardi TWRF per la migliore combinazione e vedi come funziona su M, quindi MWRF e vedi come funziona su T, ecc. Quindi ogni giorno viene utilizzato come parte del problema quattro volte e come controllo del problema una volta, ma mai come problema e controllo nello stesso round.
Wayne,

43

Penso che questo sia meglio descritto con la seguente immagine (in questo caso mostra la convalida incrociata di k-fold):

testo alternativo

La convalida incrociata è una tecnica utilizzata per proteggere da un eccesso di adattamento in un modello predittivo, in particolare in un caso in cui la quantità di dati può essere limitata. Nella convalida incrociata, si crea un numero fisso di pieghe (o partizioni) dei dati, si esegue l'analisi su ogni piega, quindi si calcola la stima complessiva dell'errore.


2
Sembra che siano state discusse altrove su questo sito che la convalida incrociata di k-fold è solo un tipo di convalida incrociata e la sua descrizione non svolge il compito generale di descrivere cosa sia la convalida incrociata.
Russellpierce,

3
@drknexus: È giusto, ma menziono che è k-fold e volevo fornire una visualizzazione del processo per aiutarlo a spiegarlo.
Shane,

Chiarimento rapido: è nfold = 4 significa 25% per set di test; nfold = 5 significa 20% per set di test; nfold = 10 significa 10% per il set di test, e così via: nfold = n significa 100 / n percento va nel set di test?
johnjps111,

9

"Evita di imparare a memoria i tuoi dati di allenamento assicurandoti che il modello addestrato funzioni bene su dati indipendenti."


3
Questa è la motivazione per il cv, piuttosto che una descrizione del cv stesso.
jbaums,

6

Diciamo che indaghi su qualche processo; hai raccolto alcuni dati per descriverlo e hai creato un modello (statistico o ML, non importa). Ma ora, come giudicare se va bene? Probabilmente si adatta sospettosamente bene ai dati su cui è stato costruito, quindi nessuno crederà che il tuo modello sia così splendido che pensi.
La prima idea è quella di separare un sottoinsieme dei tuoi dati e usarlo per testare il modello costruito con il tuo metodo sul resto dei dati. Ora il risultato è decisamente privo di adattamento, tuttavia (soprattutto per piccoli set) avresti potuto essere (non) fortunato e disegnare (meno) casi più semplici da testare, rendendo (più difficile) più facile prevedere ... Anche la tua precisione / la stima dell'errore / bontà è inutile per il confronto / ottimizzazione del modello, poiché probabilmente non si sa nulla della sua distribuzione.
In caso di dubbio, utilizzare la forza bruta, quindi replicare il processo sopra descritto, raccogliere alcune stime di accuratezza / errore / bontà e valutarle in media - e quindi ottenere la convalida incrociata. Tra le stime migliori otterrai anche un istogramma, quindi sarai in grado di approssimare la distribuzione o eseguire alcuni test non parametrici.
E questo è tutto; i dettagli della divisione test-train sono la ragione di diversi tipi di CV, tuttavia, salvo rari casi e piccole differenze di forza, sono piuttosto equivalenti. In effetti è un enorme vantaggio, perché lo rende un metodo equo e antiproiettile; è molto difficile imbrogliarlo.


3

Dato che non hai accesso ai dati del test al momento dell'allenamento e desideri che il tuo modello vada bene sui dati del test invisibile, "fingi" di avere accesso ad alcuni dati del test ripetutamente sottocampionando una piccola parte di i tuoi dati di allenamento, mantieni questo set durante l'allenamento del modello e quindi considera il set tenuto come un proxy per i dati di test (e scegli i parametri del modello che danno le migliori prestazioni sui dati dati). Speri che campionando casualmente vari sottoinsiemi dai dati di allenamento, potresti farli apparire come i dati del test (nel senso medio del comportamento), e quindi i parametri del modello appreso saranno buoni anche per i dati del test (cioè il tuo modello generalizza bene per i dati invisibili).

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.