Ultima actualizare la 8 august 2019
Compararea metodelor de învățare automată și selectarea unui model final este o operațiune comună în învățarea automată aplicată.
Modelurile sunt în mod obișnuit evaluate folosind metode de reeșantionare, cum ar fi validarea încrucișată k-fold, din care se calculează scorurile medii de abilitate și se compară direct. Deși simplă, această abordare poate fi înșelătoare, deoarece este greu de știut dacă diferența dintre scorurile medii ale abilităților este reală sau este rezultatul unei întâmplări statistice.
Testele de semnificație statistică sunt concepute pentru a aborda această problemă și pentru a cuantifica probabilitatea ca eșantioanele de scoruri ale abilităților să fie observate, având în vedere ipoteza că au fost extrase din aceeași distribuție. Dacă această ipoteză, sau ipoteza nulă, este respinsă, aceasta sugerează că diferența dintre scorurile de îndemânare este semnificativă din punct de vedere statistic.
Deși nu este infailibilă, testarea statistică a ipotezelor vă poate îmbunătăți atât încrederea în interpretarea, cât și prezentarea rezultatelor în timpul selecției modelului.
În acest tutorial, veți descoperi importanța și provocarea de a selecta un test statistic de ipoteze pentru compararea modelelor de învățare automată.
După finalizarea acestui tutorial, veți ști:
- Testele statistice de ipoteze pot ajuta la compararea modelelor de învățare automată și la alegerea unui model final.
- Aplicarea naivă a testelor statistice de ipoteze poate duce la rezultate înșelătoare.
- Utilizarea corectă a testelor statistice este o provocare și există un anumit consens pentru utilizarea testului McNemar sau a validării încrucișate 5×2 cu un test t Student împerecheat modificat.
Dă startul proiectului tău cu noua mea carte Statistics for Machine Learning, care include tutoriale pas cu pas și fișierele de cod sursă Python pentru toate exemplele.
Să începem.
- Actualizare Oct/2018: Adăugat link către un exemplu de utilizare a testului lui McNemar.
Statistical Significance Tests for Comparing Machine Learning Algorithms
Photo by Fotografías de Javier, unele drepturi rezervate.
Tutorial Overview
Acest tutorial este împărțit în 5 părți; acestea sunt:
- Problema selecției modelelor
- Statistica testelor de ipoteză
- Problema alegerii unui test de ipoteză
- Sumarul unor constatări
- Recomandări
Nevoie de ajutor cu Statistica pentru învățare automată?
Faceți acum cursul meu rapid gratuit de 7 zile prin e-mail (cu cod de probă).
Click pentru a vă înscrie și pentru a obține, de asemenea, o versiune gratuită a cursului în format PDF Ebook.
Download Your FREE Mini-Course
Problema selecției modelelor
O mare parte a învățării automate aplicate este selecția modelelor.
Potem descrie acest lucru în forma sa cea mai simplă:
Dată evaluarea a două metode de învățare automată pe un set de date, ce model alegeți?
Se alege modelul cu cea mai bună abilitate.
Acest lucru este, modelul a cărui abilitate estimată atunci când face predicții pe date nevăzute este cea mai bună. Aceasta ar putea fi acuratețea maximă sau eroarea minimă în cazul problemelor de clasificare și, respectiv, de regresie.
Provocarea alegerii modelului cu cea mai bună abilitate este de a determina în ce măsură puteți avea încredere în abilitatea estimată a fiecărui model. Mai general:
Diferența de îndemânare între două modele de învățare automată este reală sau se datorează unei întâmplări statistice?
Potem utiliza testarea statistică a ipotezelor pentru a răspunde la această întrebare.
Testele statistice de ipoteză
În general, un test statistic de ipoteză pentru compararea eșantioanelor cuantifică cât de probabilă este observarea a două eșantioane de date, având în vedere ipoteza că eșantioanele au aceeași distribuție.
Ipoteza unui test statistic se numește ipoteza nulă și putem calcula măsuri statistice și le putem interpreta pentru a decide dacă să acceptăm sau să respingem ipoteza nulă.
În cazul selectării modelelor pe baza competenței lor estimate, suntem interesați să știm dacă există o diferență reală sau semnificativă din punct de vedere statistic între cele două modele.
- Dacă rezultatul testului sugerează că nu există dovezi suficiente pentru a respinge ipoteza nulă, atunci orice diferență observată în ceea ce privește competența modelului se datorează probabil întâmplării statistice.
- Dacă rezultatul testului sugerează că există suficiente dovezi pentru a respinge ipoteza nulă, atunci orice diferență observată în ceea ce privește abilitatea modelului se datorează probabil unei diferențe între modele.
Rezultatele testului sunt probabilistice, ceea ce înseamnă că este posibil să interpretăm corect rezultatul și ca rezultatul să fie greșit cu o eroare de tip I sau de tip II. Pe scurt, o constatare fals pozitivă sau fals negativă.
Compararea modelelor de învățare automată prin intermediul testelor de semnificație statistică impune anumite așteptări care, la rândul lor, vor avea un impact asupra tipurilor de teste statistice care pot fi utilizate; de exemplu:
- Skill Estimation. Trebuie aleasă o măsură specifică a abilității modelului. Aceasta ar putea fi acuratețea clasificării (o proporție) sau eroarea medie absolută (statistică sumară), ceea ce va limita tipul de teste care pot fi utilizate.
- Estimări repetate. Este necesar un eșantion de scoruri de aptitudini pentru a calcula statisticile. Formarea și testarea repetată a unui anumit model pe aceleași date sau pe date diferite va avea un impact asupra tipului de test care poate fi utilizat.
- Distribuția estimărilor. Eșantionul de estimări ale scorurilor de aptitudini va avea o distribuție, poate gaussiană sau poate nu. Acest lucru va determina dacă pot fi utilizate teste parametrice sau neparametrice.
- Tendința centrală. Competența modelului va fi adesea descrisă și comparată folosind o statistică sumară, cum ar fi o medie sau o mediană, în funcție de distribuția scorurilor de competență. Testul poate sau nu să țină seama direct de acest lucru.
Rezultatele unui test statistic sunt adesea o statistică de test și o valoare p, ambele putând fi interpretate și utilizate în prezentarea rezultatelor pentru a cuantifica nivelul de încredere sau de semnificație a diferenței dintre modele. Acest lucru permite formularea unor afirmații mai puternice ca parte a selecției modelului decât în cazul în care nu se utilizează teste statistice de ipoteză.
Datorită faptului că utilizarea testelor statistice de ipoteză pare de dorit ca parte a selecției modelului, cum alegeți un test care să fie potrivit pentru cazul dvs. specific de utilizare?
Problema alegerii unui test de ipoteză
Să analizăm un exemplu obișnuit de evaluare și comparare a clasificatorilor pentru o problemă de clasificare binară echilibrată.
Este o practică obișnuită să se evalueze metodele de clasificare folosind precizia clasificării, să se evalueze fiecare model folosind validarea încrucișată de 10 ori, să se presupună o distribuție gaussiană pentru eșantionul de 10 estimări ale competenței modelului și să se folosească media eșantionului ca un rezumat al competenței modelului.
Am putea cere ca fiecare clasificator evaluat folosind această procedură să fie evaluat pe exact aceleași diviziuni ale setului de date prin validarea încrucișată de 10 ori. Acest lucru ar oferi eșantioane de măsuri împerecheate între doi clasificatori, împerecheate deoarece fiecare clasificator a fost evaluat pe aceleași 10 seturi de testare.
Am putea apoi să selectăm și să folosim testul t al lui Student împerecheat pentru a verifica dacă diferența în acuratețea medie între cele două modele este semnificativă din punct de vedere statistic, de ex. să respingem ipoteza nulă care presupune că cele două eșantioane au aceeași distribuție.
De fapt, acesta este un mod obișnuit de a compara clasificatoarele, existând probabil sute de lucrări publicate care utilizează această metodologie.
Problema este că o ipoteză cheie a testului t al lui Student împerecheat a fost încălcată.
Numai exact, observațiile din fiecare eșantion nu sunt independente. Ca parte a procedurii de validare încrucișată k-fold, o anumită observație va fi utilizată în setul de date de instruire (k-1) ori. Acest lucru înseamnă că scorurile de aptitudini estimate sunt dependente, nu independente, și, la rândul său, că calculul statisticii t din test va fi eronat în mod înșelător, împreună cu orice interpretare a statisticii și a valorii p.
Această observație necesită o înțelegere atentă atât a metodei de reeșantionare utilizate, în acest caz k-fold cross-validation, cât și a așteptărilor testului de ipoteză ales, în acest caz testul t al lui Student împerecheat. Fără acest context, testul pare adecvat, un rezultat va fi calculat și interpretat și totul va părea în regulă.
Din păcate, selectarea unui test statistic de ipoteză adecvat pentru selectarea modelului în învățarea automată aplicată este mai dificilă decât pare la prima vedere. Din fericire, există un număr tot mai mare de cercetări care ajută la evidențierea defectelor abordărilor naive și sugerează corecții și metode alternative.
Rezumat al unor constatări
În această secțiune, să aruncăm o privire asupra unora dintre cercetările privind selectarea testelor statistice de semnificație adecvate pentru selectarea modelelor în învățarea automată.
Utilizați testul lui McNemar sau validarea încrucișată 5×2
Poate că lucrarea fundamentală pe această temă este lucrarea din 1998 intitulată „Approximate Statistical Tests for Comparing Supervised Classification Learning Algorithms” de Thomas Dietterich.
Este o lucrare excelentă pe această temă și o lectură recomandată. Acoperă mai întâi un cadru excelent pentru a gândi asupra punctelor din timpul unui proiect de învățare automată în care poate fi necesar un test statistic de ipoteză, discută așteptările privind încălcările comune ale testelor statistice relevante pentru compararea metodelor de învățare automată a clasificatorilor și se încheie cu o evaluare empirică a metodelor de confirmare a constatărilor.
Acest articol trece în revistă cinci teste statistice aproximative pentru a determina dacă un algoritm de învățare depășește un alt algoritm într-o anumită sarcină de învățare.
Acest articol se concentrează pe selecția și evaluarea empirică a testelor statistice de ipoteză în acea calibrare a erorii de tip I sau a falsurilor pozitive. Adică, selectarea unui test care minimizează cazul în care se sugerează o diferență semnificativă atunci când nu există o astfel de diferență.
Există o serie de constatări importante în această lucrare.
Prima constatare este că utilizarea testului t al lui Student împerecheat pe rezultatele competenței estimate prin re-eșantioane aleatorii ale unui set de date de instruire nu ar trebui să se facă niciodată.
… putem concluziona cu încredere că testul t reeșantionat nu ar trebui să fie utilizat niciodată.
Ipotezele testului t împerecheat sunt încălcate în cazul reeșantionării aleatorii și în cazul validării încrucișate k-fold (așa cum s-a menționat mai sus). Cu toate acestea, în cazul validării încrucișate k-fold, testul t va fi optimist, rezultând o eroare de tip I mai mare, dar numai o eroare de tip II modestă. Aceasta înseamnă că această combinație ar putea fi utilizată în cazurile în care evitarea erorilor de tip II este mai importantă decât cedarea la o eroare de tip I.
Testul t validat încrucișat de 10 ori are o eroare de tip I ridicată. Cu toate acestea, are, de asemenea, o putere ridicată și, prin urmare, poate fi recomandat în acele cazuri în care eroarea de tip II (eșecul de a detecta o diferență reală între algoritmi) este mai importantă.
Dietterich recomandă testul statistic de ipoteză McNemar în cazurile în care există o cantitate limitată de date și fiecare algoritm poate fi evaluat doar o singură dată.
Testul lui McNemar este asemănător testului Chi pătrat și, în acest caz, este utilizat pentru a determina dacă diferența dintre proporțiile observate în tabelul de contingență al algoritmului sunt semnificativ diferite de proporțiile așteptate. Aceasta este o constatare utilă în cazul rețelelor neuronale mari de învățare în profunzime, a căror formare poate dura zile sau săptămâni.
Experimentele noastre ne determină să recomandăm testul lui McNemar, pentru situațiile în care algoritmii de învățare pot fi executați doar o singură dată.
Dietterich recomandă, de asemenea, o metodă de reeșantionare concepută de el însuși, numită 5×2 cross-validation, care implică 5 repetări ale validării încrucișate de 2 ori.
Cele două pliuri sunt alese pentru a se asigura că fiecare observație apare doar în setul de date de antrenament sau de testare pentru o singură estimare a abilității modelului. Se utilizează un test t al lui Student împerecheat pentru rezultate, actualizat pentru a reflecta mai bine gradele limitate de libertate, având în vedere dependența dintre scorurile de competență estimate.
Experimentele noastre ne determină să recomandăm testul t 5 x 2cv, pentru situațiile în care algoritmii de învățare sunt suficient de eficienți pentru a fi executați de zece ori
Refinamente privind validarea încrucișată 5×2
Utilizarea fie a testului lui McNemar, fie a validării încrucișate 5×2 a devenit o recomandare de bază în cea mai mare parte a celor 20 de ani de la publicarea lucrării.
Cu toate acestea, au fost aduse îmbunătățiri suplimentare pentru a corecta mai bine testul t al lui Student împerecheat pentru încălcarea ipotezei de independență din validarea încrucișată repetată k-fold.
Două lucrări importante printre multe altele includ:
Claude Nadeau și Yoshua Bengio propun o corecție suplimentară în lucrarea lor din 2003 intitulată „Inference for the Generalization Error”. Este o lucrare densă și nu este recomandată pentru cei slabi de inimă.
Această analiză ne-a permis să construim două estimări ale varianței care iau în considerare atât variabilitatea datorată alegerii seturilor de antrenament, cât și alegerea exemplelor de testare. Unul dintre estimatorii propuși seamănă cu metoda cv (Dietterich, 1998) și este conceput special pentru a supraestima varianța pentru a produce o inferență conservatoare.
Remco Bouckaert și Eibe Frank în lucrarea lor din 2004 intitulată „Evaluating the Replicability of Significance Tests for Comparing Learning Algorithms” (Evaluarea replicabilității testelor de semnificație pentru compararea algoritmilor de învățare) adoptă o perspectivă diferită și consideră că abilitatea de a replica rezultatele este mai importantă decât erorile de tip I sau de tip II.
În această lucrare susținem că replicabilitatea unui test este, de asemenea, importantă. Spunem că un test are o replicabilitate scăzută dacă rezultatul său depinde în mare măsură de partiționarea aleatorie particulară a datelor care este utilizată pentru a-l efectua
În mod surprinzător, aceștia recomandă utilizarea fie a 100 de runde de reeșantionare aleatorie, fie a validării încrucișate de 10×10 ori cu corecția Nadeau și Bengio la testul Student-t împerecheat pentru a obține o bună replicabilitate.
Aceasta din urmă abordare este recomandată în cartea lui Ian Witten și Eibe Frank și în platforma lor open-source de extragere a datelor Weka, referindu-se la corecția Nadeau și Bengio ca fiind „testul t reeșantionat corectat”.
Au fost propuse diverse modificări ale testului t standard pentru a ocoli această problemă, toate acestea fiind euristice și lipsite de o justificare teoretică solidă. Unul care pare să funcționeze bine în practică este testul t reeșantionat corectat. Aceeași statistică modificată poate fi utilizată cu validarea încrucișată repetată, care este doar un caz special de reținere repetată în care seturile individuale de testare pentru o validare încrucișată nu se suprapun.
– Pagina 159, Capitolul 5, Credibilitate: Evaluarea a ceea ce s-a învățat, Data Mining: Practical Machine Learning Tools and Techniques, Third Edition, 2011.
Recomandări
Nu există gloanțe de argint atunci când vine vorba de selectarea unui test de semnificație statistică pentru selectarea modelului în învățarea automată aplicată.
Să ne uităm la cinci abordări pe care le puteți utiliza în cadrul proiectului dvs. de învățare automată pentru a compara clasificatorii.
Eșantioane de date independente
Dacă aveți date aproape nelimitate, adunați k seturi de date de antrenament și de testare separate pentru a calcula 10 scoruri de îndemânare cu adevărat independente pentru fiecare metodă.
Apoi puteți aplica corect testul t al lui Student împerecheat. Acest lucru este foarte puțin probabil, deoarece lucrăm adesea cu eșantioane de date mici.
… ipoteza că există date practic nelimitate, astfel încât să poată fi utilizate mai multe seturi de date independente de dimensiunea potrivită. În practică există de obicei doar un singur set de date de dimensiuni limitate. Ce se poate face?
– Pagina 158, Capitolul 5, Credibilitate: Evaluarea a ceea ce s-a învățat, Data Mining: Practical Machine Learning Tools and Techniques, Third Edition, 2011.
Acceptați problemele CV de 10 ori
Se poate utiliza validarea încrucișată naivă de 10 ori cu un test t Student împerecheat nemodificat.
Aceasta are o repetabilitate bună în raport cu alte metode și o eroare de tip II modestă, dar se știe că are o eroare de tip I ridicată.
Experimentele sugerează, de asemenea, prudență în interpretarea rezultatelor testului t cu validare încrucișată de 10 ori. Acest test are o probabilitate ridicată de eroare de tip I (de două ori mai mare decât nivelul țintă), deși nu este nici pe departe la fel de gravă ca problema cu testul t reeșantionat.
– Approximate Statistical Tests for Comparing Supervised Classification Learning Algorithms, 1998.
Este o opțiune, dar este foarte slab recomandată.
Utilizați testul lui McNemar sau CV 5×2
Recomandările de două decenii ale testului lui McNemar pentru rezultatele acurateței de clasificare cu o singură rulare și validarea încrucișată de 5×2 ori cu un test t al lui Student împerecheat modificat în general rămân valabile.
În plus, corecția suplimentară a lui Nadeau și Bengio pentru statistica testului poate fi utilizată cu validarea încrucișată de 5×2 ori sau validarea încrucișată de 10×10 ori, așa cum recomandă dezvoltatorii Weka.
O provocare în utilizarea statisticii t modificate este faptul că nu există o implementare gata de utilizare (de exemplu, în SciPy), ceea ce necesită utilizarea codului de la terți și riscurile pe care aceasta le implică. Este posibil să trebuiască să o implementați singur.
Disponibilitatea și complexitatea unei metode statistice alese este un considerent important, bine spus de Gitte Vanwinckelen și Hendrik Blockeel în lucrarea lor din 2012 intitulată „On Estimating Model Accuracy with Repeated Cross-Validation”:
În timp ce aceste metode sunt concepute cu atenție și se demonstrează că îmbunătățesc metodele anterioare într-o serie de moduri, ele suferă de același risc ca și metodele anterioare, și anume că, cu cât o metodă este mai complexă, cu atât este mai mare riscul ca cercetătorii să o folosească incorect sau să interpreteze rezultatul în mod incorect.
Acesta este un exemplu de utilizare a testului lui McNemar:
- Cum se calculează testul lui McNemar pentru a compara doi clasificatori de învățare automată
Utilizați un test neparametric împerecheat
Putem utiliza un test neparametric care face mai puține presupuneri, cum ar fi să nu presupunem că distribuția scorurilor de aptitudini este gaussiană.
Un exemplu este testul Wilcoxon signed-rank, care este versiunea neparametrică a testului t al lui Student împerecheat. Acest test are mai puțină putere statistică decât testul t împerecheat, deși are mai multă putere atunci când așteptările testului t sunt încălcate, cum ar fi independența.
Acest test statistic de ipoteză este recomandat pentru compararea algoritmilor diferitelor seturi de date de către Janez Demsar în lucrarea sa din 2006 „Statistical Comparisons of Classifiers over Multiple Data Sets”.
Prin urmare, recomandăm utilizarea testului Wilcoxon, cu excepția cazului în care ipotezele testului t sunt îndeplinite, fie pentru că avem multe seturi de date, fie pentru că avem motive să credem că măsura performanței între seturile de date este distribuită normal.
Deși testul este neparametric, acesta presupune totuși că observațiile din cadrul fiecărui eșantion sunt independente (de exemplu, iid), iar utilizarea validării încrucișate k-fold ar crea eșantioane dependente și ar încălca această ipoteză.
Utilizați în schimb statistici de estimare
În loc de teste statistice de ipoteză, se pot calcula statistici de estimare, cum ar fi intervalele de încredere. Acestea ar suferi de probleme similare în cazul în care ipoteza de independență este încălcată, având în vedere metodele de reeșantionare prin care sunt evaluate modelele.
Tom Mitchell face o recomandare similară în cartea sa din 1997, sugerând să luăm rezultatele testelor statistice de ipoteză ca estimări euristice și să căutăm intervale de încredere în jurul estimărilor abilității modelului:
Pentru a rezuma, nici o procedură unică de comparare a metodelor de învățare bazate pe date limitate nu satisface toate constrângerile pe care le-am dori. Este înțelept să ținem cont de faptul că modelele statistice rareori se potrivesc perfect constrângerilor practice în testarea algoritmilor de învățare atunci când datele disponibile sunt limitate. Cu toate acestea, ele oferă intervale de încredere aproximative care pot fi de mare ajutor în interpretarea comparațiilor experimentale ale metodelor de învățare.
– Pagina 150, Capitolul 5, Evaluating Hypotheses, Machine Learning, 1997.
Metodele statistice, cum ar fi bootstrap, pot fi folosite pentru a calcula intervale de încredere neparametrice justificabile care pot fi folosite atât pentru a prezenta rezultatele, cât și pentru a compara clasificatorii. Aceasta este o abordare simplă și eficientă la care puteți apela oricând și pe care o recomand în general.
De fapt, intervalele de încredere au primit cel mai mult studiu teoretic dintre toate subiectele din domeniul bootstrap.
– Pagina 321, An Introduction to the Bootstrap, 1994.
Extensiuni
Această secțiune enumeră câteva idei de extindere a tutorialului pe care ați putea dori să le explorați.
- Căutați și enumerați trei lucrări de cercetare care utilizează în mod incorect testul t al lui Student împerecheat nemodificat pentru a compara și a alege un model de învățare automată.
- Sumăriți cadrul de utilizare a testelor statistice de ipoteze într-un proiect de învățare automată prezentat în lucrarea lui Thomas Dietterich din 1998.
- Căutați și enumerați trei lucrări de cercetare care utilizează în mod corect fie testul lui McNemar, fie validarea încrucișată 5×2 pentru a compara și a alege un model de învățare automată.
Dacă explorați oricare dintre aceste extensii, mi-ar plăcea să știu.
Further Reading
Această secțiune oferă mai multe resurse pe această temă, dacă doriți să aprofundați.
Papers
- Approximate Statistical Tests for Comparing Supervised Classification Learning Algorithms, 1998.
- Inference for the Generalization Error, 2003.
- Evaluating the Replicability of Significance Tests for Comparing Learning Algorithms, 2004.
- On estimating model accuracy with repeated cross-validation, 2012.
- Statistical Comparisons of Classifiers over Multiple Data Sets, 2006.
Books
- Capitolul 5, Evaluating Hypotheses, Machine Learning, 1997.
- Capitolul 5, Credibility: Evaluating What’s Beened Learned, Data Mining: Practical Machine Learning Tools and Techniques, ediția a treia, 2011.
- An Introduction to the Bootstrap, 1994.
Articole
- Student’s t-test pe Wikipedia
- Cross-validation (statistică) pe Wikipedia
- McNemar’s test pe Wikipedia
- Wilcoxon signed-rank test pe Wikipedia
Discuții
- Pentru selecția/compararea modelelor, ce tip de test ar trebui să folosesc?
- Cum se realizează testarea ipotezelor pentru compararea unor clasificatori diferiți
- Metodologia testului Wilcoxon rank sum
- Cum se alege între testul t sau testul non-parametric de ex. Wilcoxon în eșantioane mici
Rezumat
În acest tutorial, ați descoperit importanța și provocarea de a selecta un test statistic de ipoteză pentru compararea modelelor de învățare automată.
În mod specific, ați învățat:
- Testele statistice de ipoteză pot ajuta la compararea modelelor de învățare automată și la alegerea unui model final.
- Aplicarea naivă a testelor statistice de ipoteze poate duce la rezultate înșelătoare.
- Utilizarea corectă a testelor statistice este o provocare și există un anumit consens pentru utilizarea testului McNemar sau a validării încrucișate 5×2 cu un test t Student împerecheat modificat.
Aveți întrebări?
Puneți întrebările dvs. în comentariile de mai jos și voi face tot posibilul să vă răspund.
Cunoașteți statistica pentru învățare automată!
Dezvoltați o înțelegere practică a statisticii
…scriind linii de cod în python
Descoperiți cum în noul meu Ebook:
Statistical Methods for Machine Learning
Acesta oferă tutoriale de autoinstruire pe subiecte precum:
Teste de ipoteză, corelație, statistici neparametrice, reeșantionare și multe altele…
Descoperiți cum să transformați datele în cunoaștere
Scapați de academie. Doar rezultate.
Vedeți ce conține