Convalida incrociata o bootstrap per valutare le prestazioni di classificazione?


24

Qual è il metodo di campionamento più appropriato per valutare le prestazioni di un classificatore su un particolare set di dati e confrontarlo con altri classificatori? La convalida incrociata sembra essere una pratica standard, ma ho letto che metodi come il bootstrap .632 sono una scelta migliore.

Come follow-up: la scelta della metrica delle prestazioni influisce sulla risposta (se utilizzo l'AUC anziché l'accuratezza)?

Il mio obiettivo finale è poter dire con una certa sicurezza che un metodo di apprendimento automatico è superiore a un altro per un determinato set di dati.


1
Bootstrap (con sostituzione) può essere utilizzato sul set di dati di allenamento, al posto, ad esempio, della convalida incrociata (ripetuta) k-fold. Vedere anche: Differenze tra convalida incrociata e bootstrap per stimare l'errore di previsione , Comprensione del bootstrap per la convalida e la selezione del modello .
chl,

Risposte:


42

Una differenza importante nel modo consueto in cui vengono applicati i metodi di validazione incrociata e fuori avvio è che la maggior parte delle persone applica la convalida incrociata una sola volta (ovvero ogni caso viene testato esattamente una volta), mentre la convalida fuori avvio viene eseguita con un numero elevato di ripetizioni / iterazioni. In tale situazione, la validazione incrociata è soggetta a una maggiore varianza a causa dell'instabilità del modello. Tuttavia, ciò può essere evitato utilizzando, ad esempio, la convalida incrociata ripetuta ripetuta / ripetuta . Se ciò viene fatto, almeno per i set di dati spettroscopici con cui ho lavorato, l'errore totale di entrambi gli schemi di ricampionamento sembra essere lo stesso nella pratica.k

La convalida incrociata senza esclusione di dati è sconsigliata, in quanto non vi è alcuna possibilità di ridurre la varianza del tipo di instabilità del modello e vi sono alcuni classificatori e problemi in cui mostra un grande pregiudizio pessimistico.

.632 bootstrap fa un lavoro ragionevole fintanto che l'errore di ricampionamento che viene mischiato non è troppo ottimistico. (Ad esempio per i dati con cui lavoro, matrici molto ampie con molte varianti, non funziona molto bene in quanto i modelli sono soggetti a un eccessivo adattamento). Ciò significa anche che eviterei di usare il bootstrap .632 per confrontare modelli di varia complessità. Con .632+ bootstrap non ho esperienza: se si verifica un overfitting e viene rilevato correttamente, equivarrà alla stima originale fuori dal bootstrap, quindi rimango fedele obo o convalida ripetuta iterata / ripetuta per i miei dati.

Letteratura:

  • Kohavi, R .: Uno studio di convalida incrociata e bootstrap per la stima della precisione e la selezione dei modelli Atti di intelligenza artificiale 14a Conferenza congiunta internazionale, 20-25 agosto 2015, Montréal, Québec, Canada, 1995, 1137-1145.
    (un classico )

Dougherty e Braga-Neto hanno una serie di pubblicazioni sull'argomento , ad es

Scelta della metrica:

Il mio obiettivo finale è poter dire con una certa sicurezza che un metodo di apprendimento automatico è superiore a un altro per un determinato set di dati.

  • Utilizzare un test associato per valutarlo. Per confrontare le proporzioni, dai un'occhiata al test di McNemar.

  • La risposta a questo sarà influenzata dalla scelta della metrica. Dato che le misure di errore di tipo regressione non hanno il passo "indurente" di tagliare le decisioni con una soglia, spesso hanno una varianza inferiore rispetto alle loro controparti di classificazione. Metriche come l'accuratezza che sono fondamentalmente proporzioni avranno bisogno di un numero enorme di casi di test per stabilire la superiorità di un classificatore rispetto a un altro.

Fleiss: "Metodi statistici per tassi e proporzioni" fornisce esempi (e tabelle) per un confronto spaiato di proporzioni. Per darti un'idea di cosa intendo con "enormi dimensioni del campione", dai un'occhiata all'immagine nella mia risposta a questa altra domanda . Test accoppiati come quelli di McNemar necessitano di meno casi di test, ma IIRC rimane nel migliore dei casi metà (?) Della dimensione del campione necessaria per il test non accoppiato.

  • Per caratterizzare le prestazioni di un classificatore (indurito), di solito è necessaria una curva di lavoro di almeno due valori come il ROC (sensibilità vs. specificità) o simili.
    Raramente uso l'accuratezza generale o l'AUC, poiché le mie applicazioni di solito hanno restrizioni, ad es. Che la sensibilità è più importante della specificità, o che alcuni limiti su queste misure dovrebbero essere rispettati. Se scegli le caratteristiche di somma "numero singolo", assicurati che il punto di lavoro dei modelli che stai osservando sia effettivamente in un intervallo ragionevole.

  • Per l'accuratezza e altre misure prestazionali che riassumono le prestazioni per diverse classi in base alle etichette di riferimento, assicurati di prendere in considerazione la frequenza relativa delle classi che incontrerai nell'applicazione, che non è necessariamente la stessa della tua dati di addestramento o test.

  • Provost, F. et al. : Il caso contro la stima della precisione per confrontare gli algoritmi di induzione negli atti della quindicesima conferenza internazionale sull'apprendimento automatico, 1998


modifica: confronto tra più classificatori

Ho pensato a questo problema per un po ', ma non sono ancora arrivato a una soluzione (né ho incontrato nessuno che avesse una soluzione).

Ecco cosa ho finora:

Per il momento, ho deciso che "l'ottimizzazione è la radice di tutti i mali", e invece
ho adottato un approccio molto diverso: decido il più possibile dalle conoscenze degli esperti sul problema in questione. Ciò in realtà consente di restringere un po 'le cose, così che spesso posso evitare il confronto tra modelli. Quando devo confrontare i modelli, cerco di essere molto aperto e chiaro ricordando alle persone l'incertezza della stima delle prestazioni e che il confronto di modelli particolarmente multipli è AFAIK ancora un problema irrisolto.


Modifica 2: test associati

Tra modelli, puoi fare confronti tra due diversi modelli (che è una massiccia situazione di confronto multiplo), non so come farlo correttamente. Tuttavia, l' abbinamento1n12(n2n)del test si riferisce solo al fatto che poiché tutti i modelli sono testati esattamente con gli stessi casi di test, è possibile dividere i casi in casi "facili" e "difficili" da un lato, per i quali tutti i modelli arrivano ad un corretto (o previsione errata). Non aiutano a distinguere tra i modelli. D'altra parte, ci sono casi "interessanti" che sono previsti correttamente da alcuni, ma non da altri modelli. Solo questi casi "interessanti" devono essere considerati per giudicare la superiorità, né i casi "facili" né quelli "difficili" aiutano a farlo. (Ecco come capisco l'idea alla base del test di McNemar).

Per il confronto estremamente multiplo tra modelli, immagino che un problema sia che, a meno che tu non sia molto fortunato, più modelli confronterai, meno casi sarai in grado di escludere da ulteriori considerazioni: anche se tutti i modelli sono veramente uguali nei loro prestazioni complessive, diventa sempre meno probabile che un caso venga sempre previsto correttamente (o sempre erroneamente) da modelli.nnn


Grazie per la risposta dettagliata! Apprezzerei molto se potessi approfondire il punto che hai formulato: " Usa un test accoppiato per valutarlo. Per confrontare le proporzioni, dai un'occhiata al test di McNemar. " Dovrei riformulare leggermente la mia domanda: vorrei confrontare diverse macchine metodi di apprendimento contemporaneamente, non necessariamente solo coppie. Non mi è subito chiaro come test accoppiati potrebbero ottenere questo risultato.
kelvin_11,

3
(+6) Bella risposta.
chl,

@cbeleites Ti amo per questo commento. Per il significato del confronto di più modelli - che dire dei metodi di analisi della varianza (ANOVA)? come Kruskal – Wallis ?
Serendipity

1
@Serendipity: davvero non ne so abbastanza di Kruskal-Wallis per darti una risposta qui. Ma sospetto che i metodi simili a ANOVA non siano ciò che si desidera qui in quanto (1) non utilizza la natura accoppiata dei dati e (2) guadagna potere rispetto ai confronti multipli perché l'ipotesi nulla è solo "tutti i modelli perform ugualmente "- se questo viene rifiutato, non si sa ancora quale algoritmo / i si comporti diversamente. Quindi può essere utilizzato solo per enfatizzare i risultati negativi (non importa quale algoritmo si scelga). Sospetto che esista un'ampia zona in cui ANOVA non ti dice tutti i modelli ...
cbeleites supporta Monica il

... sono uguali ma non si dispone di informazioni sufficienti per consentire i confronti multipli necessari per identificare modelli migliori.
cbeleites supporta Monica il

6

Sono necessarie modifiche al bootstrap (.632, .632+) solo perché la ricerca originale ha utilizzato una regola di punteggio impropria discontinua (proporzione classificata correttamente). Per altri punteggi di precisione, il normale bootstrap di ottimismo tende a funzionare bene. Per ulteriori informazioni, consultare http://biostat.mc.vanderbilt.edu/RmS#Studies_of_Methods_Used_in_the_T

Regole di punteggio improprie fuorviano sulla scelta delle caratteristiche e dei loro pesi. In altre parole, tutto ciò che può andare storto andrà storto.


4

Da 'Modellazione predittiva applicata., Khun. Johnson . p.78

"Nessun metodo di ricampionamento è uniformemente migliore di un altro; la scelta dovrebbe essere presa considerando diversi fattori. Se la dimensione del campione è piccola, si consiglia di utilizzare la convalida incrociata ripetuta 10 volte per diversi motivi; le proprietà di bias e varianza sono buone e date le dimensioni del campione, i costi di calcolo non sono grandi. Se l'obiettivo è scegliere tra i modelli, anziché ottenere il miglior indicatore di prestazioni, si può fare un valido caso per usare una delle procedure di bootstrap poiché queste hanno una varianza molto bassa. Per campioni di grandi dimensioni, le differenze tra i metodi di ricampionamento diventano meno pronunciate e l'efficienza computazionale aumenta nelle prestazioni. " p. 78

Inoltre, data la scelta di due risultati simili, è generalmente preferito il modello più interpretabile. Ad esempio (dallo stesso testo), usando un CV di 10 volte, un classificatore SVM aveva una stima dell'accuratezza del 75% con risultati di ricampionamento compresi tra il 66 e l'82%. Gli stessi parametri sono stati utilizzati su un classificatore di regressione logistica con una precisione del 74,9% e lo stesso intervallo di ricampionamento. Il modello di regressione logistica più semplice potrebbe essere preferito in quanto è più semplice interpretare i risultati.


4
Si noti che la varianza che è possibile ridurre eseguendo un gran numero di iterazioni / ripetizioni di bootstrap / cross validation è solo la parte della varianza che deriva dall'instabilità dei modelli surrogati. È possibile misurare se si tratta di un contributo importante alla varianza totale mediante convalida incrociata poiché verifica ogni campione esattamente una volta durante ogni serie, quindi la varianza dovuta alla dimensione finita del campione non viene visualizzata nel confronto delle medie delle serie complete di convalida incrociata . Per una classificazione "difficile", è possibile calcolare la varianza dovuta alla dimensione del campione finita dalla distribuzione binomiale.
cbeleites supporta Monica il

@cbeleites: Puoi spiegare un po 'cosa intendi con "verifica ogni campione esattamente una volta durante ogni serie, quindi la varianza dovuta alla dimensione del campione finita non viene mostrata nel confronto delle medie delle serie complete di validazione incrociata". (anche i riferimenti vanno bene!) (+1 in modo chiaro)
usεr11852 dice Reinstate Monic il

@ usεr11852: ogni caso viene testato esattamente una volta per ogni convalida incrociata. Immagina una tabella di n_sample xr risultati della corsa CV. Se abbiamo previsioni stabili , tutte le previsioni r per lo stesso caso sono le stesse. Cioè non vi è alcuna varianza lungo le file. Ma casi diversi possono avere previsioni diverse (a meno che non abbiamo ad esempio una precisione del 100%): abbiamo una varianza lungo le colonne. Ora la valutazione standard della valutazione incrociata ripetuta / ripetuta consiste nel confrontare le medie delle colonne. Per i modelli stabili, questi sono esattamente gli stessi, anche se fare avere varianza lungo le colonne, ossia tra i casi.
cbeleites supporta Monica

(Se i modelli / le previsioni sono instabili, otteniamo previsioni diverse da diversi modelli surrogati e vediamo anche la varianza lungo le righe. Inoltre alcune variazioni aggiuntive lungo le colonne, poiché ogni colonna in CV piega a k copre k diversi modelli surrogati. ) Quindi, per misurare la stabilità del modello / previsione (in), è forse ancora più diretto andare direttamente alla varianza lungo le file, vale a dire la varianza delle previsioni di diversi modelli surrogati per lo stesso caso.
cbeleites supporta Monica

1
@cbeleites: Grazie mille per il chiarimento. Ora posso apprezzare il punto che stai facendo di più.
usεr11852 dice Reinstate Monic
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.