Poslední aktualizace 8. srpna 2019
Porovnávání metod strojového učení a výběr finálního modelu je běžnou operací v aplikovaném strojovém učení.
Modely se běžně vyhodnocují pomocí metod převzorkování, jako je k-násobná křížová validace, z nichž se vypočítá průměrné skóre dovedností a přímo se porovná. Ačkoli je tento přístup jednoduchý, může být zavádějící, protože je těžké zjistit, zda je rozdíl mezi průměrnými skóre dovedností skutečný, nebo zda je výsledkem statistické náhody.
Testy statistické významnosti jsou navrženy tak, aby tento problém řešily a kvantifikovaly pravděpodobnost, s jakou jsou vzorky skóre dovedností pozorovány za předpokladu, že byly vybrány ze stejného rozdělení. Pokud je tento předpoklad neboli nulová hypotéza zamítnuta, naznačuje to, že rozdíl ve skórech dovedností je statisticky významný.
Ačkoli testování statistických hypotéz není spolehlivé, může zlepšit vaši jistotu při interpretaci i prezentaci výsledků při výběru modelu.
V tomto výukovém kurzu zjistíte, jak důležitý a náročný je výběr testu statistických hypotéz pro porovnání modelů strojového učení.
Po dokončení tohoto kurzu budete vědět:
- Testy statistických hypotéz mohou pomoci při porovnávání modelů strojového učení a výběru konečného modelu.
- Naivní použití testů statistických hypotéz může vést k zavádějícím výsledkům.
- Správné použití statistických testů je náročné a existuje určitá shoda pro použití McNemarova testu nebo křížové validace 5×2 s modifikovaným párovým Studentovým t-testem.
Nastartujte svůj projekt s mou novou knihou Statistics for Machine Learning, která obsahuje výukové programy krok za krokem a zdrojové soubory jazyka Python pro všechny příklady.
Začněme.
- Aktualizace říjen/2018:
Statistické testy významnosti pro porovnání algoritmů strojového učení
Foto: Fotografías de Javier, některá práva vyhrazena.
Přehled výuky
Tato výuka je rozdělena do 5 částí; jsou to:
- Problém výběru modelu
- Testy statistických hypotéz
- Problém výběru testu hypotéz
- Shrnutí některých zjištění
- Doporučení
Potřebujete pomoci se statistikou pro strojové učení?
Podstupte nyní můj bezplatný 7denní e-mailový rychlokurz (s ukázkovým kódem).
Klikněte pro registraci a získejte také bezplatnou verzi kurzu ve formátu PDF Ebook.
Stáhněte si svůj minikurz ZDARMA
Problém výběru modelu
Velkou součástí aplikovaného strojového učení je výběr modelu.
Můžeme jej popsat v nejjednodušší podobě:
Při vyhodnocení dvou metod strojového učení na souboru dat, který model vyberete?
Vybíráte model s nejlepší dovedností.
Tedy model, jehož odhadovaná dovednost při předpovídání na nezobrazených datech je nejlepší. V případě klasifikačních, respektive regresních problémů to může být maximální přesnost nebo minimální chyba.
Problémem při výběru modelu s nejlepší dovedností je určení, nakolik lze důvěřovat odhadované dovednosti jednotlivých modelů. Obecněji:
Je rozdíl v dovednostech mezi dvěma modely strojového učení skutečný, nebo je způsoben statistickou náhodou?
K řešení této otázky můžeme použít testování statistických hypotéz.
Testy statistických hypotéz
Obvykle test statistických hypotéz pro porovnání vzorků kvantifikuje, jak pravděpodobné je pozorování dvou vzorků dat za předpokladu, že vzorky mají stejné rozdělení.
Předpoklad statistického testu se nazývá nulová hypotéza a my můžeme vypočítat statistické míry a interpretovat je, abychom se rozhodli, zda nulovou hypotézu přijmout, nebo zamítnout.
V případě výběru modelů na základě jejich odhadované dovednosti nás zajímá, zda mezi oběma modely existuje skutečný nebo statisticky významný rozdíl.
- Pokud výsledek testu naznačuje, že neexistuje dostatečný důkaz pro zamítnutí nulové hypotézy, pak je jakýkoli pozorovaný rozdíl v dovednosti modelu pravděpodobně způsoben statistickou náhodou.
- Pokud výsledek testu naznačuje, že existuje dostatek důkazů pro zamítnutí nulové hypotézy, pak je jakýkoli pozorovaný rozdíl v dovednostech modelů pravděpodobně způsoben rozdílem v modelech.
Výsledky testu jsou pravděpodobnostní, což znamená, že je možné výsledek správně interpretovat a že výsledek může být chybný s chybou typu I nebo typu II. Stručně řečeno, jde o falešně pozitivní nebo falešně negativní nález.
Srovnávání modelů strojového učení prostřednictvím statistických testů významnosti klade určitá očekávání, která následně ovlivní typy statistických testů, které lze použít; například:
- Odhad dovednosti. Je třeba zvolit konkrétní míru dovednosti modelu. Může to být klasifikační přesnost (podíl) nebo střední absolutní chyba (souhrnná statistika), což omezí typ testů, které lze použít.
- Opakované odhady. K výpočtu statistiky je zapotřebí vzorek výsledků dovedností. Opakované trénování a testování daného modelu na stejných nebo jiných datech ovlivní typ testu, který lze použít.
- Rozdělení odhadů. Vzorek odhadů skóre dovedností bude mít nějaké rozdělení, možná Gaussovo, možná ne. To určí, zda lze použít parametrické nebo neparametrické testy.
- Centrální tendence. Modelové dovednosti budou často popsány a porovnány pomocí souhrnné statistiky, jako je průměr nebo medián, v závislosti na rozdělení výsledků dovedností. Test to může, ale nemusí přímo zohlednit.
Výsledkem statistického testu je často testová statistika a p-hodnota, které lze interpretovat a použít při prezentaci výsledků, aby se vyčíslila úroveň spolehlivosti nebo významnost rozdílu mezi modely. Díky tomu lze v rámci výběru modelu vznést silnější tvrzení než bez použití statistických testů hypotéz.
Pokud se použití statistických testů hypotéz jeví jako žádoucí součást výběru modelu, jak vybrat test, který je vhodný pro konkrétní případ použití?
Problém výběru testu hypotéz
Podívejme se na běžný příklad vyhodnocení a porovnání klasifikátorů pro problém vyvážené binární klasifikace.
Běžnou praxí je vyhodnocovat klasifikační metody pomocí klasifikační přesnosti, vyhodnocovat každý model pomocí desetinásobné křížové validace, předpokládat Gaussovo rozdělení pro vzorek deseti odhadů dovedností modelu a použít průměr tohoto vzorku jako souhrn dovedností modelu.
Mohli bychom požadovat, aby každý klasifikátor vyhodnocovaný tímto postupem byl vyhodnocen na přesně stejných rozděleních souboru dat pomocí desetinásobné křížové validace. Tím bychom získali vzorky shodných párových měření mezi dvěma klasifikátory, shodných proto, že každý klasifikátor byl vyhodnocen na stejných 10 testovacích sadách.
Mohli bychom pak vybrat a použít párový Studentův t-test k ověření, zda je rozdíl v průměrné přesnosti mezi oběma modely statisticky významný, např. zamítnout nulovou hypotézu, která předpokládá, že oba vzorky mají stejné rozdělení.
V podstatě se jedná o běžný způsob porovnávání klasifikátorů, přičemž tuto metodiku používají snad stovky publikovaných prací.
Problém je v tom, že byl porušen klíčový předpoklad párového Studentova t-testu.
A sice, že pozorování v každém vzorku nejsou nezávislá. V rámci postupu k-násobné křížové validace se dané pozorování použije v trénovacím souboru dat (k-1) krát. To znamená, že odhadovaná skóre dovedností jsou závislá, nikoli nezávislá, a v důsledku toho bude výpočet t-statistiky v testu zavádějící spolu s jakoukoli interpretací statistiky a p-hodnoty.
Toto pozorování vyžaduje pečlivé pochopení jak použité metody převzorkování, v tomto případě k-násobné křížové validace, tak očekávání zvoleného testu hypotéz, v tomto případě párového Studentova t-testu. Bez těchto podkladů se test jeví jako vhodný, výsledek se vypočítá a interpretuje a vše vypadá v pořádku.
Naneštěstí je výběr vhodného statistického testu hypotéz pro výběr modelu v aplikovaném strojovém učení náročnější, než se na první pohled zdá. Naštěstí existuje stále více výzkumů, které pomáhají poukázat na nedostatky naivních přístupů a navrhují opravy a alternativní metody.
Shrnutí některých poznatků
V této části se podíváme na některé výzkumy týkající se výběru vhodných statistických testů významnosti pro výběr modelu ve strojovém učení.
Použijeme McNemarův test nebo křížové ověření 5×2
Možná stěžejní prací na toto téma je článek Thomase Diettericha z roku 1998 s názvem „Approximate Statistical Tests for Comparing Supervised Classification Learning Algorithms“.
Jedná se o vynikající článek na toto téma, který doporučujeme přečíst. Zahrnuje nejprve skvělý rámec pro přemýšlení o bodech v průběhu projektu strojového učení, kdy může být požadován statistický test hypotéz, diskutuje očekávání ohledně běžných porušení statistických testů relevantních pro porovnávání metod strojového učení klasifikátorů a končí empirickým vyhodnocením metod pro potvrzení výsledků.
Tento článek podává přehled pěti přibližných statistických testů pro určení, zda jeden algoritmus učení překonává jiný v konkrétní úloze učení.
Těžištěm výběru a empirického hodnocení testů statistických hypotéz v článku je tato kalibrace chyby typu I neboli falešně pozitivních výsledků. To znamená výběr testu, který minimalizuje případ naznačování významného rozdílu, když žádný takový rozdíl neexistuje.
V článku je řada důležitých zjištění.
Prvním zjištěním je, že by se nikdy nemělo používat párového Studentova t-testu na výsledky dovednosti odhadnuté prostřednictvím náhodných opakovaných vzorků trénovacího souboru dat.
… můžeme s jistotou dojít k závěru, že t-test získaný z náhodných převzorků by se nikdy neměl používat.
Předpoklady párového t-testu jsou porušeny v případě náhodných převzorků a v případě k-násobné křížové validace (jak je uvedeno výše). Nicméně v případě k-násobného křížového ověřování bude t-test optimistický, což povede k vyšší chybě typu I, ale jen k mírné chybě typu II. To znamená, že tato kombinace by mohla být použita v případech, kdy je důležitější vyhnout se chybě typu II než podlehnout chybě typu I.
Desetinásobně křížově ověřený t-test má vysokou chybu typu I.
. Má však také vysokou sílu, a proto jej lze doporučit v případech, kdy je důležitější chyba typu II (nezjištění skutečného rozdílu mezi algoritmy).
Dietterich doporučuje McNemarův test statistických hypotéz v případech, kdy je k dispozici omezené množství dat a každý algoritmus lze vyhodnotit pouze jednou.
McNemarův test je podobný Chi-Squared testu a v tomto případě se používá ke zjištění, zda se rozdíl pozorovaných podílů v kontingenční tabulce algoritmu významně liší od očekávaných podílů. To je užitečné zjištění v případě velkých neuronových sítí s hlubokým učením, jejichž trénink může trvat dny nebo týdny.
Naše experimenty nás vedou k doporučení McNemarova testu, a to pro situace, kdy lze učící algoritmy spustit pouze jednou.
Dietterich také doporučuje metodu převzorkování, kterou sám vymyslel a která se nazývá 5×2 křížová validace a která zahrnuje 5 opakování 2násobné křížové validace.
Dvě složení jsou zvolena tak, aby bylo zajištěno, že se každé pozorování objeví pouze v souboru trénovacích nebo testovacích dat pro jeden odhad dovednosti modelu. Na výsledky se použije párový Studentův t-test, aktualizovaný tak, aby lépe odrážel omezené stupně volnosti vzhledem k závislosti mezi odhadovanými skóre dovedností.
Naše experimenty nás vedou k doporučení 5×2cv t testu, a to pro situace, kdy jsou učící se algoritmy dostatečně efektivní, aby je bylo možné spustit desetkrát
Opřesnění křížové validace 5×2
Použití buď McNemarova testu, nebo křížové validace 5×2 se stalo základním doporučením po většinu 20 let od zveřejnění článku.
Přesto byla provedena další vylepšení, která lépe korigují párový Studentův t-test na porušení předpokladu nezávislosti z opakované k-násobné křížové validace.
Dvě důležité práce z mnoha zahrnují:
Claude Nadeau a Yoshua Bengio navrhují další korekci ve své práci z roku 2003 nazvané „Inference pro chybu zobecnění“. Je to hutný článek a nedoporučuje se pro slabé povahy.
Tato analýza nám umožnila zkonstruovat dva odhady rozptylu, které berou v úvahu jak variabilitu způsobenou výběrem trénovacích množin, tak výběrem testovacích příkladů. Jeden z navržených odhadů vypadá podobně jako metoda cv (Dietterich, 1998) a je speciálně navržen tak, aby nadhodnocoval rozptyl a poskytoval konzervativní závěry.
Remco Bouckaert a Eibe Frank ve svém článku z roku 2004 nazvaném „Evaluating the Replicability of Significance Tests for Comparing Learning Algorithms“ zastávají jiný pohled a považují schopnost replikovat výsledky za důležitější než chyby typu I nebo typu II.
V tomto článku tvrdíme, že replikovatelnost testu je také důležitá. Říkáme, že test má nízkou replikovatelnost, pokud jeho výsledek silně závisí na konkrétním náhodném rozdělení dat, které je použito k jeho provedení
Překvapivě doporučují k dosažení dobré replikovatelnosti použít buď 100 běhů náhodného převzorkování, nebo 10×10násobnou křížovou validaci s Nadeauovou a Bengio korekcí na párový Student-t test.
Druhý z uvedených přístupů doporučují ve své knize Ian Witten a Eibe Frank a ve své open-source platformě pro dolování dat Weka, přičemž Nadeauovu a Bengio korekci označují jako „korigovaný převzorkovaný t-test“.
K obejití tohoto problému byly navrženy různé modifikace standardního t-testu, všechny heuristické a bez solidního teoretického zdůvodnění. Jedním z nich, který se v praxi osvědčil, je t-test s opraveným vzorkováním. Stejnou upravenou statistiku lze použít při opakované křížové validaci, což je jen zvláštní případ opakovaného vyčkávání, kdy se jednotlivé testovací množiny pro jednu křížovou validaci nepřekrývají.
– Strana 159, kapitola 5, Důvěryhodnost: Vyhodnocování získaných poznatků, Data Mining: Practical Machine Learning Tools and Techniques, Third Edition, 2011.
Doporučení
Při výběru testu statistické významnosti pro výběr modelu v aplikovaném strojovém učení neexistují žádné stříbrné náboje.
Podívejme se na pět přístupů, které můžete použít ve svém projektu strojového učení pro porovnání klasifikátorů.
Nezávislé vzorky dat
Pokud máte téměř neomezené množství dat, shromážděte k oddělených souborů trénovacích a testovacích dat a vypočítejte 10 skutečně nezávislých výsledků dovedností pro každou metodu.
Poté můžete správně použít párový Studentův t-test. To je velmi nepravděpodobné, protože často pracujeme s malými vzorky dat.
… předpoklad, že existuje v podstatě neomezený počet dat, takže lze použít několik nezávislých souborů dat správné velikosti. V praxi obvykle existuje pouze jeden soubor dat omezené velikosti. Co lze dělat?“
– Strana 158, kapitola 5, Důvěryhodnost: Evaluating What’s Been Learned, Data Mining: Practical Machine Learning Tools and Techniques, Third Edition, 2011.
Přijměte problematiku 10násobného CV
Lze použít naivní 10násobnou křížovou validaci s nemodifikovaným párovým Studentovým t-testem.
Má dobrou opakovatelnost ve srovnání s jinými metodami a mírnou chybu typu II, ale je známo, že má vysokou chybu typu I.
Experimenty také doporučují opatrnost při interpretaci výsledků 10násobně křížově validovaného t-testu. Tento test má zvýšenou pravděpodobnost chyby typu I (až dvojnásobek cílové úrovně), i když není zdaleka tak závažná jako problém s převzorkovaným t testem.
– Approximate Statistical Tests for Comparing Supervised Classification Learning Algorithms, 1998.
Je to možnost, ale je velmi slabě doporučována.
Použijte McNemarův test nebo 5×2 CV
Dvě desetiletí trvající doporučení McNemarova testu pro výsledky přesnosti klasifikace v jednom cyklu a 5×2násobné křížové validace s modifikovaným párovým Studentovým t-testem obecně platí.
Dále lze použít Nadeauovu a Bengiovu další korekci testové statistiky s 5×2násobnou křížovou validací nebo 10×10násobnou křížovou validací, jak doporučují vývojáři programu Weka.
Problémem při použití modifikované t-statistiky je, že neexistuje hotová implementace (např. v programu SciPy), což vyžaduje použití kódu třetích stran a s tím spojená rizika. Možná ji budete muset implementovat sami.
Důležitým hlediskem je dostupnost a složitost zvolené statistické metody, což dobře řekli Gitte Vanwinckelen a Hendrik Blockeel ve svém článku z roku 2012 s názvem „On Estimating Model Accuracy with Repeated Cross-Validation“:
Ačkoli jsou tyto metody pečlivě navrženy a ukazuje se, že v mnoha ohledech zlepšují předchozí metody, trpí stejným rizikem jako předchozí metody, totiž že čím složitější metoda je, tím vyšší je riziko, že ji výzkumníci použijí nesprávně nebo že budou výsledek nesprávně interpretovat.
Příklad použití McNemarova testu uvádím zde:
- Jak vypočítat McNemarův test pro porovnání dvou klasifikátorů strojového učení
Použijte neparametrický párový test
Můžeme použít neparametrický test, který má méně předpokladů, například nepředpokládá, že rozdělení skóre dovedností je Gaussovo.
Jedním z příkladů je Wilcoxonův signed-rank test, což je neparametrická verze párového Studentova t-testu. Tento test má menší statistickou sílu než párový t-test, i když větší sílu, pokud jsou porušena očekávání t-testu, například nezávislost.
Tento test statistických hypotéz doporučuje pro porovnávání algoritmů různých souborů dat Janez Demsar ve svém článku „Statistical Comparisons of Classifiers over Multiple Data Sets“ z roku 2006.
Doporučujeme proto použít Wilcoxonův test, pokud nejsou splněny předpoklady t-testu, a to buď proto, že máme mnoho datových sad, nebo proto, že máme důvody se domnívat, že míra výkonnosti napříč datovými sadami je rozdělena normálně.
Ačkoli je test neparametrický, stále předpokládá, že pozorování v rámci každého vzorku jsou nezávislá (např. iid), a použití k-násobné křížové validace by vytvořilo závislé vzorky a tento předpoklad by porušilo.
Místo toho použijte statistiku odhadu
Místo testů statistických hypotéz lze vypočítat statistiku odhadu, například intervaly spolehlivosti. Ty by trpěly podobnými problémy, kdy je porušen předpoklad nezávislosti vzhledem k metodám převzorkování, kterými jsou modely vyhodnocovány.
Tom Mitchell ve své knize z roku 1997 uvádí podobné doporučení a navrhuje brát výsledky testů statistických hypotéz jako heuristické odhady a hledat intervaly spolehlivosti kolem odhadů dovedností modelu:
Shrneme-li to, žádný jednotlivý postup pro porovnání metod učení na základě omezených dat nesplňuje všechna omezení, která bychom chtěli. Je moudré mít na paměti, že statistické modely zřídkakdy dokonale vyhovují praktickým omezením při testování algoritmů učení, když jsou k dispozici omezená data. Nicméně poskytují přibližné intervaly spolehlivosti, které mohou být velmi užitečné při interpretaci experimentálních srovnání metod učení.
– Strana 150, Kapitola 5, Vyhodnocování hypotéz, Strojové učení, 1997.
Statistické metody, jako je bootstrap, lze použít k výpočtu obhajitelných neparametrických intervalů spolehlivosti, které lze použít jak k prezentaci výsledků, tak k porovnání klasifikátorů. Jedná se o jednoduchý a účinný přístup, ke kterému se můžete kdykoli vrátit a který obecně doporučuji.
Ve skutečnosti se intervalům spolehlivosti dostalo nejvíce teoretických studií ze všech témat v oblasti bootstrapu.
– Strana 321, An Introduction to the Bootstrap, 1994.
Rozšíření
Tato část uvádí několik nápadů na rozšíření učebnice, které můžete chtít prozkoumat.
- Najděte a uveďte tři výzkumné práce, které nesprávně používají nemodifikovaný párový Studentův t-test pro porovnání a výběr modelu strojového učení.
- Shrňte rámec pro použití statistických testů hypotéz v projektu strojového učení uvedený v článku Thomase Diettericha z roku 1998.
- Najděte a uveďte tři výzkumné práce, které správně používají McNemarův test nebo 5×2 Cross-Validation pro porovnání a výběr modelu strojového učení.
Pokud prozkoumáte některé z těchto rozšíření, budu rád, když mi dáte vědět.
Další četba
Tato část obsahuje další zdroje k tématu, pokud chcete jít hlouběji.
Práce
- Approximate Statistical Tests for Comparing Supervised Classification Learning Algorithms, 1998.
- Inference for the Generalization Error, 2003.
- Evaluating Replicability of Significance Tests for Comparing Learning Algorithms, 2004.
- On estimating model accuracy with repeated cross-validation, 2012.
- Statistické porovnání klasifikátorů nad více soubory dat, 2006.
Knihy
- Kapitola 5, Vyhodnocování hypotéz, Strojové učení, 1997.
- Kapitola 5, Důvěryhodnost: Evaluating What’s Been Learned, Data Mining: Praktické nástroje a techniky strojového učení, třetí vydání, 2011.
- An Introduction to the Bootstrap, 1994.
Články
- Studentův t-test na Wikipedii
- Křížová validace (statistika) na Wikipedii
- McNemarův test na Wikipedii
- Wilcoxonův signed-rank test na Wikipedii
Diskuse
- Pro výběr/porovnání modelů, Jaký druh testu mám použít?
- Jak provést testování hypotéz pro porovnání různých klasifikátorů
- Metodika Wilcoxonova rank sum testu
- Jak se rozhodnout mezi t-testem nebo neparametrickým testem, např. Wilcoxonovým v malých vzorcích
Shrnutí
V tomto tutoriálu jste objevili důležitost a náročnost výběru statistického testu hypotéz pro porovnávání modelů strojového učení.
Konkrétně jste se dozvěděli:
- Testy statistických hypotéz mohou pomoci při porovnávání modelů strojového učení a výběru konečného modelu.
- Naivní použití testů statistických hypotéz může vést k zavádějícím výsledkům.
- Správné použití statistických testů je náročné a existuje určitá shoda pro použití McNemarova testu nebo křížové validace 5×2 s modifikovaným párovým Studentovým t-testem.
Máte nějaké otázky?
Pokládejte je v komentářích níže a já se budu snažit odpovědět.
Získejte přehled o statistice pro strojové učení!
Rozvíjejte pracovní znalosti statistiky
…psaním řádků kódu v Pythonu
Objevte, jak na to v mé nové knize Ebook:
Statistické metody pro strojové učení
Nabízí samostudijní návody na témata jako:
Testy hypotéz, korelace, neparametrická statistika, převzorkování a mnoho dalšího…
Objevte, jak přeměnit data na znalosti
Zbavte se akademické práce. Stačí výsledky.
Podívejte se, co je uvnitř
.