Magin med Ensemble Learning

Hej, Habr! Vi bjuder in Data Engineers och Machine Learning-specialister till en gratis demo-lektion «Utdeployering av ML-modeller i produktionsmiljö med exempel pĂ„ online-rekommendationer». Vi publicerar ocksĂ„ en artikel av Luca Monno – Head of Financial Analytics pĂ„ CDP SpA.

En av de mest anvÀndbara och enkla metoderna inom maskininlÀrning Àr Ensemble Learning. Ensemble Learning Àr en metod som ligger till grund för XGBoost, Bagging, Random Forest och mÄnga andra algoritmer.

PÄ Towards Data Science finns det mÄnga intressanta artiklar, men jag valde tvÄ historier (första och tvÄ), som jag gillade mest. SÄ varför skriva ytterligare en artikel om EL? För att jag vill visa dig, hur det fungerar i ett enkelt exempel, som fick mig att förstÄ att det inte finns nÄgot mystiskt med detta.

NÀr jag först sÄg EL i aktion (i en uppgift med flera mycket enkla regressionsmodeller) kunde jag inte tro mina ögon, och jag minns fortfarande professorn som lÀrde mig denna metod.

Jag hade tvĂ„ olika modeller (tvĂ„ svaga inlĂ€rningsalgoritmer) med out-of-sample RÂČ-vĂ€rden lika med 0,90 och 0,93 respektive. Innan jag sĂ„g resultatet trodde jag att jag skulle fĂ„ RÂČ nĂ„gonstans mellan de tvĂ„ ursprungliga vĂ€rdena. Med andra ord trodde jag att EL kunde anvĂ€ndas för att fĂ„ modellen att fungera inte sĂ„ dĂ„ligt som den sĂ€msta, men inte sĂ„ bra som den bĂ€sta modellen skulle kunna prestera. Till min största överraskning gav resultaten av den enkla genomsnittliga förutsĂ€gelsen RÂČ pĂ„ 0,95.

Först började jag leta efter fel, men sedan tÀnkte jag att det kanske döljer sig nÄgon slags magi hÀr! 

Vad Àr Ensemble Learning

Med hjÀlp av EL kan man kombinera förutsÀgelser frÄn tvÄ eller flera modeller för att fÄ en mer tillförlitlig och effektiv modell. Det finns mÄnga metodologier för att arbeta med ensembles av modeller. HÀr kommer jag att beröra tvÄ av de mest anvÀndbara för att ge en övergripande förstÄelse.

regression

Med hjÀlp av man kan ta genomsnitt av befintliga modellresultat. klassificering

Med hjĂ€lp av man kan lĂ„ta modellerna vĂ€lja etiketter. Etiketten som valdes oftast – Ă€r den som den nya modellen kommer att vĂ€lja. Varför fungerar EL bĂ€ttre

Varför EL fungerar bÀttre

Huvudorsaken till att EL fungerar bĂ€ttre Ă€r att varje prediktion har ett fel (detta vet vi frĂ„n sannolikhetsteorin). Att kombinera tvĂ„ prediktioner kan hjĂ€lpa till att minska felet och dĂ€rmed förbĂ€ttra prestandan (RMSE, RÂČ, osv.).

I nÀsta diagram kan vi se hur tvÄ svaga algoritmer arbetar med en datamÀngd. Den första algoritmen har en brantare lutning Àn nödvÀndigt, medan den andra nÀstan Àr lika med noll (kanske pÄ grund av överanpassning). Men ensemble visar ett betydligt bÀttre resultat. 

Om vi ser pĂ„ RÂČ-vĂ€rdet, kommer det för den första och andra inlĂ€rningsalgoritmen att vara -0,01Âč och 0,22, respektive, medan ensemblen ger 0,73.

Magin med Ensemble Learning

Det finns mÄnga anledningar till att en algoritm kan visa sig vara en dÄlig modell Àven i ett sÄ grundlÀggande exempel som detta: kanske har du valt att anvÀnda regularisering för att undvika överanpassning, eller valt att inte utesluta vissa anomalier, eller kanske har du anvÀnt polynomisk regression och valt fel grad (till exempel anvÀnt ett polynom av andra graden, medan det i testdata Àr uppenbar asymmetri dÀr tredje graden skulle passa bÀttre).

NÀr EL fungerar bÀttre

LÄt oss titta pÄ tvÄ inlÀrningsalgoritmer som arbetar med samma data.

Magin med Ensemble Learning

HĂ€r kan vi se att kombinationen av tvĂ„ modeller inte förbĂ€ttrade prestandan sĂ€rskilt mycket. Ursprungligen hade de tvĂ„ inlĂ€rningsalgoritmerna RÂČ-vĂ€rden pĂ„ -0,37 respektive 0,22, medan ensemblen resulterade i -0,04. Det vill sĂ€ga att EL-modellen fick ett medelvĂ€rde av vĂ€rdena.

Men det finns en stor skillnad mellan dessa tvÄ exempel: i det första exemplet var modellernas fel negativt korrelerade, medan de i det andra var positivt korrelerade (koefficienterna för de tre modellerna utvÀrderades inte utan valdes bara av författaren som exempel).

DÀrför kan ensemble learning anvÀndas för att förbÀttra balansen mellan bias/varians i alla fall, men nÀr modellernas fel inte Àr positivt korrelerade, kan anvÀndningen av EL leda till ökad prestanda..

Homogena och heterogena modeller

Ensemble Learning anvÀnds ofta pÄ homogena modeller (som i detta exempel eller i en random forest), men i verkligheten kan du kombinera olika modeller (linjÀr regression + neuronnÀt + XGBoost) med olika uppsÀttningar av förklarande variabler. Detta kommer sannolikt att leda till okorrelerade fel och ökad prestanda.

JÀmförelse med portföljdiversifiering

Ensemble Learning fungerar pÄ samma sÀtt som diversifiering i portföljteori, vilket Àr bra för oss. 

Vid diversifiering försöker du minska spridningen av dina resultat genom att investera i okorrelerade aktier. En vÀl diversifierad aktieportfölj kommer att ge en avkastning som Àr bÀttre Àn den sÀmsta enskilda aktien, men aldrig bÀttre Àn den bÀsta.

Citerar Warren Buffett: 

„Diversifiering Ă€r en skyddsmekanism mot okunnighet; för den som inte vet vad han gör, har det [diversifiering] mycket lite mening.”

Inom maskininlÀrning hjÀlper Ensemble Learning till att minska spridningen av din modell, men det kan leda till en modell som har en övergripande prestanda som Àr bÀttre Àn den bÀsta ursprungliga modellen.

Sammanfattningsvis

Att kombinera flera modeller till en Àr en relativt enkel metod som kan hjÀlpa till att lösa problemet med bias-spridning och öka prestandan.

Om du har tvÄ eller fler modeller som fungerar bra, vÀlj inte mellan dem: anvÀnd dem alla (men med försiktighet)!

Är du intresserad av att utvecklas inom detta omrĂ„de? AnmĂ€l dig till en gratis demo-lektion «Utdeployering av ML-modeller i produktionsmiljö med exempel pĂ„ online-rekommendationer» och delta i ett online-möte med Andrey Kuznetsov — Machine Learning Engineer pĂ„ Mail.ru Group.

KĂ€lla: habr.com

Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar đŸ”„ Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar | ProHoster