Puoi esagerare con l'addestramento degli algoritmi di machine learning usando CV / Bootstrap?


34

Questa domanda potrebbe essere troppo aperta per ottenere una risposta definitiva, ma speriamo di no.

Gli algoritmi di apprendimento automatico, come SVM, GBM, Random Forest ecc., Generalmente hanno alcuni parametri gratuiti che, al di là di una guida empirica, devono essere adattati a ciascun set di dati. Questo viene generalmente fatto con una sorta di tecnica di ricampionamento (bootstrap, CV ecc.) Per adattarsi all'insieme di parametri che danno il miglior errore di generalizzazione.

La mia domanda è: puoi andare troppo lontano qui? Le persone parlano di fare ricerche sulla griglia in questo modo, ma perché non trattarlo semplicemente come un problema di ottimizzazione e approfondire il set di parametri migliore possibile? Ho chiesto informazioni su alcuni meccanismi di questo in questa domanda, ma non ha ricevuto molta attenzione. Forse la domanda è stata posta male, ma forse la domanda stessa rappresenta un cattivo approccio che le persone generalmente non fanno?

Ciò che mi preoccupa è la mancanza di regolarizzazione. Potrei scoprire ricampionando che il miglior numero di alberi da crescere in un GBM per questo set di dati è 647 con una profondità di interazione di 4, ma quanto posso essere sicuro che ciò sarà vero per i nuovi dati (supponendo che la nuova popolazione è identico al set di allenamento)? Senza un ragionevole valore da "restringere" al (o se lo desideri, nessuna informazione preventiva informativa) il ricampionamento sembra il meglio che possiamo fare. Non sento parlare di questo, quindi mi chiedo se c'è qualcosa che mi manca.

Ovviamente c'è un grande costo computazionale associato a fare molte molte iterazioni per spremere ogni ultimo bit di potenza predittiva da un modello, quindi chiaramente questo è qualcosa che faresti se avessi il tempo / grugnito per fare l'ottimizzazione e ogni bit di miglioramento delle prestazioni è prezioso.


Il CV può essere utilizzato per cose diverse. Per essere chiari, quando dici "ricerca della griglia" o "ottimizzazione dell'iperparametro", stai parlando della selezione del modello , non della selezione delle caratteristiche o persino della stima dell'errore di classificazione.
smci,

Risposte:


30

C'è una risposta definitiva a questa domanda che è "sì, è certamente possibile sovrautilizzare un criterio di selezione del modello basato sulla convalida incrociata e finire con un modello che generalizza male! ". Dal mio punto di vista, questo sembra non essere molto apprezzato, ma costituisce una grave insidiazione nell'applicazione dei metodi di apprendimento automatico ed è il fulcro della mia attuale ricerca; Finora ho scritto due articoli sull'argomento

GC Cawley e NLC Talbot, Over-fitting nella selezione dei modelli e conseguente bias nella selezione delle prestazioni, Journal of Machine Learning Research, 2010. Research, vol. 11, pp. 2079-2107, luglio 2010. ( www )

che dimostra che un eccesso di adattamento nella selezione del modello è un problema sostanziale nell'apprendimento automatico (e puoi ottenere stime delle prestazioni fortemente distorte se tagli gli angoli nella selezione del modello durante la valutazione delle prestazioni) e

GC Cawley e NLC Talbot, Prevenire over-montaggio nella scelta del modello bayesiano via regolarizzazione delle iper-parametri, Journal of Machine Learning Research, il volume 8, pagine 841-861, aprile 2007. ( www )

dove il criterio di selezione del modello basato sulla convalida incrociata è regolarizzato per provare un adattamento migliorato nella selezione del modello (che è un problema chiave se si utilizza un kernel con molti iperparametri).

Sto scrivendo un documento sulla selezione del modello basato sulla ricerca di griglia al momento, che mostra che è certamente possibile usare una griglia troppo fine dove si finisce con un modello statisticamente inferiore a un modello selezionato da un Griglia più grossa (era una domanda su StackExchange che mi ha ispirato a cercare nella griglia).

Spero che sia di aiuto.

PS Una valutazione delle prestazioni senza paragoni e una selezione affidabile dei modelli possono effettivamente essere computazionalmente costose, ma secondo la mia esperienza ne vale la pena. Convalida incrociata nidificata, in cui la convalida incrociata esterna viene utilizzata per la stima delle prestazioni e la convalida incrociata interna per la selezione del modello è un buon approccio di base.


Perfezionare! Sembra che quei documenti siano esattamente ciò che stavo cercando. Grazie per quello
Bogdanovist,

Fammi sapere se hai domande sui documenti (via e-mail: sono il primo autore e il mio indirizzo e-mail è sul foglio).
Dikran Marsupial,

@DikranMarsupial Come si distingue il sovradimensionamento dovuto alla selezione del modello e quello dovuto alla mancata corrispondenza del campionamento tra treno e set di test?
image_doctor

1
In linea di principio, usando un set di dati sintetico in cui è disponibile la verità di base, allora è semplice, poiché non vi è alcuna mancata corrispondenza del campionamento; il set di training è solo un campione casuale dalla distribuzione sottostante e puoi stimare l'errore dalla distribuzione stessa, piuttosto che un campione finito. Per i set di dati con parole reali, tuttavia, AFAICS la cosa migliore che puoi gestire è utilizzare il ricampionamento e determinare gli effetti del sovra-adattamento del criterio di selezione del modello su molte divisioni di test / training casuali.
Dikran Marsupial,

2
Purtroppo è stato respinto, ma lo revisionerò per tenere conto dei commenti (molto utili) dei revisori e inviarlo nuovamente a un altro diario.
Dikran Marsupial,

7

È stato dimostrato che la validazione incrociata e il bootstrap forniscono stime del tasso di errore che sono quasi imparziali e in alcuni casi più accurati dal bootstrap rispetto alla validazione incrociata. Il problema con altri metodi come la resubstitution è che stimando l'errore sullo stesso set di dati con cui si adatta il classificatore è possibile sottovalutare gravemente il tasso di errore e può essere condotto ad algoritmi che includono troppi parametri e non prevedono valori futuri così accurati come un algoritmo adatto a un piccolo set di parametri. La chiave per l'uso dei metodi statistici è che i dati che hai in tutto il classificatore sono tipici dei dati che vedrai in futuro in cui mancano le classi e devono essere previsti dal classificatore. Se ritieni che i dati futuri potrebbero essere molto diversi, i metodi statistici non possono essere d'aiuto e io non


Grazie per la risposta. Ho modificato la domanda per chiarire che non sto chiedendo dei cambiamenti nella popolazione tra treno e set di test. Mi rendo conto che è una domanda completamente diversa che non mi interessa per questa domanda.
Bogdanovist,

1
+1 In questo caso l'incongruenza è essenzialmente irrilevante. La varianza della stima della convalida incrociata può essere molto più di un problema. Per un criterio di selezione del modello è necessario che il minimo del criterio sia vicino in modo affidabile al minimo dell'errore di generalizzazione (in funzione degli iperparametri). È inutile se in media si trova nel posto giusto, ma la diffusione dei minimi per diversi campioni finiti di dati è ovunque.
Dikran Marsupial,

1
Naturalmente l'accuratezza è una combinazione di distorsione e varianza e una stima imparziale con una varianza elevata non è buona come uno stimatore leggermente distorto con una varianza ridotta. La stima niave del tasso di errore è la reintegrazione e ha una grande propensione. Il bootstrap 632 e 632+ funzionano così bene perché fanno un buon lavoro adattandosi al bias senza aumentare molto la varianza. Questo è il motivo per cui per le funzioni discriminanti lineari e le funzioni discriminanti quadratiche funzionano molto meglio della versione "one-out-one" della convalida incrociata.
Michael R. Chernick,

Con gli insiemi di alberi di classificazione, il bootstrap non ha dimostrato di fare meglio.
Michael R. Chernick,

1
Forse una delle difficoltà è che il sovradimensionamento spesso significa cose diverse nell'apprendimento automatico e nelle statistiche. Mi sembra che a volte gli statistici utilizzino un eccesso di adattamento per indicare che viene utilizzato un modello con più parametri del necessario, piuttosto che adattarsi troppo strettamente alle osservazioni (come misurato dal criterio di addestramento). Normalmente userei la "parametrizzazione eccessiva" in quella situazione e userei la "sovra-adattamento" per indicare che un modello è stato adattato troppo strettamente alle osservazioni a scapito delle prestazioni di generalizzazione. Forse è qui che possiamo parlare a scopi incrociati?
Dikran Marsupial,

4

Ho il sospetto che una risposta qui sia che, nel contesto dell'ottimizzazione, ciò che stai cercando di trovare è un minimo globale su una noisyfunzione di costo. Quindi hai tutte le sfide di un'ottimizzazione globale multidimensionale più una componente stocastica aggiunta alla funzione di costo.

Molti degli approcci per affrontare le sfide dei minimi locali e uno spazio di ricerca costoso hanno parametri che potrebbero richiedere un'ottimizzazione, come i metodi di ricottura simulata o monte carlo.

In un universo ideale, non limitato dal punto di vista computazionale, ho il sospetto che potresti tentare di trovare un minimo globale del tuo spazio parametri con limiti adeguatamente stretti sulla distorsione e la varianza della tua stima della funzione di errore. Questo scenario di regolarizzazione non sarebbe un problema in quanto potresti ripetere il campionamento all'infinito.

Nel mondo reale sospetto che potresti trovarti facilmente in un minimo locale.

Come accennato, si tratta di un problema separato, ma questo ti lascia comunque aperto al sovradimensionamento a causa di problemi di campionamento associati ai dati a tua disposizione e della sua relazione con la reale distribuzione sottostante dello spazio di campionamento.


4

Dipende fortemente dall'algoritmo, ma sicuramente è possibile, anche se nella maggior parte dei casi sarà solo uno spreco benigno di sforzi.

Il nocciolo di questo problema è che questa non è una rigida ottimizzazione: non hai alcuna definita su un dominio che ha semplicemente un estremo per almeno un valore di , dì e tutto quello che devi fare è trovarlo. Invece, hai , dove ha una distribuzione folle, è spesso stocastico e dipende non solo da , ma anche dai dati di allenamento e dai dettagli CV / bootstrap. In questo modo, l'unica cosa ragionevole che puoi cercare è un sottospazio del dominio , diciamo , su cui tutti i valori dix x opt f ( x ) + ϵ ϵ x f X optx opt f + ϵf(x)xxoptf(x)+ϵϵxfXoptxoptf+ϵ sono insignificantimente diversi (statisticamente parlando, se lo si desidera).

Ora, mentre non riesci a trovare , in pratica qualsiasi valore di lo farà - e di solito è solo un punto della griglia di ricerca di scelti a caso, per ridurre al minimo il carico computazionale, per massimizzare alcuni sub misura delle prestazioni, è il nome.X opt X opt fxoptXoptXoptf

Il grave overfitting può verificarsi se il panorama ha un estremo acuto, eppure questo "non dovrebbe accadere", cioè è una caratteristica di coppia algoritmo / dati molto mal selezionata e una prognosi negativa per il potere di generalizzazione.f

Quindi, beh, (basato su pratiche presenti in buone riviste), la validazione esterna completa della selezione dei parametri non è qualcosa che devi rigorosamente fare (a differenza della selezione delle funzionalità di validazione), ma solo se l'ottimizzazione è superficiale e il classificatore è piuttosto insensibile a i parametri.


4

Sì, i parametri possono essere "adattati" al training e al set di test durante la crossvalidation o il bootstrap. Tuttavia, ci sono alcuni metodi per impedirlo. Il primo metodo semplice è dividere il set di dati in 3 partizioni, una per il test (~ 20%), una per il test di parametri ottimizzati (~ 20%) e una per il montaggio del classificatore con parametri impostati. È possibile solo se si dispone di set di dati abbastanza grandi. In altri casi si suggerisce una doppia convalida incrociata.

Romain François e Florent Langrognet, "Double Cross Validation for Model Based Classification", 2006

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.