Strojové učenie je jednou z najpopulárnejších technológií na vytváranie prediktívnych modelov pre rôzne komplexné regresné a klasifikačné úlohy. Gradient Boosting Machine (GBM) je považovaný za jeden z najvýkonnejších zosilňovacích algoritmov.
Aj keď sa v strojovom učení používa toľko algoritmov, zosilňujúce algoritmy sa stali hlavným prúdom v komunite strojového učenia na celom svete. Technika posilňovania vychádza z konceptu súborového učenia, a preto kombinuje viacero jednoduchých modelov (slabých žiakov alebo základných odhadcov) na vytvorenie konečného výstupu. GBM sa tiež používa ako súborová metóda v strojovom učení, ktorá premieňa slabých študentov na silných študentov. V tejto téme „GBM v strojovom učení“ budeme diskutovať o gradientových algoritmoch strojového učenia, rôznych zosilňovacích algoritmoch v strojovom učení, histórii GBM, ako to funguje, rôznych terminológiách používaných v GBM atď. Ale skôr ako začnete, najprv pochopte koncept zosilnenia a rôzne zosilňovacie algoritmy v strojovom učení.
Čo je posilňovanie strojového učenia?
Zosilnenie je jednou z populárnych techník modelovania súboru používaných na vytvorenie silných klasifikátorov z rôznych slabých klasifikátorov. Začína sa zostavovaním primárneho modelu z dostupných súborov tréningových údajov, potom identifikuje chyby prítomné v základnom modeli. Po identifikácii chyby sa vytvorí sekundárny model a ďalej sa v tomto procese zavedie tretí model. Týmto spôsobom tento proces zavádzania viacerých modelov pokračuje, kým nezískame kompletný súbor tréningových dát, podľa ktorých model predpovedá správne.
AdaBoost (Adaptive boosting) bol prvý zosilňovací algoritmus, ktorý kombinoval rôzne slabé klasifikátory do jedného silného klasifikátora v histórii strojového učenia. Primárne sa zameriava na riešenie klasifikačných úloh, ako je binárna klasifikácia.
Kroky v zosilňovaní algoritmov:
Existuje niekoľko dôležitých krokov na posilnenie algoritmu takto:
- Zvážte množinu údajov s rôznymi údajovými bodmi a inicializujte ju.
- Teraz dajte rovnakú váhu každému z údajových bodov.
- Túto hmotnosť vezmite ako vstup pre model.
- Identifikujte dátové body, ktoré sú nesprávne klasifikované.
- Zvýšte váhu údajových bodov v kroku 4.
- Ak získate vhodný výstup, ukončite tento proces, inak postupujte podľa krokov 2 a 3 znova.
Príklad:
Predpokladajme, že máme tri rôzne modely s ich predpoveďami a fungujú úplne odlišným spôsobom. Napríklad model lineárnej regresie ukazuje lineárny vzťah v údajoch, zatiaľ čo model rozhodovacieho stromu sa pokúša zachytiť nelinearitu v údajoch, ako je znázornené na obrázku nižšie.
Okrem toho, namiesto použitia týchto modelov samostatne na predpovedanie výsledku, ak ich použijeme vo forme série alebo kombinácie, dostaneme výsledný model so správnymi informáciami ako všetky základné modely. Inými slovami, namiesto použitia individuálnej predikcie každého modelu, ak použijeme priemernú predikciu z týchto modelov, potom by sme boli schopní zachytiť viac informácií z údajov. Nazýva sa to súborové učenie a posilňovanie je tiež založené na súborových metódach v strojovom učení.
Posilnenie algoritmov v strojovom učení
V strojovom učení existujú primárne 4 zosilňovacie algoritmy. Sú to nasledovné:
Čo je GBM v strojovom učení?
Gradient Boosting Machine (GBM) je jednou z najpopulárnejších metód postupného učenia v rámci strojového učenia. Je to výkonná technika na vytváranie prediktívnych modelov pre regresné a klasifikačné úlohy.
GBM nám pomáha získať prediktívny model vo forme súboru slabých predikčných modelov, ako sú rozhodovacie stromy. Kedykoľvek sa rozhodovací strom správa ako slabý žiak, potom sa výsledný algoritmus nazýva stromy zosilnené gradientom.
Umožňuje nám kombinovať predpovede z rôznych učiacich sa modelov a zostaviť konečný prediktívny model so správnou predpoveďou.
Tu však môže vzniknúť jedna otázka, ak použijeme rovnaký algoritmus, ako potom môže viacero rozhodovacích stromov poskytnúť lepšie predpovede ako jeden rozhodovací strom? Navyše, ako každý rozhodovací strom zachytáva rôzne informácie z rovnakých údajov?
Odpoveďou na tieto otázky je teda to, že uzly každého rozhodovacieho stromu prijímajú inú podmnožinu funkcií, aby sa vybralo najlepšie rozdelenie. Znamená to, že každý strom sa správa inak, a teda zachytáva rôzne signály z rovnakých údajov.
Ako funguje GBM?
Vo všeobecnosti je väčšina algoritmov učenia pod dohľadom založená na jedinom prediktívnom modeli, ako je lineárna regresia, model penalizovanej regresie, rozhodovacie stromy atď. V ML však existujú niektoré kontrolované algoritmy, ktoré závisia od kombinácie rôznych modelov spolu prostredníctvom súboru. Inými slovami, keď svojimi predikciami prispieva viacero základných modelov, priemer všetkých predpovedí sa prispôsobuje zosilňovacím algoritmom.
Gradientové posilňovacie stroje pozostávajú z 3 nasledujúcich prvkov:
- Stratová funkcia
- Slabí žiaci
- Aditívny model
Poďme pochopiť tieto tri prvky podrobne.
1. Stratová funkcia:
Aj keď v strojovom učení existuje veľká skupina stratových funkcií, ktoré možno použiť v závislosti od typu riešených úloh. Použitie stratovej funkcie sa odhaduje na základe požiadaviek na špecifické charakteristiky podmieneného rozdelenia, ako je napríklad robustnosť. Pri použití stratovej funkcie v našej úlohe musíme špecifikovať stratovú funkciu a funkciu na výpočet zodpovedajúceho záporného gradientu. Akonáhle získame tieto dve funkcie, môžu sa ľahko implementovať do strojov na zvýšenie gradientu. Existuje však niekoľko stratových funkcií, ktoré už boli navrhnuté pre algoritmy GBM.
Klasifikácia stratovej funkcie:
Na základe typu premennej odozvy y možno stratovú funkciu rozdeliť do rôznych typov takto:
- Gaussova funkcia straty L2
- Laplaceova funkcia straty L1
- Huberova stratová funkcia, špecifikovaná δ
- Funkcia kvantilovej straty, špecifikovaná α
- Funkcia binomickej straty
- Stratová funkcia Adaboost
- Stratové funkcie pre modely prežitia
- Stratové funkcie počítajú údaje
- Vlastné stratové funkcie
2. Slabý žiak:
Slabí žiaci sú základné modely žiakov, ktoré sa učia z minulých chýb a pomáhajú pri vytváraní silného návrhu prediktívneho modelu na posilnenie algoritmov strojového učenia. Rozhodovacie stromy vo všeobecnosti fungujú ako slabí žiaci pri posilňovaní algoritmov.
Boosting je definovaný ako rámec, ktorý neustále pracuje na zlepšovaní výstupu zo základných modelov. Mnoho aplikácií na zvýšenie gradientu vám umožňuje „pripojiť“ rôzne triedy slabých študentov, ktoré máte k dispozícii. Preto sa rozhodovacie stromy najčastejšie používajú pre slabých (základných) študentov.
Ako trénovať slabých žiakov:
Strojové učenie využíva tréningové dátové súbory na školenie základných študentov a na základe predpovedí od predchádzajúceho študenta zlepšuje výkon tým, že sa zameriava na riadky tréningových dát, kde predchádzajúci strom mal najväčšie chyby alebo zvyšky. napr. plytké stromy sa považujú za slabé stromy, ktoré sa učia rozhodovať, pretože obsahujú niekoľko delení. Vo všeobecnosti sú v posilňovacích algoritmoch najbežnejšie stromy, ktoré majú až 6 delení.
Nižšie je uvedená postupnosť tréningu slabého žiaka, aby zlepšil svoj výkon, pričom každý strom je v poradí so zvyškami predchádzajúceho stromu. Ďalej predstavujeme každý nový strom, aby sa mohol poučiť z chýb predchádzajúceho stromu. Sú to nasledovné:
- Zvážte súbor údajov a vložte do neho rozhodovací strom.
F1(x)=y - Prispôsobte nasledujúci rozhodovací strom najväčšími chybami predchádzajúceho stromu.
h1(x)=y?F1(x) - Pridajte tento nový strom do algoritmu pridaním oboch v krokoch 1 a 2.
F2(x)=F1(x)+h1(x) - Opäť prispôsobte nasledujúci rozhodovací strom zvyškom predchádzajúceho stromu.
h2(x)=y?F2(x) - Opakujte to isté, čo sme urobili v kroku 3.
F3(x)=F2(x)+h2(x)
Pokračujte v tomto procese, kým nám nejaký mechanizmus (t. j. krížová validácia) nepovie zastaviť. Konečným modelom je tu postupný aditívny model b jednotlivých stromov:
f(x)=B∑b=1fb(x)Preto sa stromy stavajú nenásytne a vyberajú najlepšie deliace body na základe skóre čistoty, ako je Gini, alebo minimalizujú straty.
3. Aditívny model:
Aditívny model je definovaný ako pridávanie stromov do modelu. Aj keď by sme nemali pridávať viacero stromov naraz, musí sa pridať iba jeden strom, aby sa existujúce stromy v modeli nezmenili. Ďalej môžeme tiež uprednostniť metódu gradientového zostupu pridaním stromov na zníženie strát.
sieť a typy sietí
V posledných rokoch sa na minimalizáciu súboru parametrov, ako je koeficient regresnej rovnice a váha v neurónovej sieti, používala metóda gradientového zostupu. Po výpočte chyby alebo straty sa na minimalizáciu chyby použije parameter hmotnosti. V poslednej dobe však väčšina odborníkov na ML preferuje slabé podmodely žiakov alebo rozhodovacie stromy ako náhradu za tieto parametre. V ktorom musíme do modelu pridať strom, aby sme znížili chyby a zlepšili výkon tohto modelu. Týmto spôsobom sa predpoveď z novo pridaného stromu skombinuje s predpoveďou z existujúcej série stromov, aby sa získala konečná predpoveď. Tento proces pokračuje dovtedy, kým strata nedosiahne prijateľnú úroveň alebo už nie je potrebné zlepšenie.
Táto metóda je známa aj ako funkčný gradientový zostup alebo gradientový zostup s funkciami.
EXTRÉMNY GRADIENTNÝ POSILŇOVAČ (XGBM)
XGBM je najnovšia verzia strojov na zvýšenie gradientu, ktorá tiež funguje veľmi podobne ako GBM. V XGBM sa stromy pridávajú postupne (jeden po druhom), ktoré sa učia z chýb predchádzajúcich stromov a zlepšujú ich. Algoritmy XGBM a GBM sú síce na pohľad a dojem podobné, ale stále medzi nimi existuje niekoľko rozdielov:
- XGBM používa rôzne regulačné techniky na zníženie nedostatočného alebo nadmerného prispôsobenia modelu, čo tiež zvyšuje výkon modelu viac ako stroje na zvýšenie sklonu.
- XGBM sleduje paralelné spracovanie každého uzla, zatiaľ čo GBM nie, vďaka čomu je rýchlejší ako stroje zvyšujúce gradient.
- XGBM nám pomáha zbaviť sa imputácie chýbajúcich hodnôt, pretože štandardne sa o to stará model. Sám sa naučí, či tieto hodnoty majú byť v pravom alebo ľavom uzle.
Zosilňovacie stroje so svetelným gradientom (Light GBM)
Light GBM je modernejšia verzia posilňovacieho stroja Gradient vďaka svojej účinnosti a vysokej rýchlosti. Na rozdiel od GBM a XGBM dokáže spracovať obrovské množstvo dát bez akejkoľvek zložitosti. Na druhej strane nie je vhodný pre tie dátové body, ktorých počet je menší.
Namiesto rovnomerného rastu Light GBM uprednostňuje listový rast uzlín stromu. Ďalej, v ľahkom GBM je primárny uzol rozdelený na dva sekundárne uzly a neskôr si vyberie jeden sekundárny uzol, ktorý sa má rozdeliť. Toto rozdelenie sekundárneho uzla závisí od toho, ktorý z dvoch uzlov má vyššiu stratu.
Z dôvodu rozdelenia po listoch je algoritmus Light Gradient Boosting Machine (LGBM) vždy uprednostňovaný pred ostatnými, kde sa poskytuje veľké množstvo údajov.
CATBOOST
Algoritmus catboost sa primárne používa na spracovanie kategorických funkcií v súbore údajov. Hoci algoritmy GBM, XGBM a Light GBM sú vhodné pre číselné súbory údajov, Catboost je navrhnutý tak, aby spracovával kategorické premenné na číselné údaje. Algoritmus catboost teda pozostáva zo základného kroku predspracovania na konverziu kategorických znakov na numerické premenné, ktoré nie sú prítomné v žiadnom inom algoritme.
Výhody posilňovacích algoritmov:
- Posilňovacie algoritmy sledujú súborové učenie, čo umožňuje modelu poskytnúť presnejšiu predpoveď, ktorú nemožno prekonať.
- Posilňovacie algoritmy sú oveľa flexibilnejšie ako iné algoritmy, pretože dokážu optimalizovať rôzne stratové funkcie a poskytujú niekoľko možností ladenia hyperparametrov.
- Nevyžaduje predbežné spracovanie údajov, pretože je vhodný pre číselné aj kategorické premenné.
- Nevyžaduje imputáciu chýbajúcich hodnôt v súbore údajov, chýbajúce údaje spracováva automaticky.
Nevýhody posilňovacích algoritmov:
Nižšie je uvedených niekoľko nevýhod zosilňujúcich algoritmov:
- Posilňovacie algoritmy môžu spôsobiť nadmerné prispôsobenie, ako aj nadmerné zdôrazňovanie odľahlých hodnôt.
- Algoritmus zosilnenia gradientu sa neustále zameriava na minimalizáciu chýb a vyžaduje viacero stromov, preto je výpočtovo nákladný.
- Je to časovo náročný a pamäťovo vyčerpávajúci algoritmus.
- Menej interpretatívny charakter, aj keď sa to dá ľahko vyriešiť rôznymi nástrojmi.
Záver:
Týmto spôsobom sme sa naučili zosilňujúce algoritmy pre prediktívne modelovanie v strojovom učení. Tiež sme diskutovali o rôznych dôležitých posilňovacích algoritmoch používaných v ML, ako sú GBM, XGBM, light GBM a Catboost. Ďalej sme videli rôzne komponenty (stratová funkcia, slabý žiak a aditívny model) a ako s nimi GBM pracuje. Ako sú zosilňovacie algoritmy výhodné pre nasadenie v reálnych scenároch atď.