Ultimo aggiornamento dell’8 agosto 2019
Confrontare i metodi di apprendimento automatico e selezionare un modello finale è un’operazione comune nell’apprendimento automatico applicato.
I modelli sono comunemente valutati utilizzando metodi di ricampionamento come la convalida incrociata k-fold da cui i punteggi medi di abilità sono calcolati e confrontati direttamente. Anche se semplice, questo approccio può essere fuorviante in quanto è difficile sapere se la differenza tra i punteggi medi di abilità è reale o il risultato di un colpo di fortuna statistico.
I test di significatività statistica sono progettati per affrontare questo problema e quantificare la probabilità che i campioni di punteggi di abilità siano osservati dato il presupposto che sono stati tratti dalla stessa distribuzione. Se questa assunzione, o ipotesi nulla, viene rifiutata, ciò suggerisce che la differenza nei punteggi di abilità è statisticamente significativa.
Anche se non è infallibile, il test di ipotesi statistica può migliorare sia la vostra fiducia nell’interpretazione che la presentazione dei risultati durante la selezione del modello.
In questo tutorial, scoprirete l’importanza e la sfida di selezionare un test di ipotesi statistica per confrontare i modelli di apprendimento automatico.
Dopo aver completato questo tutorial, saprete:
- I test di ipotesi statistica possono aiutare a confrontare i modelli di apprendimento automatico e scegliere un modello finale.
- L’applicazione ingenua dei test di ipotesi statistica può portare a risultati fuorvianti.
- L’uso corretto dei test statistici è impegnativo, e c’è un certo consenso per l’uso del test di McNemar o della validazione incrociata 5×2 con un test t di Student modificato.
Avvia il tuo progetto con il mio nuovo libro Statistics for Machine Learning, che include tutorial passo-passo e i file del codice sorgente Python per tutti gli esempi.
Iniziamo.
- Aggiornamento ottobre/2018: Aggiunto link ad un esempio di utilizzo del test di McNemar.
Test di significatività statistica per confrontare algoritmi di apprendimento automatico
Foto di Fotografías de Javier, alcuni diritti riservati.
Panoramica del tutorial
Questo tutorial è diviso in 5 parti; esse sono:
- Il problema della selezione del modello
- Test di ipotesi statistica
- Problema della scelta di un test di ipotesi
- Sommario di alcuni risultati
- Raccomandazioni
Hai bisogno di aiuto con le statistiche per l’apprendimento automatico?
Prendi ora il mio corso crash gratuito di 7 giorni via email (con codice di esempio).
Clicca per iscriverti e ottieni anche una versione gratuita del corso in PDF Ebook.
Scarica il tuo mini-corso gratuito
Il problema della selezione dei modelli
Una grande parte dell’apprendimento automatico applicato è la selezione dei modelli.
Possiamo descriverlo nella sua forma più semplice:
Data la valutazione di due metodi di apprendimento automatico su un set di dati, quale modello scegli?
Si sceglie il modello con la migliore abilità.
Ovvero, il modello la cui abilità stimata nel fare previsioni su dati non visti è migliore. Questo potrebbe essere la massima accuratezza o il minimo errore nel caso di problemi di classificazione e regressione, rispettivamente.
La sfida nel selezionare il modello con la migliore abilità è determinare quanto ci si può fidare dell’abilità stimata di ogni modello. Più in generale:
La differenza di abilità tra due modelli di apprendimento automatico è reale o dovuta a un caso statistico?
Possiamo usare i test di ipotesi statistica per affrontare questa domanda.
Test di ipotesi statistica
Generalmente, un test di ipotesi statistica per confrontare i campioni quantifica quanto è probabile osservare due campioni di dati data l’assunzione che i campioni abbiano la stessa distribuzione.
L’assunzione di un test statistico è chiamata ipotesi nulla e possiamo calcolare misure statistiche e interpretarle per decidere se accettare o rifiutare l’ipotesi nulla.
Nel caso della selezione dei modelli in base alla loro abilità stimata, ci interessa sapere se c’è una differenza reale o statisticamente significativa tra i due modelli.
- Se il risultato del test suggerisce che non ci sono prove sufficienti per rifiutare l’ipotesi nulla, allora qualsiasi differenza osservata nell’abilità del modello è probabilmente dovuta al caso statistico.
- Se il risultato del test suggerisce che ci sono prove sufficienti per rifiutare l’ipotesi nulla, allora qualsiasi differenza osservata nell’abilità del modello è probabilmente dovuta a una differenza nei modelli.
I risultati del test sono probabilistici, cioè, è possibile interpretare correttamente il risultato e per il risultato essere sbagliato con un errore di tipo I o II. In breve, un risultato falso positivo o falso negativo.
Confrontare i modelli di apprendimento automatico tramite test di significatività statistica impone alcune aspettative che a loro volta avranno un impatto sui tipi di test statistici che possono essere utilizzati; per esempio:
- Stima dell’abilità. Deve essere scelta una misura specifica dell’abilità del modello. Questa potrebbe essere l’accuratezza di classificazione (una proporzione) o l’errore assoluto medio (statistica riassuntiva) che limiterà il tipo di test che può essere usato.
- Stime ripetute. Un campione di punteggi di abilità è necessario per calcolare le statistiche. L’addestramento e il test ripetuti di un dato modello sugli stessi dati o su dati diversi avranno un impatto sul tipo di test che può essere utilizzato.
- Distribuzione delle stime. Il campione di stime del punteggio di abilità avrà una distribuzione, forse gaussiana o forse no. Questo determinerà se possono essere usati test parametrici o non parametrici.
- Tendenza centrale. L’abilità del modello sarà spesso descritta e confrontata usando una statistica riassuntiva come una media o una mediana, a seconda della distribuzione dei punteggi di abilità. Il test può o non può tenerne conto direttamente.
I risultati di un test statistico sono spesso una statistica di test e un valore p, entrambi i quali possono essere interpretati e utilizzati nella presentazione dei risultati per quantificare il livello di fiducia o di significatività della differenza tra i modelli. Questo permette di fare affermazioni più forti come parte della selezione del modello rispetto al non utilizzo di test di ipotesi statistica.
Dato che l’utilizzo di test di ipotesi statistica sembra auspicabile come parte della selezione del modello, come si fa a scegliere un test che sia adatto al caso d’uso specifico?
Problema della scelta di un test di ipotesi
Guardiamo un esempio comune per valutare e confrontare i classificatori per un problema di classificazione binaria equilibrata.
È pratica comune valutare i metodi di classificazione usando l’accuratezza di classificazione, valutare ogni modello usando 10 volte la convalida incrociata, assumere una distribuzione gaussiana per il campione di 10 stime di abilità del modello e usare la media del campione come sintesi dell’abilità del modello.
Potremmo richiedere che ogni classificatore valutato con questa procedura sia valutato esattamente sulle stesse suddivisioni del dataset tramite la convalida incrociata di 10 volte. Questo darebbe campioni di misure appaiate tra due classificatori, appaiate perché ogni classificatore è stato valutato sugli stessi 10 set di test.
Potremmo quindi selezionare e utilizzare il test t di Student appaiato per verificare se la differenza nella precisione media tra i due modelli è statisticamente significativa, ad es. rifiutare l’ipotesi nulla che presuppone che i due campioni abbiano la stessa distribuzione.
In effetti, questo è un modo comune di confrontare i classificatori con forse centinaia di articoli pubblicati che utilizzano questa metodologia.
Il problema è che è stato violato un presupposto chiave del test t di Student accoppiato.
In particolare, le osservazioni in ogni campione non sono indipendenti. Come parte della procedura di convalida incrociata k-fold, una data osservazione sarà usata nel set di dati di allenamento (k-1) volte. Questo significa che i punteggi di abilità stimati sono dipendenti, non indipendenti, e a sua volta che il calcolo della statistica t nel test sarà fuorviante insieme a qualsiasi interpretazione della statistica e del valore p.
Questa osservazione richiede un’attenta comprensione sia del metodo di ricampionamento utilizzato, in questo caso k-fold cross-validation, sia delle aspettative del test di ipotesi scelto, in questo caso il test t di Student. Senza questo background, il test appare appropriato, un risultato sarà calcolato e interpretato, e tutto sembrerà a posto.
Purtroppo, selezionare un test di ipotesi statistica appropriato per la selezione del modello nell’apprendimento automatico applicato è più impegnativo di quanto non sembri. Fortunatamente, c’è un crescente corpo di ricerca che aiuta a evidenziare i difetti degli approcci ingenui e suggerisce correzioni e metodi alternativi.
Sommario di alcuni risultati
In questa sezione, diamo uno sguardo ad alcune delle ricerche sulla selezione di test di significatività statistica appropriati per la selezione dei modelli nell’apprendimento automatico.
Utilizzare il test di McNemar o la validazione incrociata 5×2
Forse il lavoro seminale su questo argomento è l’articolo del 1998 intitolato “Approximate Statistical Tests for Comparing Supervised Classification Learning Algorithms” di Thomas Dietterich.
È un eccellente articolo sull’argomento e una lettura consigliata. Copre prima un ottimo quadro di riferimento per pensare ai punti durante un progetto di apprendimento automatico in cui un test di ipotesi statistica può essere richiesto, discute l’aspettativa sulle violazioni comuni dei test statistici rilevanti per confrontare i metodi di apprendimento automatico classificatori, e finisce con una valutazione empirica dei metodi per confermare i risultati.
Questo articolo esamina cinque test statistici approssimativi per determinare se un algoritmo di apprendimento supera un altro su un particolare compito di apprendimento.
Il focus della selezione e della valutazione empirica dei test di ipotesi statistica nell’articolo è la calibrazione dell’errore di tipo I o dei falsi positivi. Cioè, selezionare un test che minimizzi il caso di suggerire una differenza significativa quando tale differenza non esiste.
Ci sono una serie di risultati importanti in questo articolo.
Il primo risultato è che non si dovrebbe mai usare il test t di Student accoppiato sui risultati di abilità stimate tramite ricampionamenti casuali di un dataset di allenamento.
… possiamo tranquillamente concludere che il test t ricampionato non dovrebbe mai essere impiegato.
Le ipotesi del test t appaiato sono violate nel caso del ricampionamento casuale e nel caso della validazione incrociata k-fold (come notato sopra). Tuttavia, nel caso della convalida incrociata k-fold, il t-test sarà ottimistico, con un conseguente errore di tipo I più elevato, ma solo un modesto errore di tipo II. Ciò significa che questa combinazione potrebbe essere usata nei casi in cui evitare gli errori di tipo II è più importante che soccombere a un errore di tipo I.
Il test t con convalida incrociata di 10 volte ha un alto errore di tipo I. Tuttavia, ha anche un’alta potenza, e quindi, può essere raccomandato in quei casi in cui l’errore di tipo II (il fallimento nel rilevare una reale differenza tra gli algoritmi) è più importante.
Dietterich raccomanda il test di ipotesi statistica di McNemar nei casi in cui c’è una quantità limitata di dati e ogni algoritmo può essere valutato solo una volta.
Il test di McNemar è come il test del Chi-quadrato, e in questo caso viene utilizzato per determinare se la differenza nelle proporzioni osservate nella tabella di contingenza dell’algoritmo è significativamente diversa dalle proporzioni previste. Questo è un risultato utile nel caso di grandi reti neurali di apprendimento profondo che possono richiedere giorni o settimane per l’addestramento.
I nostri esperimenti ci portano a raccomandare il test di McNemar, per situazioni in cui gli algoritmi di apprendimento possono essere eseguiti solo una volta.
Dietterich raccomanda anche un metodo di ricampionamento di sua invenzione chiamato 5×2 cross-validation che comporta 5 ripetizioni della cross-validazione di 2 volte.
Due pieghe sono scelte per assicurare che ogni osservazione appaia solo nel set di dati di training o di test per una singola stima dell’abilità del modello. Viene utilizzato un test t di Student a coppie sui risultati, aggiornato per riflettere meglio i gradi di libertà limitati data la dipendenza tra i punteggi di abilità stimati.
I nostri esperimenti ci portano a raccomandare il test t 5 x 2cv, per situazioni in cui gli algoritmi di apprendimento sono abbastanza efficienti da essere eseguiti dieci volte
Raffinamenti sulla validazione incrociata 5×2
L’uso del test di McNemar o della validazione incrociata 5×2 è diventato una raccomandazione fondamentale per gran parte dei 20 anni dalla pubblicazione di questo articolo.
Tuttavia, sono stati fatti ulteriori miglioramenti per correggere meglio il test t di Student a coppie per la violazione dell’ipotesi di indipendenza dalla convalida incrociata ripetuta k-fold.
Due importanti articoli tra i tanti includono:
Claude Nadeau e Yoshua Bengio propongono un’ulteriore correzione nel loro articolo del 2003 intitolato “Inferenza per l’errore di generalizzazione”. È un documento denso e non consigliato ai deboli di cuore.
Questa analisi ci ha permesso di costruire due stime della varianza che tengono conto sia della variabilità dovuta alla scelta dei set di addestramento sia della scelta degli esempi di test. Uno degli stimatori proposti è simile al metodo cv (Dietterich, 1998) ed è specificamente progettato per sovrastimare la varianza per ottenere un’inferenza conservativa.
Remco Bouckaert e Eibe Frank nel loro articolo del 2004 intitolato “Evaluating the Replicability of Significance Tests for Comparing Learning Algorithms” adottano una prospettiva diversa e considerano la capacità di replicare i risultati più importante degli errori di tipo I o II.
In questo articolo sosteniamo che anche la replicabilità di un test è importante. Diciamo che un test ha una bassa replicabilità se il suo risultato dipende fortemente dal particolare partizionamento casuale dei dati che viene utilizzato per eseguirlo
Sorprendentemente, essi raccomandano di utilizzare o 100 esecuzioni di ricampionamento casuale o una validazione incrociata 10×10 volte con la correzione di Nadeau e Bengio per il test Student-t a coppie per ottenere una buona replicabilità.
Quest’ultimo approccio è raccomandato nel libro di Ian Witten e Eibe Frank e nella loro piattaforma open-source di data mining Weka, riferendosi alla correzione di Nadeau e Bengio come al “t-test ricampionato corretto”.
Varie modifiche del t-test standard sono state proposte per aggirare questo problema, tutte euristiche e prive di solide giustificazioni teoriche. Uno che sembra funzionare bene nella pratica è il test t corretto ricampionato. La stessa statistica modificata può essere usata con la convalida incrociata ripetuta, che è solo un caso speciale di holdout ripetuto in cui i singoli set di test per una convalida incrociata non si sovrappongono.
– Pagina 159, Capitolo 5, Credibilità: Valutare ciò che è stato appreso, Data Mining: Practical Machine Learning Tools and Techniques, Third Edition, 2011.
Raccomandazioni
Non ci sono proiettili d’argento quando si tratta di selezionare un test di significatività statistica per la selezione del modello nell’apprendimento automatico applicato.
Guardiamo cinque approcci che potresti usare nel tuo progetto di apprendimento automatico per confrontare i classificatori.
Campioni di dati indipendenti
Se avete dati quasi illimitati, raccogliete k set di dati separati per il training e il test per calcolare 10 punteggi di abilità veramente indipendenti per ogni metodo.
Potreste poi applicare correttamente il test t di Student accoppiato. Questo è molto improbabile perché spesso lavoriamo con piccoli campioni di dati.
… l’assunzione che ci siano essenzialmente dati illimitati in modo da poter utilizzare diversi set di dati indipendenti della giusta dimensione. In pratica c’è di solito solo un singolo set di dati di dimensioni limitate. Cosa si può fare?
– Pagina 158, Capitolo 5, Credibilità: Valutare ciò che è stato appreso, Data Mining: Practical Machine Learning Tools and Techniques, Third Edition, 2011.
Accetta i problemi di 10-fold CV
Può essere usata l’ingenua convalida incrociata di 10 volte con un t-test di Student non modificato.
Ha una buona ripetibilità rispetto ad altri metodi e un modesto errore di tipo II, ma è noto per avere un elevato errore di tipo I.
Gli esperimenti suggeriscono anche cautela nell’interpretare i risultati del test t con convalida incrociata a 10 volte. Questo test ha un’elevata probabilità di errore di tipo I (fino al doppio del livello obiettivo), sebbene non sia così grave come il problema del test t ricampionato.
– Approximate Statistical Tests for Comparing Supervised Classification Learning Algorithms, 1998.
E’ un’opzione, ma è raccomandata molto debolmente.
Utilizzare il test di McNemar o il CV 5×2
Le raccomandazioni di due decenni del test di McNemar per i risultati di accuratezza di classificazione a singola esecuzione e la validazione incrociata 5×2-fold con un test t di Student modificato in generale sono valide.
Inoltre, l’ulteriore correzione di Nadeau e Bengio alla statistica del test può essere usata con la convalida incrociata 5×2-fold o la convalida incrociata 10×10-fold come raccomandato dagli sviluppatori di Weka.
Una sfida nell’uso della statistica t modificata è che non esiste un’implementazione off-the-shelf (per esempio in SciPy), richiedendo l’uso di codice di terze parti e i rischi che questo comporta. Potreste doverlo implementare voi stessi.
La disponibilità e la complessità di un metodo statistico scelto è una considerazione importante, detto bene da Gitte Vanwinckelen e Hendrik Blockeel nel loro documento del 2012 intitolato “On Estimating Model Accuracy with Repeated Cross-Validation”:
Mentre questi metodi sono accuratamente progettati, e hanno dimostrato di migliorare i metodi precedenti in diversi modi, soffrono dello stesso rischio dei metodi precedenti, cioè che più un metodo è complesso, più alto è il rischio che i ricercatori lo usino in modo errato, o interpretino il risultato in modo errato.
Ho un esempio di utilizzo del test di McNemar qui:
- Come calcolare il test di McNemar per confrontare due classificatori di Machine Learning
Utilizzare un test nonparametrico a coppie
Possiamo utilizzare un test nonparametrico che fa meno assunzioni, come non assumere che la distribuzione dei punteggi di abilità sia gaussiana.
Un esempio è il test di Wilcoxon signed-rank, che è la versione non parametrica del test t di Student a coppie. Questo test ha meno potere statistico del t-test appaiato, anche se ha più potere quando le aspettative del t-test sono violate, come l’indipendenza.
Questo test di ipotesi statistica è raccomandato per confrontare algoritmi diversi set di dati da Janez Demsar nel suo articolo del 2006 “Statistical Comparisons of Classifiers over Multiple Data Sets”.
Si consiglia quindi di utilizzare il test di Wilcoxon, a meno che le ipotesi del test t siano soddisfatte, o perché abbiamo molti insiemi di dati o perché abbiamo motivo di credere che la misura delle prestazioni tra gli insiemi di dati sia distribuita normalmente.
Anche se il test non è parametrico, presume ancora che le osservazioni all’interno di ogni campione siano indipendenti (ad esempio iid), e l’uso della convalida incrociata di k-fold creerebbe campioni dipendenti e violerebbe questa assunzione.
Utilizzare invece le statistiche di stima
Invece dei test di ipotesi statistica, possono essere calcolate statistiche di stima, come gli intervalli di confidenza. Questi soffrirebbero di problemi simili quando l’assunzione di indipendenza è violata, dati i metodi di ricampionamento con cui i modelli sono valutati.
Tom Mitchell fa una raccomandazione simile nel suo libro del 1997, suggerendo di prendere i risultati dei test di ipotesi statistica come stime euristiche e cercare intervalli di confidenza intorno alle stime di abilità del modello:
Per riassumere, nessuna singola procedura per confrontare i metodi di apprendimento basati su dati limitati soddisfa tutti i vincoli che vorremmo. È saggio tenere a mente che i modelli statistici raramente si adattano perfettamente ai vincoli pratici nel testare gli algoritmi di apprendimento quando i dati disponibili sono limitati. Tuttavia, essi forniscono intervalli di confidenza approssimativi che possono essere di grande aiuto nell’interpretazione dei confronti sperimentali dei metodi di apprendimento.
– Page 150, Chapter 5, Evaluating Hypotheses, Machine Learning, 1997.
Metodi statistici come il bootstrap possono essere usati per calcolare intervalli di confidenza non parametrici difendibili che possono essere usati sia per presentare risultati che per confrontare i classificatori. Questo è un approccio semplice ed efficace a cui si può sempre ricorrere e che raccomando in generale.
In effetti gli intervalli di confidenza hanno ricevuto il maggior numero di studi teorici di qualsiasi altro argomento nell’area del bootstrap.
– Pagina 321, An Introduction to the Bootstrap, 1994.
Extensions
Questa sezione elenca alcune idee per estendere il tutorial che potresti voler esplorare.
- Trova ed elenca tre articoli di ricerca che usano erroneamente il test t di Student non modificato per confrontare e scegliere un modello di apprendimento automatico.
- Sintetizza il quadro per l’uso di test di ipotesi statistiche in un progetto di apprendimento automatico presentato nell’articolo di Thomas Dietterich del 1998.
- Trova ed elenca tre articoli di ricerca che usano correttamente il test di McNemar o la validazione incrociata 5×2 per confrontare e scegliere un modello di apprendimento automatico.
Se esplorate una di queste estensioni, mi piacerebbe saperlo.
Altre letture
Questa sezione fornisce altre risorse sull’argomento se state cercando di approfondire.
Papers
- Approximate Statistical Tests for Comparing Supervised Classification Learning Algorithms, 1998.
- Inference for the Generalization Error, 2003.
- Valutare la replicabilità dei test di significatività per confrontare gli algoritmi di apprendimento, 2004.
- Sulla stima dell’accuratezza del modello con ripetute convalide incrociate, 2012.
- Statistical Comparisons of Classifiers over Multiple Data Sets, 2006.
Books
- Chapter 5, Evaluating Hypotheses, Machine Learning, 1997.
- Chapter 5, Credibility: Evaluating What’s Been Learned, Data Mining: Practical Machine Learning Tools and Techniques, Third Edition, 2011.
- An Introduction to the Bootstrap, 1994.
Articoli
- Student’s t-test su Wikipedia
- Cross-validation (statistica) su Wikipedia
- Test di McNemar su Wikipedia
- Wilcoxon signed-rank test su Wikipedia
Discussioni
- Per selezione/confronto di modelli, che tipo di test dovrei usare?
- Come eseguire test d’ipotesi per confrontare diversi classificatori
- Metodologia del test di rango di Wilcoxon
- Come scegliere tra t-test o test non parametrico, ad es. Wilcoxon in piccoli campioni
Sommario
In questo tutorial, hai scoperto l’importanza e la sfida di selezionare un test di ipotesi statistica per confrontare i modelli di apprendimento automatico.
In particolare, hai imparato:
- I test di ipotesi statistica possono aiutare a confrontare i modelli di apprendimento automatico e scegliere un modello finale.
- L’applicazione ingenua dei test di ipotesi statistica può portare a risultati fuorvianti.
- L’uso corretto dei test statistici è impegnativo, e c’è un certo consenso per l’uso del test di McNemar o della validazione incrociata 5×2 con un test t di Student modificato.
Hai qualche domanda?
Poni le tue domande nei commenti qui sotto e farò del mio meglio per rispondere.
Prendi confidenza con le statistiche per l’apprendimento automatico!
Sviluppa una comprensione pratica delle statistiche
…scrivendo righe di codice in python
Scopri come nel mio nuovo Ebook:
Metodi statistici per l’apprendimento automatico
Consente di studiare da soli argomenti come:
Test di ipotesi, correlazione, statistiche non parametriche, ricampionamento, e molto di più…
Scopri come trasformare i dati in conoscenza
Skip the Academics. Solo risultati.
Vedi cosa c’è dentro