Základy AI
Co je Ensemble Learning?
Jednou z nejmocnějších technik strojového učení je ensemble learning. Ensemble learning je použití více modelů strojového učení pro 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í pro vytvoření modelů ensemble learning? Prozkoumáme odpovědi na tyto otázky, přičemž se podíváme na důvody pro použití ensemble modelů a hlavní způsoby jejich vytváření.
Co je Ensemble Learning?
Jednoduše řečeno, ensemble learning je proces školení více modelů strojového učení a kombinace 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 celého modelu, což vede k přesnějším předpovědím. Modely ensemble learning jsou často spolehlivější než jednotlivé modely a č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 pro 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í také komplexnější metody a algoritmy, které jsou speciálně vyvinuty pro kombinování předpovědí mnoha základních modelů.
Proč používat metody školení ensemble?
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 populaci dat, 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 v týmu sami, budou určitě 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 znalosti o svých vlastních specializacích a nebudou mít žá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ý je základem ensemble learning, kombinace předpovědí různých členů týmu (jednotlivých modelů) pro zlepšení přesnosti a minimalizaci chyb.
Statistici prokázali, že když je skupina lidí požádána o odhadnutí správné odpovědi na otázku s rozsahem možných odpovědí, všechny jejich odpovědi tvoří pravděpodobnostní distribuci. Lidé, kteří skutečně znají správnou odpověď, zvolí správnou odpověď s jistotou, zatímco lidé, kteří zvolí nesprávné odpovědi, rozdělí své odhady napříč rozsahem možných nesprávných odpovědí. Pokud 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 ostatní lidé ve vašem týmu, kteří neví správnou odpověď, pravděpodobně zvolí nesprávné odpovědi B, C, D nebo E. Výsledkem je, že A má tři hlasy a ostatní odpovědi pravděpodobně budou mít pouze jeden nebo dva hlasy.
Všechny modely mají určitou míru chyby. Chyby jednoho modelu budou odlišné od chyb vygenerovaných jiným modelem, protože modely samy o sobě jsou odlišné z důvodů uvedených výše. Když se všechny chyby prozkoumají, nebudou se shlukovat kolem jedné odpovědi nebo jiné, ale budou rozptýleny. Nesprávné odhady jsou vlastně rozloženy napříč všemi možnými nesprávnými odpověďmi, což je ruší. Mezitím budou správné odhady z různých modelů shlukovány kolem skutečné, správné odpovědi. Když se používají metody školení ensemble, správná odpověď může být nalezena s větší spolehlivostí.
Jednoduché metody školení ensemble
Jednoduché metody školení ensemble obvykle pouze涉ují použití statistických metod shrnutí, 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. Pro určení modu vrátí jednotlivé modely strojového učení 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í pro vytvoření předpovědí, přičemž váhy reprezentují vnímanou důležitost tohoto modelu. Číselná reprezentace třídy předpovědi se násobí váhou od 0 do 1,0, jednotlivé vážené předpovědi se pak sčítají a výsledek se zaokrouhlí na nejbližší celé číslo.
Pokročilé metody školení ensemble
Existují tři hlavní pokročilé techniky školení ensemble, z nichž každá je navržena pro řešení specifického typu problému strojového učení. „Bagging“ techniky se používají pro snížení variability předpovědí modelu, přičemž variabilita odkazuje na to, jak se mění výsledek předpovědí, když je založen na stejném pozorování. „Boosting“ techniky se používají pro boj proti zkreslení modelů. Nakonec se „stacking“ používá pro zlepšení předpovědí obecně.
Metody ensemble learning se obecně dají rozdělit do 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 jsou generovány sekvenčně. V případě sekvenčních metod je základní myšlenka využít závislost mezi základními modely pro získání přesnějších předpovědí. Nesprávně označené příklady mají své váhy upraveny, zatímco správně označené příklady si zachovávají stejné váhy. Každýkrát, když je generován nový model, se váhy mění a přesnost (doufáme) se zlepšuje.
Naproti tomu paralelní metody ensemble generují základní modely paralelně. Při provádění paralelního ensemble learningu je základní myšlenka využít fakt, že základní modely jsou nezávislé, protože celková chybovost může být snížena průměrováním předpovědí jednotlivých modelů.
Metody školení ensemble 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. Naopak heterogenní ensembles využívají různých algoritmů učení, diverzifikují a mění učitelné, aby zajistily, že přesnost je co nejvyšší.
Příklady algoritmů Ensemble Learning

Vizualizace ensemble boosting. Foto: 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řeměnit slabé, podprůměrné modely na silnější modely. Modely jako AdaBoost a XGBoost začínají s mnoha slabými modely, které fungují jen slightly lépe než náhodné odhady. Jakmile se trénink dokončí, váhy jsou aplikovány na data a upraveny. Případy, které byly nesprávně klasifikovány modely v předchozích kolech tréninku, jsou přiřazeny větší váhy. Po tomto procesu je opakován pro požadovaný počet tréninkových kol, předpovědi jsou spojeny pomocí váženého součtu (pro regresní úkoly) a váženého hlasování (pro klasifikační úkoly).

Proces učení bagging. Foto: 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 jsou odebrány z celkové datové sady pomocí vzorkovací techniky nazývané „bootstrap vzorkování“, které jsou použity základními modely pro vytváření předpovědí. Pro klasifikační úkoly jsou výstupy základních modelů agregovány pomocí hlasování, zatímco pro regresní úkoly jsou průměrovány. Random Forests používá jednotlivé rozhodovací stromy jako své základní modely, a každý strom v ensemble je vytvořen pomocí různých vzorku z datové sady. Používá se také náhodný podmnožina funkcí pro generování stromu. To vede k vysoce náhodným jednotlivým rozhodovacím stromům, které jsou všechny kombinovány pro poskytování spolehlivých předpovědí.

Vizualizace ensemble stacking. Foto: Supun Setunga via Wikimedia Commons, CC BY S.A 4.0 (https://commons.wikimedia.org/wiki/File:Stacking.png)
Co se týče technik stacking ensemble, více regresních nebo klasifikačních modelů je kombinováno prostřednictvím vyšší úrovně, meta-modelu. Nižší úroveň, základní modely jsou školeny tak, aby jim byla podána celá datová sada. Výstupy základních modelů jsou pak použity jako funkce pro školení meta-modelu. Modely ensemble stacking jsou často heterogenní povahy.












