Connect with us

AI 101

Co je Ensemble Learning?

mm

Jednou z nejvýkonnějších technik strojového učení je ensemble learning. Ensemble learning je použití více modelů strojového učení ke zlepšení spolehlivosti a přesnosti předpovědí. Ale jak použití více modelů strojového učení vede k přesnějším předpovědím? Jaké techniky se používají k vytvoření modelů ensemble learning? Prozkoumáme odpovědi na tyto otázky, přičemž se podíváme na důvody, proč se používají modely ensemble, a na primární způsoby, jak vytvářet modely ensemble.

Co je Ensemble Learning?

Jednoduše řečeno, ensemble learning je proces školení více modelů strojového učení a kombinování jejich výstupů. Různé modely se používají jako základ pro vytvoření jednoho optimálního predikčního modelu. Kombinace rozmanité sady jednotlivých modelů strojového učení může zlepšit stabilitu celkového modelu, což vede k přesnějším předpovědím. Modely ensemble learning jsou často spolehlivější než jednotlivé modely a jako výsledek často zaujímají první místo v mnoha soutěžích strojového učení.

Existují různé techniky, které může inženýr použít k vytvoření modelu ensemble learning. Jednoduché techniky ensemble learning zahrnují věci jako průměrování výstupů různých modelů, zatímco existují i složitější metody a algoritmy vyvinuté speciálně pro kombinování předpovědí mnoha základních modelů.

Proč používat metody Ensemble Training?

Modely strojového učení se mohou lišit z různých důvodů. Různé modely strojového učení mohou fungovat na různých vzorcích dat populace, mohou být použity různé modelovací techniky a může být použita jiná hypotéza.

Představte si, že hrajete znalostní hru s velkou skupinou lidí. Pokud jste sami, jistě budou některé téma, o kterých máte znalosti, a mnoho témat, o kterých nemáte žádné znalosti. Teď předpokládejme, že hrajete v týmu s ostatními lidmi. Stejně jako vy budou mít oni některé znalosti o svých vlastních specializacích a žádné znalosti o jiných tématech. Ale když se vaše znalosti kombinují, máte přesnější odhady pro více oblastí a počet témat, o kterých váš tým nemá žádné znalosti, se zmenšuje. Toto je stejný princip, který stojí za ensemble learning, kombinováním předpovědí různých členů týmu (jednotlivých modelů) ke zlepšení přesnosti a minimalizaci chyb.

Statistici prokázali, že když je skupina lidí požádána, aby uhádla správnou odpověď na danou otázku s rozsahem možných odpovědí, všechny jejich odpovědi tvoří distribuci pravděpodobnosti. Lidé, kteří skutečně znají správnou odpověď, si zvolí správnou odpověď s jistotou, zatímco lidé, kteří zvolí nesprávné odpovědi, rozloží své tipy napříč rozsahem možných nesprávných odpovědí. Když se vrátíme k příkladu znalostní hry, pokud vy a vaši dva přátelé víte, že správná odpověď je A, všichni tři budete hlasovat pro A, zatímco tři další lidé ve vašem týmu, kteří neví odpověď, pravděpodobně chybně uhádnou B, C, D nebo E. Výsledek je, že A má tři hlasy a ostatní odpovědi pravděpodobně budou mít pouze jeden nebo dva hlasy maximum.

Všechny modely mají určitou chybu. Chyby jednoho modelu se budou lišit od chyb vyprodukovaných jiným modelem, protože modely samy o sobě se liší z výše uvedených důvodů. Když se všechny chyby prozkoumají, nebudou seskupeny kolem jedné odpovědi nebo druhé, ale budou rozptýleny. Nesprávné tipy jsou vlastně rozloženy napříč všemi možnými nesprávnými odpověďmi, což je ruší. Mezitím správné tipy z různých modelů budou seskupeny kolem skutečné, správné odpovědi. Když se používají metody ensemble training, správná odpověď lze nalézt s větší spolehlivostí.

Jednoduché metody Ensemble Training

Jednoduché metody ensemble training obvykle pouze涉ují aplikaci statistických souhrnných technik, jako je určení modu, průměru nebo váženého průměru sady předpovědí.

Modus se týká nejčastěji se vyskytujícího prvku v sadě čísel. Chcete-li získat modus, jednotlivé modely učení vrátí své předpovědi a tyto předpovědi se považují za hlasy pro konečnou předpověď. Určení průměru předpovědí se provádí jednoduše výpočtem aritmetického průměru předpovědí, zaokrouhleného na nejbližší celé číslo. Nakonec lze vypočítat vážený průměr přiřazením různých vah modelům, které se používají k vytváření předpovědí, přičemž váhy reprezentují vnímanou důležitost modelu. Číselná reprezentace třídy předpovědi se vynásobí váhou od 0 do 1,0, jednotlivé vážené předpovědi se poté sečtou a výsledek se zaokrouhlí na nejbližší celé číslo.

Pokročilé metody Ensemble Training

Existují tři primární pokročilé techniky ensemble training, z nichž každá je navržena pro řešení specifického typu problému strojového učení. „Bagging“ techniky se používají ke snížení variability předpovědí modelu, přičemž variabilita se týká toho, jak se liší výsledek předpovědí, když je založen na stejném pozorování. „Boosting“ techniky se používají k boji proti zkreslení modelů. Nakonec „stacking“ se používá ke zlepšení předpovědí obecně.

Metody ensemble learning samy o sobě lze obecně rozdělit do jedné ze dvou různých skupin: sekvenční metody a paralelní metody ensemble.

Sekvenční metody ensemble získávají název „sekvenční“, protože základní modely se generují sekvenčně. V případě sekvenčních metod je základní myšlenka, že se využívá závislost mezi základními modely, aby se získaly přesnější předpovědi. Špatně označené příklady mají své váhy upraveny, zatímco správně označené příklady udržují stejné váhy. Každý nový učenec generuje změny ve váhách a přesnost (doufáme) se zlepšuje.

Na rozdíl od sekvenčních modelů ensemble generují paralelní metody základní modely paralelně. Při provádění paralelního ensemble učení je myšlenka využít fakt, že základní modely jsou nezávislé, protože celková chybovost lze snížit průměrováním předpovědí jednotlivých učenců.

Metody ensemble training mohou být buď homogenní nebo heterogenní povahy. Většina metod ensemble learning je homogenní, což znamená, že používají jeden typ základního modelu/algoritmu učení. Naopak heterogenní ensemblí používají různé algoritmy učení, diverzifikují a mění učence, aby zajistily, že přesnost je co nejvyšší.

Příklady algoritmů Ensemble Learning

Vizualizace ensemble boosting. Photo: Sirakorn via Wikimedia Commons, CC BY SA 4.0, (https://commons.wikimedia.org/wiki/File:Ensemble_Boosting.svg)

Příklady sekvenčních metod ensemble zahrnují AdaBoost, XGBoost a Gradient tree boosting. Tyto jsou všechny boosting modely. Pro tyto boosting modely je cílem převést slabé, podprůměrné učence na silnější učence. Modely jako AdaBoost a XGBoost začínají s mnoha slabými učenci, kteří fungují jen slightly lépe než náhodné tipy. Jakmile se trénink dokončí, váhy se aplikují na data a upraví. Případy, které byly nesprávně klasifikovány učenci v předchozích kolech tréninku, získají více váhy. Po opakování tohoto procesu pro požadovaný počet tréninkových kol se předpovědi spojí prostřednictvím váženého součtu (pro regresní úkoly) a váženého hlasu (pro klasifikační úkoly).

Proces učení bagging. Photo: SeattleDataGuy via Wikimedia Commons, CC BY SA 4.0 (https://commons.wikimedia.org/wiki/File:Bagging.png)

Příkladem paralelního modelu ensemble je Random Forest klasifikátor, a Random Forests je také příkladem techniky bagging. Termín „bagging“ pochází z „bootstrap agregace“. Vzorky se berou z celkové datové sady pomocí vzorkovací techniky nazývané „bootstrap sampling“, které se používají základními modely k vytváření předpovědí. Pro klasifikační úkoly se výstupy základních modelů agregují pomocí hlasování, zatímco se průměrují pro regresní úkoly. Random Forests používá jednotlivé rozhodovací stromy jako své základní modely, a každý strom v ensemblí se vytváří pomocí různých vzorků z datové sady. Použije se také náhodný podmnožina funkcí k vygenerování stromu. To vede k vysoce náhodným jednotlivým rozhodovacím stromům, které se všechny kombinují, aby poskytly spolehlivé předpovědi.

Vizualizace ensemble stacking. Photo: Supun Setunga via Wikimedia Commons, CC BY S.A 4.0 (https://commons.wikimedia.org/wiki/File:Stacking.png)

Co se týče technik ensemble stacking, kombinuje se více regresních nebo klasifikačních modelů prostřednictvím vyšší úrovně, meta-modelu. Nižší úroveň, základní modely se školí tak, že se jim poskytne celá datová sada. Výstupy základních modelů se poté použijí jako funkce k tréninku meta-modelu. Modely ensemble stacking jsou často heterogenní povahy.

//www.unite.ai/what-is-machine-learning/">Machine Learning a Deep Learning. Daniel doufá, že pomůže ostatním využít sílu AI pro společenské dobro.