La convalida incrociata è un sostituto adeguato del set di convalida?


27

Nella classificazione del testo, ho un set di addestramento con circa 800 campioni e un set di test con circa 150 campioni. Il set di test non è mai stato utilizzato e in attesa di essere utilizzato fino alla fine.

Sto usando l'intero set di addestramento di 800 campioni, con 10 volte cross validate durante la messa a punto e la modifica di classificatori e funzionalità. Ciò significa che non ho un set di convalida separato, ma ciascuno a corto di 10 volte, un set di convalida viene selezionato automaticamente.

Dopo che sarò soddisfatto di tutto e vorrò entrare nella fase finale della valutazione, addestrerò i miei classificatori su tutti gli 800 campioni. E test sul set di test da 150 campioni.

La mia comprensione di tale uso della convalida incrociata nella classificazione del testo è corretta? Questa pratica è valida?

Un'altra domanda sulla convalida incrociata è:

invece di 10 volte, ho anche provato a lasciarne uno fuori come indicatore generale per le prestazioni. Perché per lasciarne uno fuori, non è possibile avere informazioni su f1 / precisione / richiamo, mi chiedo quale sia la relazione tra l'accuratezza del congedo e le metriche da 10 volte?

Qualsiasi approfondimento sarebbe molto apprezzato.


Modificare:

Questa è una buona introduzione alla convalida incrociata. Si riferisce anche ad altri documenti di ricerca.


3
Gli stimatori di esclusione sono imparziali, mentre la convalida incrociata 10 volte tenderà a darti una parte (verso errori più bassi). Tuttavia, l'imparzialità viene al prezzo di una varianza elevata.
Blubb,

@Simon, penso che dipenda da una complessità del problema. No?
Biostat,

@blubb: LOO in determinate situazioni può avere un grande pregiudizio pessimistico. La varianza di LOO e una singola serie di CV 10 volte sono in genere molto simili. La distorsione ottimistica (stime di errore troppo basse) qui non deriva dalla scelta del ricampionamento, ma dal fatto che la validazione incrociata è già utilizzata per l'ottimizzazione basata sui dati. Successivamente, è necessaria un'altra convalida indipendente . Questo può anche essere un ciclo "esterno" di validazione incrociata (senza distorsioni ottimistiche!)
cbeleites supporta Monica il

Risposte:


15

Hai effettivamente descritto correttamente il modo di lavorare con la convalida incrociata. In effetti, sei "fortunato" ad avere una ragionevole convalida impostata alla fine, perché spesso viene utilizzata la convalida incrociata per ottimizzare un modello, ma non viene effettuata alcuna convalida "reale".

Come ha detto @Simon Stelling nel suo commento, la crossvalidation porterà a una riduzione degli errori stimati (il che ha senso perché riutilizzi costantemente i dati), ma per fortuna questo è il caso di tutti i modelli, quindi, escludendo la catastrofe (cioè: gli errori sono solo ridotti leggermente per un modello "cattivo", e di più per il modello "buono"), selezionando il modello che funziona meglio su un criterio crossvalidato, in genere sarà anche il migliore "reale".

Un metodo che viene talvolta utilizzato per correggere in qualche modo gli errori inferiori, specialmente se si stanno cercando modelli parsimoniosi, è selezionare il modello più piccolo / metodo più semplice per il quale l'errore crossvalidato si trova all'interno di una SD dall'ottimale (crossvalidated). Come crossvalidation stesso, questo è un euristico, quindi dovrebbe essere usato con un po 'di attenzione (se questa è un'opzione: fai un diagramma dei tuoi errori rispetto ai tuoi parametri di ottimizzazione: questo ti darà un'idea se hai risultati accettabili)

Dato il pregiudizio al ribasso degli errori, è importante non pubblicare gli errori o altre misure di performance dalla crossvalidation senza menzionare che questi provengono dalla crossvalidation (anche se, a dire la verità: ho visto troppe pubblicazioni che non menzionano che il la misura delle prestazioni è stata ottenuta controllando le prestazioni sul set di dati originale --- quindi menzionare la crossvalidation in realtà rende i risultati più preziosi ). Per te, questo non sarà un problema, dal momento che hai un set di validazione.

Un avvertimento finale: se l'adattamento del tuo modello risulta in alcuni concorrenti stretti, è una buona idea guardare le loro prestazioni in seguito al tuo set di validazione, ma non basare la tua selezione del modello finale su quello: puoi usare al meglio questo per calmare il tuo coscienza, ma il tuo modello "finale" deve essere stato scelto prima di guardare il set di validazione.

Hai scritto la tua seconda domanda: credo che Simon abbia fornito tutte le risposte di cui hai bisogno nel suo commento, ma per completare il quadro: come spesso, è in gioco il compromesso di bias-varianza. Se sai che, in media, raggiungerai il risultato corretto (imparzialità), il prezzo è in genere che ciascuno dei tuoi calcoli individuali può trovarsi abbastanza lontano da esso (varianza elevata). Ai vecchi tempi, l'imparzialità era il nec plus ultra, ai giorni nostri, si è accettato a volte un (piccolo) pregiudizio (quindi non si sa nemmeno che la media dei calcoli porterà al risultato corretto), se provoca una varianza inferiore. L'esperienza ha dimostrato che la bilancia è accettabile con una valorizzazione incrociata di 10 volte. Per te, la distorsione sarebbe solo un problema per l'ottimizzazione del modello, poiché è possibile stimare successivamente il criterio (in modo imparziale) sul set di convalida. Pertanto, ci sono poche ragioni per non usare la crossvalidation.


"ma il tuo modello" finale "deve essere stato scelto prima di guardare il set di validazione." Bello.
Mooncrater,
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.