Magic Ensemble Learning

Hej Habr! Vi inviterer dataingeniører og maskinlæringsspecialister til en gratis demo-lektion "Introduktion af ML-modeller til det industrielle miljø ved hjælp af eksemplet med online anbefalinger". Vi udgiver også en artikel af Luca Monno - Head of Financial Analytics hos CDP SpA.

En af de mest nyttige og enkle maskinlæringsmetoder er Ensemble Learning. Ensemble Learning er den underliggende teknik til XGBoost, Bagging, Random Forest og mange andre algoritmer.

Der er mange gode artikler om Towards Data Science, men jeg valgte to historier (først и sekund), som jeg kunne lide mest. Så hvorfor skrive endnu en artikel om EL? Fordi jeg vil vise dig hvordan det virker på et simpelt eksempel, hvilket fik mig til at forstå, at der ikke er magi her.

Da jeg første gang så EL i aktion (arbejde med nogle meget simple regressionsmodeller) kunne jeg ikke tro mine egne øjne, og jeg husker stadig professoren, der lærte mig denne metode.

Jeg havde to forskellige modeller (to svage indlæringsalgoritmer) med eksponenter ude af prøven R² lig med henholdsvis 0,90 og 0,93. Før jeg så på resultatet, troede jeg, at jeg ville få R² et sted mellem de to begyndelsesværdier. Med andre ord tænkte jeg, at EL kunne bruges til at få modellen til ikke at klare sig så dårligt som den dårligste model, men ikke så godt som den bedste model kunne.

Til min store overraskelse gav resultaterne af et simpelt gennemsnit af forudsigelserne en R² på 0,95. 

Først begyndte jeg at lede efter en fejl, men så tænkte jeg, at der måske var noget magi gemt her!

Hvad er Ensemble Learning

Med EL kan du kombinere forudsigelserne fra to eller flere modeller for at få en mere pålidelig og effektiv model. Der er mange metoder til at arbejde med ensembler af modeller. Her vil jeg komme ind på de to mest nyttige for at give dig en idé.

Med regression du kan gennemsnittet ydeevnen af ​​de tilgængelige modeller.

Med klassifikation du kan lade modellerne vælge etiketter. Det mærke, der oftest blev valgt, er det, der vil blive valgt af den nye model.

Hvorfor EL fungerer bedre

Hovedårsagen til, at EL fungerer bedre er, at hver forudsigelse har en fejl (det kender vi fra sandsynlighedsteorien), at kombinere to forudsigelser kan hjælpe med at reducere fejlen og dermed forbedre præstationsindikatorerne (RMSE, R², osv.). d.).

Følgende diagram viser, hvordan to svage algoritmer fungerer på et datasæt. Den første algoritme har en større hældning end nødvendigt, mens den anden har næsten nul (muligvis på grund af overdreven regularisering). Men ensemble viser bedre resultater. 

Hvis du ser på R², vil den første og anden træningsalgoritme have den lig med henholdsvis -0.01¹, 0.22, mens den for ensemblet vil være lig med 0.73.

Magic Ensemble Learning

Der er mange grunde til, at en algoritme kan være en dårlig model, selv for et grundlæggende eksempel som dette: måske besluttede du at bruge regularisering for at undgå overtilpasning, eller du besluttede ikke at eliminere nogle anomalier, eller måske brugte du polynomiel regression og valgte den forkerte grad (for eksempel brugt et polynomium af anden grad, og testdataene viser en klar asymmetri, som den tredje grad ville være bedre egnet til).

Når EL fungerer bedst

Lad os se på to indlæringsalgoritmer, der arbejder på de samme data.

Magic Ensemble Learning

Her kan du se, at kombinationen af ​​de to modeller ikke forbedrede ydeevnen meget. I første omgang for de to træningsalgoritmer var R²-værdierne henholdsvis -0,37 og 0,22, og for ensemblet viste det sig at være -0,04. Det vil sige, at EL-modellen modtog gennemsnitsværdien af ​​indikatorerne.

Der er dog en stor forskel mellem disse to eksempler: i det første eksempel var fejlene i modellerne negativt korrelerede, og i det andet - positivt (koefficienterne for de tre modeller blev ikke estimeret, men blev simpelthen valgt af forfatteren som et eksempel.)

Derfor kan Ensemble Learning bruges til at forbedre bias/spredningsbalancen i alle tilfælde, men hvornår modelfejl er ikke positivt korreleret, brug af EL kan føre til bedre ydeevne.

Homogene og heterogene modeller

Meget ofte bruges EL på homogene modeller (som i dette eksempel eller random forest), men faktisk kan du kombinere forskellige modeller (lineær regression + neuralt netværk + XGBoost) med forskellige sæt af forklarende variable. Dette vil sandsynligvis føre til ukorrelerede fejl og forbedre ydeevnen.

Sammenligning med porteføljespredning

EL arbejder på samme måde som diversificering i porteføljeteori, men så meget desto bedre for os. 

Når du diversificerer, forsøger du at reducere variansen i din præstation ved at investere i ukorrelerede aktier. En veldiversificeret portefølje af aktier vil klare sig bedre end den dårligste enkeltaktie, men aldrig bedre end den bedste.

Citerer Warren Buffett: 

"Diversificering er et forsvar mod uvidenhed, for en, der ikke ved, hvad han laver, giver [diversificering] meget lidt mening."

I maskinlæring hjælper EL med at reducere variansen af ​​din model, men dette kan resultere i en model med bedre samlet ydeevne end den bedste oprindelige model.

Opsummere

At kombinere flere modeller til én er en relativt simpel teknik, der kan føre til en løsning på problemet med variansbias og forbedret ydeevne.

Hvis du har to eller flere modeller, der fungerer godt, skal du ikke vælge mellem dem: brug dem alle (men med forsigtighed)!

Er du interesseret i at udvikle dig i denne retning? Tilmeld dig en gratis demo-lektion "Introduktion af ML-modeller til det industrielle miljø ved hjælp af eksemplet med online anbefalinger" og deltage i online møde med Andrey Kuznetsov — Machine Learning Engineer hos Mail.ru Group.

Kilde: www.habr.com

Tilføj en kommentar