Kúzlo súborového učenia

Čau Habr! Pozývame dátových inžinierov a špecialistov na strojové učenie na bezplatnú ukážkovú lekciu „Výstup modelov ML do priemyselného prostredia na príklade online odporúčaní“. Uverejňujeme aj článok Luca Monno – vedúci finančnej analýzy v CDP SpA.

Jednou z najužitočnejších a najjednoduchších metód strojového učenia je Ensemble Learning. Ensemble Learning je metóda, ktorá stojí za XGBoost, Bagging, Random Forest a mnohými ďalšími algoritmami.

Na tému Towards Data Science je veľa skvelých článkov, ale vybral som dva príbehy (prvý и druhý), ktorý sa mi páčil najviac. Tak prečo písať ďalší článok o EL? Pretože ti to chcem ukázať ako to funguje na jednoduchom príklade, vďaka čomu som pochopil, že tu nie je žiadna mágia.

Keď som prvýkrát videl EL v akcii (pracuje s niekoľkými veľmi jednoduchými regresnými modelmi), neveril som vlastným očiam a dodnes si pamätám profesora, ktorý ma túto metódu naučil.

Mal som dva rôzne modely (dva slabé tréningové algoritmy) s metrikami mimo vzorky R0,90 sa rovná 0,93 a XNUMX. Predtým, ako som sa pozrel na výsledok, som si myslel, že dostanem R² niekde medzi dvoma pôvodnými hodnotami. Inými slovami, veril som, že EL sa dá použiť na to, aby model fungoval nie tak zle ako najhorší model, ale nie tak dobre, ako by mohol fungovať najlepší model.

Na moje veľké prekvapenie jednoduché spriemerovanie predpovedí prinieslo R² 0,95. 

Najprv som začal hľadať chybu, ale potom ma napadlo, že by sa tu mohla skrývať nejaká mágia!

Čo je Ensemble Learning

Pomocou EL môžete kombinovať predpovede dvoch alebo viacerých modelov a vytvoriť tak robustnejší a výkonnejší model. Existuje mnoho metodík pre prácu s modelovými súbormi. Tu sa dotknem dvoch najužitočnejších, aby som poskytol prehľad.

S regresia je možné spriemerovať výkon dostupných modelov.

S klasifikácia Modelom môžete dať možnosť vybrať si štítky. Označenie, ktoré bolo zvolené najčastejšie, je to, ktoré si vyberie nový model.

Prečo EL funguje lepšie

Hlavným dôvodom, prečo má EL lepší výkon je, že každá predpoveď má chybu (vieme to z teórie pravdepodobnosti), kombinácia dvoch predpovedí môže pomôcť znížiť chybu, a teda zlepšiť metriky výkonu (RMSE, R² atď.). d.).

Nasledujúci diagram ukazuje, ako dva slabé algoritmy fungujú na množine údajov. Prvý algoritmus má väčší sklon, ako je potrebné, zatiaľ čo druhý má takmer nulu (pravdepodobne kvôli nadmernej regulácii). ale spolu vykazuje oveľa lepšie výsledky. 

Ak sa pozriete na indikátor R², potom pre prvý a druhý tréningový algoritmus sa bude rovnať -0.01¹, 0.22, zatiaľ čo pre súbor sa bude rovnať 0.73.

Kúzlo súborového učenia

Existuje mnoho dôvodov, prečo môže byť algoritmus zlým modelom aj na základnom príklade, ako je tento: možno ste sa rozhodli použiť regularizáciu, aby ste sa vyhli nadmernému prispôsobeniu, alebo ste sa rozhodli nevylúčiť niektoré anomálie, alebo ste možno použili polynomiálnu regresiu a pomýlili ste sa. stupňa (napríklad sme použili polynóm druhého stupňa a testovacie údaje ukazujú jasnú asymetriu, pre ktorú by bol tretí stupeň vhodnejší).

Keď EL funguje lepšie

Pozrime sa na dva algoritmy učenia pracujúce s rovnakými údajmi.

Kúzlo súborového učenia

Tu môžete vidieť, že kombinácia týchto dvoch modelov výkon príliš nezlepšila. Spočiatku pre dva tréningové algoritmy boli ukazovatele R² rovné -0,37 a 0,22 a pre súbor sa ukázalo ako -0,04. To znamená, že model EL získal priemernú hodnotu ukazovateľov.

Medzi týmito dvoma príkladmi je však veľký rozdiel: v prvom príklade boli chyby modelu negatívne korelované a v druhom pozitívne (koeficienty troch modelov neboli odhadnuté, ale boli jednoducho vybrané autor ako príklad.)

Preto sa Ensemble Learning môže použiť na zlepšenie rovnováhy medzi odchýlkami a odchýlkami v každom prípade, ale kedy Chyby modelu nie sú pozitívne korelované, použitie EL môže viesť k zlepšeniu výkonu.

Homogénne a heterogénne modely

Veľmi často sa EL používa na homogénnych modeloch (ako v tomto príklade alebo náhodnom lese), ale v skutočnosti môžete kombinovať rôzne modely (lineárna regresia + neurónová sieť + XGBoost) s rôznymi súbormi vysvetľujúcich premenných. To pravdepodobne povedie k nekorelovaným chybám a zlepšenému výkonu.

Porovnanie s diverzifikáciou portfólia

EL funguje podobne ako diverzifikácia v teórii portfólia, no tým lepšie pre nás. 

Pri diverzifikácii sa snažíte znížiť rozptyl svojej výkonnosti investovaním do nekorelovaných akcií. Dobre diverzifikované portfólio akcií bude fungovať lepšie ako najhoršie jednotlivé akcie, ale nikdy nie lepšie ako tie najlepšie.

Aby som citoval Warrena Buffetta: 

"Diverzifikácia je obrana proti nevedomosti; pre niekoho, kto nevie, čo robí, má [diverzifikácia] veľmi malý zmysel."

Pri strojovom učení pomáha EL znižovať odchýlky vášho modelu, ale výsledkom môže byť model s celkovým výkonom lepším ako najlepší pôvodný model.

Zhrnúť

Spojenie viacerých modelov do jedného je pomerne jednoduchá technika, ktorá môže viesť k vyriešeniu problému odchýlky od rozptylu a zlepšeniu výkonu.

Ak máte dva alebo viac modelov, ktoré fungujú dobre, nevyberajte si medzi nimi: používajte ich všetky (ale opatrne)!

Máte záujem rozvíjať sa týmto smerom? Prihláste sa na bezplatnú ukážkovú lekciu „Výstup modelov ML do priemyselného prostredia na príklade online odporúčaní“ a zúčastniť sa online stretnutie s Andrejom Kuznecovom — Machine Learning Engineer v Mail.ru Group.

Zdroj: hab.com

Pridať komentár