Čo je zosilňovací algoritmus?
Boosting je metóda v algoritmoch, ktoré prevádzajú slabých študentov na silných študentov. Je to technika, ktorá pridáva nové modely na opravu chýb existujúcich modelov.
Príklad:
Pochopme tento koncept pomocou nasledujúceho príkladu. Ukážme si príklad e-mailu. Ako spoznáte svoj e-mail, či je spam alebo nie? Môžete ho rozpoznať podľa nasledujúcich podmienok:
- Ak e-mail obsahuje veľa podobných zdrojov, znamená to, že ide o spam.
- Ak e-mail obsahuje iba jeden obrázok súboru, potom ide o spam.
- Ak e-mail obsahuje správu „Vy vlastníte lotériu $ xxxxx“, znamená to, že ide o spam.
- Ak e-mail obsahuje nejaký známy zdroj, nejde o spam.
- Ak obsahuje oficiálnu doménu ako educba.com, atď., Znamená to, že nejde o spam.
Vyššie uvedené pravidlá nie sú také mocné, aby rozpoznali spam alebo nie, a preto sa tieto pravidlá nazývajú slabými žiakmi.
Ak chcete previesť slabého študenta na silného študenta, kombinujte predikciu slabého študenta pomocou nasledujúcich metód.
- Použitie priemerného alebo váženého priemeru.
- Zvážte, že predpoveď má vyšší hlas.
Zoberme si vyššie uvedené 5 pravidiel, sú tu 3 hlasy za spam a 2 hlasy za spam. Keďže existuje spam s vysokým hlasovaním, považujeme ho za spam.
Ako funguje podpora algoritmov?
Posilňovacie algoritmy kombinujú každého slabého študenta a vytvárajú jedno silné pravidlo predikcie. Na identifikáciu slabého pravidla existuje základný algoritmus učenia (Machine Learning). Vždy, keď sa použije algoritmus bázy, vytvorí pomocou pravidiel iteračného procesu nové pravidlá predikcie. Po určitej iterácii kombinuje všetky slabé pravidlá do jedného pravidla predpovede.
Pri výbere správnej distribúcie postupujte podľa nasledujúcich krokov:
Krok 1: Algoritmus základného učenia kombinuje každú distribúciu a pri každej distribúcii uplatňuje rovnakú váhu.
Krok 2: Ak dôjde k predikcii počas prvého základného algoritmu učenia, venujeme veľkú pozornosť tejto predikčnej chybe.
Krok 3: Opakujte krok 2, až kým sa nedosiahne limit algoritmu Base Learning alebo vysoká presnosť.
Krok 4: Nakoniec kombinuje všetkých slabých študentov a vytvára jednu silnú predikciu.
Druhy zosilňovacieho algoritmu
Algoritmy zosilnenia používajú rôzne motory, ako napríklad rozhodovaciu pečiatku, klasifikačný algoritmus maximalizácie marže atď. Existujú tri typy algoritmov zosilnenia, ktoré sú nasledujúce:
- Algoritmus AdaBoost (Adaptive Boosting)
- Algoritmus zosilnenia gradientu
- Algoritmus XG Boost
Algoritmus AdaBoost (adaptívne zvýšenie)
Ak chcete porozumieť službe AdaBoost, pozrite si nasledujúci obrázok:
Kolónka 1: V kolónke 1 pre každý súbor údajov sme priradili rovnaké váhy a na klasifikáciu znamienka plus (+) a mínus (-) použijeme rozhodovací pahýl D1, ktorý vytvára zvislú čiaru na ľavej strane kolónky 1. Táto čiara je nesprávne predpovedané tri znamienko plus (+) ako mínus (-), preto na tieto znamienko plus aplikujeme vyššie váhy a použijeme ďalší pahorok na rozhodnutie.
Rámček 2: V rámčeku 2 sa veľkosť troch nesprávne predpovedaných znamienok plus (+) v porovnaní s inými zväčšuje. Druhý pahýl D2 rozhodnutia na pravej strane bloku predpovedá, že tento nesprávne predpovedaný znamienko plus (+) je správne. Keďže sa však vyskytla nesprávna klasifikácia kvôli nerovnakej hmotnosti so znamienkom mínus (-), znamienko mínus (-) priradili vyššiu váhu a použili ďalší pahýl rozhodnutia.
Kolónka 3: V kolónke tri má z dôvodu chyby nesprávneho zaradenia tri znamienko mínus (-) vysokú váhu. tu sa použije pahýl rozhodnutia D3 na predpovedanie tejto nesprávnej klasifikácie a jej opravu. Tentoraz sa vytvorí vodorovná čiara plus (+) a mínus (-).
Rámček 4: V rámčeku 4 sú paušálne rozhodnutia D1, D2 a D3 spojené s cieľom vytvoriť novú silnú predpoveď.
Adaptívne podporné práce sú podobné, ako je uvedené vyššie. Kombinuje skupinu slabých žiakov na základe veku vo váhe a vytvára tak silného študenta. V prvej iterácii dáva každej množine údajov rovnakú váhu a začiatok predpovedá túto množinu údajov. Ak dôjde k nesprávnej predikcii, dáva tomuto pozorovaniu veľkú váhu. Adaptívne zvyšovanie opakuje tento postup v nasledujúcej iteračnej fáze a pokračuje až do dosiahnutia presnosti. Potom to skombinuje a vytvorí silnú predpoveď.
Algoritmus zosilnenia gradientu
Algoritmus zosilnenia gradientu je technika strojového učenia sa na definovanie stratovej funkcie a jej zníženie. Používa sa na riešenie problémov klasifikácie pomocou predikčných modelov. Zahŕňa nasledujúce kroky:
1. Stratová funkcia
Použitie funkcie straty závisí od typu problému. Výhodou zosilnenia gradientu je to, že pre každú stratovú funkciu nie je potrebný nový posilňovací algoritmus.
2. Slabý žiak
Pri zvyšovaní gradientu sa rozhodovacie stromy používajú ako slabí študenti. Regresný strom sa používa na poskytnutie skutočných hodnôt, ktoré je možné kombinovať, aby sa vytvorili správne predpovede. Podobne ako v algoritme AdaBoost sa používajú malé stromy s jedným rozdelením, tj pahorok na rozhodovanie. Väčšie stromy sa používajú pre veľké úrovne i, e 4 - 8 úrovní.
3. Aditívny model
V tomto modeli sa stromy pridávajú po jednom. existujúce stromy zostávajú rovnaké. Počas pridávania stromov sa používa gradientový zostup na minimalizovanie straty.
XG Boost
XG Boost je skratka pre Extreme Gradient Boosting. XG Boost je vylepšená implementácia algoritmu Gradient Boosting Algorithm, ktorý je vyvinutý pre vysokú rýchlosť výpočtu, škálovateľnosť a lepší výkon.
XG Boost má rôzne vlastnosti, ktoré sú nasledujúce:
- Paralelné spracovanie: XG Boost poskytuje paralelné spracovanie pre stromovú konštrukciu, ktorá počas tréningu využíva jadrá CPU.
- Krížová validácia: XG Boost umožňuje používateľom spustiť krížovú validáciu zosilňovacieho procesu pri každej iterácii, čo uľahčuje získanie presného optimálneho počtu podporujúcich iterácií v jednom cykle.
- Optimalizácia vyrovnávacej pamäte: Poskytuje optimalizáciu vyrovnávacej pamäte algoritmov pre vyššiu rýchlosť vykonávania.
- Distribuované výpočty : Pri školení veľkých modelov umožňuje program XG Boost distribuované výpočty.
Odporúčané články
V tomto článku sme videli, čo je zosilňovací algoritmus, rôzne typy zosilňovacieho algoritmu v strojovom učení a ich práca. Viac informácií nájdete aj v ďalších navrhovaných článkoch -
- Čo je to strojové učenie? | Definícia
- Programovacie jazyky na výučbu algoritmov
- Čo je technológia Blockchain?
- Čo je to algoritmus?