Jaké jsou výhody ansámblových metod strojového učení?
Ensámbly jsou prediktivní modely, které kombinují předpovědi ze dvou nebo více jiných modelů.
Ensámblové metody učení jsou oblíbené a používají se v případech, kdy je nejdůležitějším výsledkem projektu prediktivního modelování co nejlepší výkon.
Přesto nejsou vždy nejvhodnější technikou k použití a začátečníci v oblasti aplikovaného strojového učení mají očekávání, že ansámbly nebo konkrétní metoda ansámblu jsou vždy tou nejlepší metodou k použití.
Ensámbly nabízejí dvě konkrétní výhody na projektu prediktivního modelování a je důležité vědět, jaké jsou tyto výhody a jak je měřit, abyste se ujistili, že použití ansámblu je na vašem projektu správným rozhodnutím.
In this tutorial, you will discover the benefits of using ensemble methods for machine learning.
After reading this tutorial, you will know:
- A minimum benefit of using ensembles is to reduce the spread in the average skill of a predictive model.
- A key benefit of using ensembles is to improve the average prediction performance over any contributing member in the ensemble.
- The mechanism for improved performance with ensembles is often the reduction in the variance component of prediction errors made by the contributing models.
Let’s get started.
Why Use Ensemble Learning
Photo by Juan Antonio Segal, some rights reseved.
Tutorial Overview
This tutorial is divided into four parts; they are:
- Ensemblové učení
- Použití ansámblů ke zlepšení robustnosti
- Předpojatost, rozptyl a ansámbly
- Použití ansámblů ke zlepšení výkonu
Ensemblové učení
Ansámbl je model strojového učení, který kombinuje předpovědi dvou nebo více modelů.
Modely, které přispívají do ansámblu, označované jako členové ansámblu, mohou být stejného typu nebo různých typů a mohou, ale nemusí být natrénovány na stejných trénovacích datech.
Předpovědi provedené členy ansámblu lze kombinovat pomocí statistik, jako je modus nebo průměr, nebo pomocí sofistikovanějších metod, které se učí, jak moc a za jakých podmínek věřit každému členu.
Studium ansámblových metod se skutečně rozmohlo v 90. letech 20. století a v tomto desetiletí byly publikovány práce o nejoblíbenějších a nejpoužívanějších metodách, jako jsou metody core bagging, boosting a stacking.
Na konci roku 2000 se přijetí ansámblů zvedlo částečně díky jejich obrovskému úspěchu v soutěžích strojového učení, jako je cena Netflixu a později soutěže na Kaggle.
V posledních několika desetiletích se v komunitě zabývající se výpočetní inteligencí a strojovým učením těší rostoucí pozornosti systémy s více klasifikátory, nazývané také ansámblové systémy.
– Strana 1, Ensemble Machine Learning, 2012.
Ensámblové metody výrazně zvyšují výpočetní náklady a složitost. Toto zvýšení vyplývá z odborných znalostí a času potřebného k trénování a údržbě více modelů namísto jednoho modelu. To si vynucuje otázku:
- Proč bychom měli uvažovat o použití ansámblu?
Existují dva hlavní důvody pro použití ansámblu oproti jednomu modelu, které spolu souvisejí; jsou to:
- Výkon: Ansámbl může provádět lepší předpovědi a dosahovat lepšího výkonu než jakýkoli jednotlivý přispívající model.
- Robustnost: Ansámbl snižuje rozptyl nebo rozptyl předpovědí a výkonnosti modelu.
Ansámbly se používají k dosažení lepší predikční výkonnosti v problému predikčního modelování než jediný predikční model. Způsob, jakým je toho dosaženo, lze chápat tak, že model snižuje rozptylovou složku chyby předpovědi přidáním zkreslení (tj. v kontextu kompromisu mezi zkreslením a rozptylem).
Původně byl vyvinut za účelem snížení rozptylu – tedy zlepšení přesnosti automatizovaného rozhodovacího systému…
– Strana 1, Ensemble Machine Learning, 2012.
Dalším důležitým a méně diskutovaným přínosem ansámblových metod je lepší robustnost nebo spolehlivost průměrného výkonu modelu.
Obě tyto vlastnosti jsou v projektu strojového učení důležité a někdy můžeme od modelu preferovat jednu nebo obě vlastnosti.
Podívejme se na tyto dvě vlastnosti blíže, abychom lépe pochopili výhody použití ansámblového učení na projektu.
Použití ansámblů ke zvýšení robustnosti
Na projektu prediktivního modelování často vyhodnocujeme více modelů nebo modelovacích potrubí a jako finální model vybereme ten, který funguje dobře nebo nejlépe.
Algoritmus nebo pipeline se poté napasuje na všechna dostupná data a použije se k předpovědím na nových datech.
O tom, jak dobře bude model v průměru fungovat, máme představu z našeho testovacího souboru, který se obvykle odhaduje pomocí opakované k-násobné křížové validace jako zlatého standardu. Problém je, že průměrný výkon nemusí být dostačující.
Průměrná přesnost nebo chyba modelu je shrnutím očekávaného výkonu, když ve skutečnosti některé modely fungovaly lépe a některé hůře na různých podmnožinách dat.
Standardní odchylka je průměrný rozdíl mezi pozorováním a průměrem a shrnuje rozptyl nebo rozpětí dat. V případě míry přesnosti nebo chybovosti modelu vám může poskytnout představu o rozptylu chování modelu.
Pohled na minimální a maximální skóre výkonnosti modelu vám poskytne představu o nejhorším a nejlepším výkonu, který můžete od modelu očekávat a který nemusí být pro vaši aplikaci přijatelný.
Nejjednodušší sestava spočívá v několikanásobném fitování modelu na trénovací množiny dat a kombinování předpovědí pomocí souhrnné statistiky, jako je průměr pro regresi nebo modus pro klasifikaci. Důležité je, že každý model se musí mírně lišit v důsledku stochastického algoritmu učení, rozdílů ve složení trénovacího souboru dat nebo rozdílů v samotném modelu.
Tím se sníží rozptyl v předpovědích provedených modelem. Průměrný výkon bude pravděpodobně přibližně stejný, ačkoli nejhorší a nejlepší případy se přiblíží k průměrnému výkonu.
V důsledku toho se vyhladí očekávaný výkon modelu.
To můžeme označit jako „robustnost“ v očekávaném výkonu modelu a je to minimální přínos použití metody ansámblu.
Ansámbl může, ale nemusí zlepšit výkon modelování oproti kterémukoli jednotlivému přispívajícímu členu, o čemž bude pojednáno dále, ale minimálně by měl snížit rozpětí v průměrném výkonu modelu.
Více informací o tomto tématu naleznete v tutoriálu:
- Jak snížit rozptyl v konečném modelu strojového učení
Předpojatost, rozptyl a ansámbly
Modely strojového učení pro klasifikaci a regresi se učí funkci mapování ze vstupů na výstupy.
Toto mapování se učí z příkladů z problémové oblasti, trénovacího souboru dat, a vyhodnocuje se na datech nepoužitých při trénování, testovacím souboru dat.
Chyby, kterých se model strojového učení dopouští, se často popisují pomocí dvou vlastností: zkreslení (bias) a rozptylu (variance).
Zkreslení je mírou toho, jak blízko dokáže model zachytit mapovací funkci mezi vstupy a výstupy. Zachycuje rigiditu modelu: sílu předpokladu, který má model o funkční formě mapování mezi vstupy a výstupy.
Rozptyl modelu je míra, o kterou se mění výkonnost modelu při jeho přizpůsobení různým trénovacím datům. Zachycuje, jaký vliv mají specifika dat na model.
Variance označuje částku, o kterou by se změnila, kdybychom ji odhadli pomocí jiného souboru trénovacích dat.
– Strana 34, Úvod do statistického učení s aplikacemi v R, 2014.
Zkreslení a rozptyl výkonu modelu spolu souvisejí.
Ideálně bychom preferovali model s nízkým zkreslením a nízkým rozptylem, i když v praxi je to velmi náročné. Ve skutečnosti by se to dalo označit za cíl aplikovaného strojového učení pro daný problém prediktivního modelování.
Snížení vychýlení lze často snadno dosáhnout zvýšením rozptylu. A naopak, snížení rozptylu lze snadno dosáhnout zvýšením zkreslení.
Toto se označuje jako kompromis, protože je snadné získat metodu s extrémně nízkým zkreslením, ale vysokým rozptylem, nebo metodu s velmi nízkým rozptylem, ale vysokým zkreslením…
– Strana 36, Úvod do statistického učení s aplikacemi v R, 2014.
Některé modely mají přirozeně vysoké zkreslení nebo vysoký rozptyl, což lze často zmírnit nebo zvýšit pomocí hyperparametrů, které mění chování algoritmu při učení.
Ensembly poskytují způsob, jak snížit rozptyl předpovědí; to znamená množství chyb v provedených předpovědích, které lze připsat „rozptylu.“
Ne vždy tomu tak je, ale pokud ano, vede toto snížení rozptylu naopak ke zlepšení prediktivního výkonu.
Empirické a teoretické důkazy ukazují, že některé techniky souborů (např. bagging) fungují jako mechanismus snižování rozptylu, tj, snižují rozptylovou složku chyby. Empirické výsledky navíc naznačují, že jiné ansámblové techniky (například AdaBoost) snižují jak odchylkovou, tak rozptylovou část chyby.
– Strana 39, Klasifikace vzorů pomocí ansámblových metod, 2010.
Použití ansámblů ke snížení rozptylových vlastností chyb predikce vede ke klíčovému přínosu používání ansámblů na prvním místě: ke zlepšení predikčního výkonu.
Použití ansámblů ke zlepšení výkonnosti
Snížení rozptylového prvku chyby predikce zlepšuje predikční výkonnost.
Učení pomocí ansámblů explicitně používáme k hledání lepší predikční výkonnosti, například nižší chyby u regrese nebo vysoké přesnosti u klasifikace.
… existuje způsob, jak zlepšit přesnost modelů, který je jednodušší a výkonnější než uvážlivý výběr algoritmů: lze shromažďovat modely do ansámblů.
– Strana 2, Ensemble Methods in Data Mining, 2010.
To je primární využití metod učení pomocí ansámblů a přínos, který se projevuje používáním ansámblů většinou vítězů soutěží strojového učení, jako je cena Netflixu a soutěže na Kaggle.
V soutěži o cenu Netflixu probíhala dva roky soutěž, v níž první tým, který předložil model zlepšující interní doporučovací systém Netflixu o 10 %, získal 1 000 000 USD. konečná výhoda byla získána vážením příspěvků modelů až 30 soutěžících.
– Strana 8, Ensemble Methods in Data Mining, 2010.
Tento přínos byl prokázán také u akademických soutěží, například u špičkových řešení slavné datové sady ImageNet v oblasti počítačového vidění.
Ansembler těchto zbytkových sítí dosahuje na testovací sadě ImageNet chyby 3,57 %. Tento výsledek získal 1. místo v klasifikační úloze ILSVRC 2015.
– Deep Residual Learning for Image Recognition, 2015.
Při takovém použití by měl být ansámbl přijat pouze tehdy, pokud dosahuje v průměru lepších výsledků než kterýkoli přispívající člen ansámblu. Pokud tomu tak není, měl by být místo něj použit přispívající člen, který dosahuje lepších výsledků.
Při zvažování „robustnosti“, kterou ansámbl nabízí, zvažte rozložení očekávaných skóre vypočtených modelem na testovacím svazku, například při opakované k-násobné křížové validaci, jak jsme učinili výše. Ansámbl, který sníží rozptyl chyb, ve skutečnosti toto rozdělení spíše posune, než aby pouze zmenšil jeho rozptyl.
To může vést k lepšímu průměrnému výkonu ve srovnání s jakýmkoli jednotlivým modelem.
Ne vždy tomu tak je a mít toto očekávání je častou chybou začátečníků.
Je možné, a dokonce běžné, že výkon ansámblu není lepší než výkon nejlepšího člena ansámblu. K tomu může dojít, pokud má soubor jeden nejvýkonnější model a ostatní členové nepřinášejí žádný užitek nebo soubor není schopen jejich přínos efektivně využít.
Je také možné, že soubor dosáhne horšího výkonu než nejvýkonnější člen souboru. I to je běžné každý obvykle zahrnuje jeden nejvýkonnější model, jehož předpovědi jsou zhoršeny jedním nebo více špatně výkonnými ostatními modely a ansámbl není schopen efektivně využít jejich přínosu.
Proto je důležité testovat sadu metod ansámblu a ladit jejich chování, stejně jako to děláme u každého jednotlivého modelu strojového učení.
Další čtení
Tato část obsahuje další zdroje k tématu, pokud chcete jít hlouběji.
Related Tutorials
- How to Reduce Variance in a Final Machine Learning Model
- How to Develop a Horizontal Voting Deep Learning Ensemble to Reduce Variance
Books
- Pattern Classification Using Ensemble Methods, 2010.
- Ensemble Methods, 2012.
- Ensemble Machine Learning, 2012.
- Ensemble Methods in Data Mining, 2010.
Articles
- Ensemble learning, Wikipedia.
- Ensemble learning, Scholarpedia.
Summary
In this post, you discovered the benefits of using ensemble methods for machine learning.
Konkrétně jste se dozvěděli:
- Minimálním přínosem používání ansámblů je snížení rozptylu průměrné dovednosti predikčního modelu.
- Klíčovým přínosem používání ansámblů je zlepšení průměrné výkonnosti predikce u každého přispívajícího člena v ansámblu.
- Mchanismem zlepšení výkonnosti pomocí ansámblů je často snížení rozptylové složky chyb predikce, které přispívající modely dělají.