Perché i ricercatori utilizzano una convalida incrociata di 10 volte invece di eseguire test su un set di convalida?
Su Novembre 30, 2020 da adminHo letto molti articoli di ricerca sulla classificazione dei sentimenti e argomenti correlati.
La maggior parte di loro utilizza la convalida incrociata di 10 volte per addestrare e testare i classificatori. Ciò significa che non viene eseguita alcuna verifica / convalida separata. Perché?
Quali sono i vantaggi / svantaggi di questo approccio, soprattutto per coloro che fanno ricerca?
Commenti
- Sei sicuro di no sono stati eseguiti test separati?
- +1. Ho notato la stessa cosa. Molte volte, la convalida incrociata di 10 volte è il risultato finale riportato.
Risposta
Questo non è un problema se il CV è nidificato , ovvero tutte le ottimizzazioni, selezioni di funzioni e selezioni di modelli, indipendentemente dal fatto che utilizzino o meno CV racchiuso in un unico grande CV.
Come si confronta con avere un set di convalida extra? Sebbene linsieme di convalida sia di solito solo una parte selezionata più o meno casualmente dellintero dato, è semplicemente lequivalente di uniterazione di CV. A tal fine, è in realtà un metodo peggiore perché può essere facilmente influenzato da (si spera) fortunatamente / sfortunatamente selezionati o selezionati con cura.
Lunica eccezione a questo sono le serie temporali e altri dati in cui lordine degli oggetti è importante; ma richiedono un trattamento speciale in entrambi i casi.
Risposta
Il motivo principale è che lo stimatore di convalida incrociata k-fold ha un varianza inferiore rispetto a un singolo estimatore di set di controllo, che può essere molto importante se la quantità di dati disponibili è limitata. Se si dispone di un unico set di hold out, in cui il 90% dei dati viene utilizzato per laddestramento e il 10% per i test, il set di test è molto piccolo, quindi ci saranno molte variazioni nella stima delle prestazioni per diversi campioni di dati, o per diverse partizioni dei dati per formare set di addestramento e test. La convalida k-fold riduce questa varianza calcolando la media su k diverse partizioni, quindi la stima delle prestazioni è meno sensibile al partizionamento dei dati. Puoi andare ancora oltre con la convalida incrociata k-fold ripetuta, in cui la convalida incrociata viene eseguita utilizzando diversi partizionamenti dei dati per formare k sottoinsiemi, e quindi prendendo anche la media su quello.
Tieni presente, tuttavia, che tutti i passaggi della procedura di adattamento del modello (selezione del modello, selezione delle caratteristiche ecc.) Devono essere eseguiti indipendentemente in ogni piega della procedura di convalida incrociata, altrimenti la stima delle prestazioni risultante sarà distorta in modo ottimistico.
Risposta
[MODIFICATO alla luce del commento]
Penso che ci sia un problema se usi i risultati del CV per selezionare tra più modelli.
CV ti consente di utilizzare lintero set di dati per addestrare e testare un modello / metodo, pur essendo in grado di avere unidea ragionevole di quanto bene sarà generalizzato. Ma se stai confrontando più modelli, il mio istinto è che il confronto dei modelli utilizza il livello extra di isolamento del test di addestramento che CV ti dà, quindi il risultato finale non sarà una stima ragionevole dellaccuratezza del modello scelto.
Quindi immagino che se crei diversi modelli e ne scegli uno in base al suo CV, sei eccessivamente ottimista su ciò che hai trovato. Sarebbe necessario un altro set di convalida per vedere quanto bene vincitore generalizza.
Commenti
- Grazie. Esatto. Ma la mia domanda riguardava soprattutto il motivo per cui i documenti di ricerca non hanno una convalida finale? Cè un motivo corretto? Si tratta di meno dati o perché il CV funziona bene e una convalida separata non è ‘ necessaria?
- Lapproccio alla suddivisione dei dati è altamente inefficiente. Fino a quando sia laddestramento che i set di test non sono enormi, lerrore quadratico medio per una stima delle probabili prestazioni future per un modello predittivo è inferiore con bootstrap o arguzia h 100 ripetizioni di 10 volte di convalida incrociata, assumendo che le procedure di ricampionamento avessero accesso a tutti i passaggi di modellazione che hanno coinvolto $ Y $. Utilizzare la suddivisione dei dati quando è necessario convalidare anche il processo di misurazione, lo strumento di rilevamento o altre procedure relative al significato dei dati. Un buon uso della suddivisione dei dati è quando la strumentazione varia in base al paese.
Risposta
-
Nella mia esperienza, il motivo principale è che di solito non si hanno abbastanza campioni.
Nel mio campo (classificazione di campioni biologici / medici), a volte un set di test viene tenuto separato, ma spesso comprende solo pochi casi. che gli intervalli di confidenza dei casi sono solitamente troppo ampi per essere di qualsiasi utilità. -
Un altro vantaggio della convalida incrociata ripetuta / iterata o della convalida out-of-bootstrap è che si crea un gruppo di modelli “surrogati”. Si presume che siano uguali. Se non lo sono, le modalità sono instabili.Puoi effettivamente misurare questa instabilità (rispetto allo scambio di alcuni casi di addestramento) confrontando i modelli surrogati stessi o le previsioni che diversi modelli surrogati fanno per lo stesso caso.
-
Questo articolo di Esbensen & Geladi offre una bella discussione su alcuni limiti della convalida incrociata.
Puoi stare attento della maggior parte di essi, ma un punto importante che non può essere affrontato ricampionando la convalida è la deriva, che è correlata al punto di mbq:Lunica eccezione a questo ci sono le serie temporali e altri dati in cui lordine degli oggetti è importante
Drift significa che, ad esempio, la risposta / calibrazione reale di uno strumento cambia lentamente nel tempo. Quindi lerrore di generalizzazione per i casi sconosciuti potrebbe non essere lo stesso dei casi sconosciuti futuri . Si arriva a istruzioni come “rifare calibrazione giornaliera / settimanale / …” se si rileva una deriva durante la convalida, ma questo richiede set di test acquisiti sistematicamente dopo i dati di allenamento.
(È possibile eseguire suddivisioni “speciali” che includono tempo di acquisizione dellaccount, se il tuo esperimento è pianificato in modo appropriato, ma di solito questo non coprirà tutto il tempo che desideri “testare per il rilevamento della deriva)
Risposta
Perché dovremmo eseguire la convalida incrociata invece di utilizzare un set di convalida separato?
Aurélien Géron ne parla nel suo libro
Per evitare di “sprecare” troppi dati di addestramento nei set di convalida, una tecnica comune è quella di utilizzare la convalida incrociata.
Invece di altri k valori, perché potremmo preferire utilizzare k = 10 nella convalida incrociata?
Per rispondere a è, in primo luogo, vorrei ringraziare Jason Brownlee, PhD per il suo fantastico tutorial su k-fold Cross-Validation. Sto citando uno dei suoi libri citati.
Kuhn & Johnson ha parlato della scelta del valore k nel loro libro .
La scelta di k è solitamente 5 o 10, ma non esiste una regola formale. Allaumentare di k, la differenza di dimensioni tra il set di addestramento e i sottoinsiemi di ricampionamento si riduce. Man mano che questa differenza diminuisce, il bias della tecnica diventa più piccolo (cioè, il bias è minore per k = 10 che per k = 5 ). In questo contesto, il bias è la differenza tra i valori stimati e reali del rendimento
Quindi, si può dire che perché non usiamo leave-one -out cross-validation (LOOCV) poiché il valore k è massimo lì e quindi, il bias sarà minimo lì. In quel libro hanno anche spiegato perché possiamo preferire 10 volte il CV invece di preferire LOOCV.
Da un punto di vista pratico, valori maggiori di k sono maggiori oneroso dal punto di vista computazionale. Allestremo, LOOCV è più faticoso dal punto di vista computazionale perché richiede tanti adattamenti del modello quanti sono i punti dati e ogni adattamento del modello utilizza un sottoinsieme che ha quasi le stesse dimensioni dellinsieme di addestramento. Molinaro (2005) ha riscontrato che la convalida incrociata con esclusione e k = 10 volte ha prodotto risultati simili, indicando che k = 10 è più attraente dal punto di vista dellefficienza computazionale. Inoltre, piccoli valori di k, diciamo 2 o 3, hanno un bias elevato ma sono molto efficienti dal punto di vista computazionale.
Ho letto molti articoli di ricerca sulla classificazione dei sentimenti e argomenti correlati. La maggior parte di loro utilizza la convalida incrociata di 10 volte per addestrare e testare i classificatori. Ciò significa che non viene eseguita alcuna verifica / convalida separata. Perché?
Se non utilizziamo la convalida incrociata (CV) per selezionare uno dei più modelli (o non utilizziamo CV per regolare gli iperparametri) , non è necessario eseguire test separati. Il motivo è che lo scopo di fare un test separato è realizzato qui in CV (da una delle k pieghe in ogni iterazione). Diversi thread SE ne hanno parlato molto. Puoi controllare.
Alla fine, sentiti libero di chiedermi se qualcosa che ho scritto non ti è chiaro.
Lascia un commento