Strojové učení je jednou z nejpopulárnějších technologií pro vytváření prediktivních modelů pro různé komplexní regresní a klasifikační úlohy. Přechodový posilovací stroj (GBM) je považován za jeden z nejvýkonnějších posilovacích algoritmů.
Přestože se ve strojovém učení používá tolik algoritmů, zesilovací algoritmy se staly hlavním proudem v komunitě strojového učení po celém světě. Technika posilování vychází z konceptu souborového učení, a proto kombinuje několik jednoduchých modelů (slabí studenti nebo základní odhadci) k vytvoření konečného výstupu. GBM se také používá jako souborová metoda ve strojovém učení, která převádí slabé studenty na silné studenty. V tomto tématu „GBM ve strojovém učení“ probereme gradientní algoritmy strojového učení, různé zesilovací algoritmy ve strojovém učení, historii GBM, jak to funguje, různé terminologie používané v GBM atd. Ale než začnete, nejprve porozumějte konceptu zesilování a různým zesilovacím algoritmům ve strojovém učení.
binární vyhledávací strom
Co je posílení ve strojovém učení?
Boosting je jednou z populárních technik modelování souborů používaných k vytvoření silných klasifikátorů z různých slabých klasifikátorů. Začíná vytvořením primárního modelu z dostupných sad tréninkových dat a poté identifikuje chyby přítomné v základním modelu. Po identifikaci chyby je sestaven sekundární model a dále je v tomto procesu zaveden třetí model. Tímto způsobem tento proces zavádění více modelů pokračuje, dokud nezískáme kompletní sadu trénovacích dat, podle kterých model předpovídá správně.
AdaBoost (Adaptive boosting) byl prvním zesilovacím algoritmem, který kombinoval různé slabé klasifikátory do jediného silného klasifikátoru v historii strojového učení. Primárně se zaměřuje na řešení klasifikačních úloh, jako je binární klasifikace.
Kroky v posílení algoritmů:
Existuje několik důležitých kroků pro posílení algoritmu takto:
- Zvažte datovou sadu s různými datovými body a inicializujte ji.
- Nyní dejte každému datovému bodu stejnou váhu.
- Předpokládejte tuto hmotnost jako vstup pro model.
- Identifikujte datové body, které jsou nesprávně klasifikovány.
- Zvyšte váhu datových bodů v kroku 4.
- Pokud získáte odpovídající výstup, ukončete tento proces, jinak postupujte podle kroků 2 a 3 znovu.
Příklad:
Předpokládejme, že máme tři různé modely s jejich předpovědí a fungují zcela odlišným způsobem. Například model lineární regrese ukazuje lineární vztah v datech, zatímco model rozhodovacího stromu se pokouší zachytit nelinearitu v datech, jak je znázorněno na obrázku níže.
Dále, namísto použití těchto modelů samostatně k predikci výsledku, pokud je použijeme ve formě série nebo kombinace, dostaneme výsledný model se správnými informacemi než všechny základní modely. Jinými slovy, namísto použití individuální predikce každého modelu, pokud použijeme průměrnou predikci z těchto modelů, pak bychom byli schopni zachytit více informací z dat. Říká se tomu souborové učení a posilování je také založeno na souborových metodách strojového učení.
Posílení algoritmů ve strojovém učení
Ve strojovém učení existují primárně 4 posilovací algoritmy. Jedná se o následující:
Co je GBM ve strojovém učení?
Gradient Boosting Machine (GBM) je jednou z nejpopulárnějších metod dopředného učení ve strojovém učení. Je to výkonná technika pro vytváření prediktivních modelů pro regresní a klasifikační úlohy.
GBM nám pomáhá získat prediktivní model ve formě souboru slabých predikčních modelů, jako jsou rozhodovací stromy. Kdykoli se rozhodovací strom chová jako slabý žák, pak se výsledný algoritmus nazývá stromy zesílené gradientem.
stahujte videa z youtube na vlc
Umožňuje nám kombinovat předpovědi z různých modelů žáků a sestavit konečný prediktivní model se správnou predikcí.
Zde však může vyvstat jedna otázka, pokud použijeme stejný algoritmus, jak může více rozhodovacích stromů poskytnout lepší předpovědi než jeden rozhodovací strom? Navíc, jak každý rozhodovací strom zachycuje různé informace ze stejných dat?
Odpovědí na tyto otázky tedy je, že uzly každého rozhodovacího stromu převezmou jinou podmnožinu funkcí, aby se vybralo nejlepší rozdělení. To znamená, že každý strom se chová jinak, a proto zachycuje různé signály ze stejných dat.
Jak GBM funguje?
Obecně platí, že většina algoritmů učení pod dohledem je založena na jediném prediktivním modelu, jako je lineární regrese, model penalizované regrese, rozhodovací stromy atd. V ML však existují některé dohlížené algoritmy, které závisí na kombinaci různých modelů dohromady prostřednictvím souboru. Jinými slovy, když více základních modelů přispívá svými predikcemi, průměr všech předpovědí je upraven pomocí posilovacích algoritmů.
Gradientní posilovací stroje se skládají ze 3 následujících prvků:
- Ztrátová funkce
- Slabí žáci
- Aditivní model
Pojďme si tyto tři prvky podrobně porozumět.
1. Funkce ztráty:
Přestože ve strojovém učení existuje velká rodina ztrátových funkcí, které lze použít v závislosti na typu řešených úloh. Použití ztrátové funkce se odhaduje na základě požadavků na specifické charakteristiky podmíněného rozdělení, jako je robustnost. Při použití ztrátové funkce v naší úloze musíme specifikovat ztrátovou funkci a funkci pro výpočet odpovídajícího záporného gradientu. Jakmile získáme tyto dvě funkce, lze je snadno implementovat do strojů pro zesílení gradientu. Existuje však několik ztrátových funkcí, které již byly navrženy pro algoritmy GBM.
Klasifikace ztrátové funkce:
Na základě typu odezvové proměnné y lze ztrátovou funkci rozdělit do různých typů takto:
- Gaussova funkce ztráty L2
- Laplaceova funkce ztráty L1
- Huberova ztrátová funkce, specifikováno δ
- Kvantilová ztrátová funkce, specifikováno α
- Binomická ztrátová funkce
- Funkce ztráty Adaboost
- Ztrátové funkce pro modely přežití
- Ztrátové funkce počítají data
- Vlastní ztrátové funkce
2. Slabý žák:
Slabí žáci jsou základní modely žáků, které se učí z minulých chyb a pomáhají vytvářet silný návrh prediktivního modelu pro posílení algoritmů ve strojovém učení. Obecně platí, že rozhodovací stromy fungují jako slabí žáci v posilovacích algoritmech.
Boosting je definován jako rámec, který neustále pracuje na zlepšování výstupu ze základních modelů. Mnoho aplikací pro zesílení gradientu vám umožňuje „zapojit“ různé třídy slabých studentů, které máte k dispozici. Rozhodovací stromy se proto nejčastěji používají pro slabé (základní) studenty.
Jak trénovat slabé studenty:
Strojové učení využívá trénovací datové sady k trénování základních studentů a na základě predikce od předchozího studenta zlepšuje výkon tím, že se zaměřuje na řádky trénovacích dat, kde předchozí strom měl největší chyby nebo rezidua. Např. mělké stromy jsou považovány za slabé stromy, které se učí rozhodovat, protože obsahují několik rozdělení. Obecně jsou v posilovacích algoritmech nejběžnější stromy, které mají až 6 rozdělení.
mysql zobrazit všechny uživatele
Níže je posloupnost tréninku slabého žáka, aby zlepšil svůj výkon, kde každý strom je v pořadí se zbytky předchozího stromu. Dále představujeme každý nový strom, aby se mohl poučit z chyb předchozího stromu. Jedná se o následující:
- Zvažte soubor dat a vložte do něj rozhodovací strom.
F1(x)=y - Přizpůsobte další rozhodovací strom největšími chybami předchozího stromu.
h1(x)=y?F1(x) - Přidejte tento nový strom do algoritmu přidáním obou v krocích 1 a 2.
F2(x)=F1(x)+h1(x) - Opět přizpůsobte další rozhodovací strom zbytky předchozího stromu.
h2(x)=y?F2(x) - Opakujte totéž, co jsme udělali v kroku 3.
F3(x)=F2(x)+h2(x)
Pokračujte v tomto procesu, dokud nám nějaký mechanismus (tj. křížová validace) neřekne, abychom přestali. Konečným modelem je zde postupný aditivní model b jednotlivých stromů:
f(x)=B∑b=1fb(x)Stromy jsou tedy stavěny chtivě a vybírají nejlepší dělící body na základě skóre čistoty, jako je Gini, nebo minimalizace ztrát.
3. Aditivní model:
Aditivní model je definován jako přidávání stromů do modelu. I když bychom neměli přidávat více stromů najednou, musí být přidán pouze jeden strom, aby se stávající stromy v modelu nezměnily. Dále můžeme také preferovat metodu gradientního klesání přidáním stromů, abychom snížili ztrátu.
V posledních letech byla metoda gradientního sestupu používána k minimalizaci souboru parametrů, jako je koeficient regresní rovnice a váha v neuronové síti. Po výpočtu chyby nebo ztráty se k minimalizaci chyby použije parametr hmotnosti. V poslední době však většina odborníků na ML preferuje jako náhradu za tyto parametry podmodely slabého žáka nebo rozhodovací stromy. Ve kterém musíme do modelu přidat strom, abychom snížili chyby a zlepšili výkon tohoto modelu. Tímto způsobem se předpověď z nově přidaného stromu zkombinuje s predikcí ze stávající řady stromů, aby se získala konečná předpověď. Tento proces pokračuje, dokud ztráta nedosáhne přijatelné úrovně nebo již není nutné zlepšení.
přidat řetězec
Tato metoda je také známá jako funkční gradientní sestup nebo gradientní sestup s funkcemi.
EXTREME GRADIENT BOOSTING MACHINE (XGBM)
XGBM je nejnovější verze strojů pro zesílení gradientu, která také funguje velmi podobně jako GBM. V XGBM jsou stromy přidávány postupně (jeden po druhém), které se učí z chyb předchozích stromů a vylepšují je. Algoritmy XGBM a GBM jsou sice podobné na pohled a dojem, ale přesto mezi nimi existuje několik rozdílů:
- XGBM používá různé techniky regularizace ke snížení nedostatečného nebo nadměrného přizpůsobení modelu, což také zvyšuje výkon modelu více než stroje zvyšující gradient.
- XGBM sleduje paralelní zpracování každého uzlu, zatímco GBM ne, díky čemuž je rychlejší než stroje zvyšující gradient.
- XGBM nám pomáhá zbavit se imputace chybějících hodnot, protože ve výchozím nastavení se o to stará model. Sám se učí, zda tyto hodnoty mají být v pravém nebo levém uzlu.
Zesilovací stroje pro lehký gradient (Light GBM)
Light GBM je modernizovanější verze posilovacího stroje Gradient díky své účinnosti a vysoké rychlosti. Na rozdíl od GBM a XGBM zvládne obrovské množství dat bez jakékoli složitosti. Na druhou stranu není vhodný pro ty datové body, které mají menší počet.
Místo plošného růstu Light GBM preferuje listový růst uzlů stromu. Dále v lehkém GBM je primární uzel rozdělen na dva sekundární uzly a později si vybere jeden sekundární uzel, který má být rozdělen. Toto rozdělení sekundárního uzlu závisí na tom, který mezi dvěma uzly má vyšší ztrátu.
Proto je vzhledem k rozdělení podle listů vždy preferován algoritmus Light Gradient Boosting Machine (LGBM) před ostatními, kde je zadáno velké množství dat.
CATBOOST
Algoritmus catboost se primárně používá ke zpracování kategorických funkcí v datové sadě. Ačkoli jsou algoritmy GBM, XGBM a Light GBM vhodné pro numerické datové sady, Catboost je navržen tak, aby zpracovával kategorické proměnné na numerická data. Algoritmus catboost tedy sestává ze základního kroku předběžného zpracování pro převod kategoriálních znaků na číselné proměnné, které nejsou přítomny v žádném jiném algoritmu.
Výhody posilovacích algoritmů:
- Posilovací algoritmy se řídí souborovým učením, což umožňuje modelu poskytovat přesnější předpověď, kterou nelze překonat.
- Posilovací algoritmy jsou mnohem flexibilnější než jiné algoritmy, protože mohou optimalizovat různé ztrátové funkce a poskytují několik možností ladění hyperparametrů.
- Nevyžaduje předzpracování dat, protože je vhodný jak pro číselné, tak i pro kategorické proměnné.
- Nevyžaduje imputaci chybějících hodnot v datové sadě, chybějící data zpracovává automaticky.
Nevýhody posilovacích algoritmů:
Níže je uvedeno několik nevýhod zesilovacích algoritmů:
- Algoritmy zesilování mohou způsobit nadměrné přizpůsobení a také přílišné zdůraznění odlehlých hodnot.
- Algoritmus zesílení gradientu se neustále zaměřuje na minimalizaci chyb a vyžaduje více stromů, a proto je výpočetně nákladný.
- Je to časově náročný a paměťově vyčerpávající algoritmus.
- Méně vysvětlující charakter, i když to lze snadno vyřešit pomocí různých nástrojů.
Závěr:
Tímto způsobem jsme se naučili posilovací algoritmy pro prediktivní modelování ve strojovém učení. Také jsme diskutovali o různých důležitých posilovacích algoritmech používaných v ML, jako je GBM, XGBM, light GBM a Catboost. Dále jsme viděli různé komponenty (ztrátová funkce, slabý žák a aditivní model) a jak s nimi GBM pracuje. Jak jsou posilovací algoritmy výhodné pro nasazení v reálných scénářích atd.