Magic Ensemble Learning

Hej Habr! Vi bjuder in dataingenjörer och maskininlärningsspecialister till en gratis demo-lektion "Introduktion av ML-modeller till den industriella miljön med hjälp av exemplet med onlinerekommendationer". Vi publicerar även en artikel av Luca Monno - Head of Financial Analytics på CDP SpA.

En av de mest användbara och enkla metoderna för maskininlärning är Ensemble Learning. Ensemble Learning är den underliggande tekniken för XGBoost, Bagging, Random Forest och många andra algoritmer.

Det finns många bra artiklar om Towards Data Science, men jag valde två berättelser (först и andra) som jag gillade mest. Så varför skriva ännu en artikel om EL? För jag vill visa dig hur det fungerar i ett enkelt exempel, vilket fick mig att förstå att det inte finns någon magi här.

När jag först såg EL i aktion (att arbeta med några mycket enkla regressionsmodeller) trodde jag inte mina ögon, och jag minns fortfarande professorn som lärde mig den här metoden.

Jag hade två olika modeller (två svaga inlärningsalgoritmer) med exponenter utanför provet R² lika med 0,90 respektive 0,93. Innan jag tittade på resultatet trodde jag att jag skulle få R² någonstans mellan de två initiala värdena. Jag tänkte med andra ord att EL kunde användas för att få modellen att inte prestera lika dåligt som den sämsta modellen, men inte så bra som den bästa modellen kunde.

Till min stora förvåning gav resultaten av ett enkelt medelvärde av förutsägelserna en R² på 0,95. 

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

Vad är Ensemble Learning

Med EL kan du kombinera förutsägelserna från två eller flera modeller för att få en mer pålitlig och mer presterande modell. Det finns många metoder för att arbeta med ensembler av modeller. Här kommer jag att beröra de två mest användbara för att ge dig en idé.

Med regression du kan genomsnittliga prestandan för de tillgängliga modellerna.

Med klassificering du kan låta modellerna välja etiketter. Den etikett som valdes oftast är den som kommer att väljas av den nya modellen.

Varför EL fungerar bättre

Den främsta anledningen till att EL fungerar bättre är för att varje förutsägelse har ett fel (vi vet detta från sannolikhetsteorin), att kombinera två förutsägelser kan hjälpa till att minska felet, och därmed förbättra prestandaindikatorer (RMSE, R², etc.). d.).

Följande diagram visar hur två svaga algoritmer fungerar på en datamängd. Den första algoritmen har en större lutning än nödvändigt, medan den andra har nästan noll (möjligen på grund av överdriven regularisering). Men ensemble visar bättre resultat. 

Om du tittar på R², kommer den första och andra träningsalgoritmen att ha det lika med -0.01¹ respektive 0.22, medan det för ensemblen kommer att vara lika med 0.73.

Magic Ensemble Learning

Det finns många anledningar till varför en algoritm kan vara en dålig modell även för ett grundläggande exempel som detta: kanske du bestämde dig för att använda regularisering för att undvika överanpassning, eller så bestämde du dig för att inte eliminera vissa anomalier, eller så använde du polynomregression och valde fel grad (till exempel använde ett polynom av andra graden, och testdata visar en tydlig asymmetri, för vilken den tredje graden skulle vara bättre lämpad).

När EL fungerar bäst

Låt oss titta på två inlärningsalgoritmer som fungerar på samma data.

Magic Ensemble Learning

Här kan du se att kombinationen av de två modellerna inte förbättrade prestandan mycket. Inledningsvis, för de två träningsalgoritmerna, var R²-värdena -0,37 respektive 0,22, och för ensemblen visade det sig vara -0,04. Det vill säga EL-modellen fick medelvärdet av indikatorerna.

Det finns dock en stor skillnad mellan dessa två exempel: i det första exemplet var felen i modellerna negativt korrelerade, och i det andra - positivt (koefficienterna för de tre modellerna uppskattades inte, utan valdes helt enkelt av författaren som ett exempel.)

Därför kan Ensemble Learning användas för att förbättra bias/dispersionsbalansen i alla fall, men när modellfel är inte positivt korrelerade, att använda EL kan leda till bättre prestanda.

Homogena och heterogena modeller

Mycket ofta används EL på homogena modeller (som i detta exempel eller slumpmässig skog), men i själva verket kan du kombinera olika modeller (linjär regression + neuralt nätverk + XGBoost) med olika uppsättningar av förklarande variabler. Detta kommer sannolikt att leda till okorrelerade fel och förbättra prestandan.

Jämförelse med portföljdiversifiering

EL fungerar på ett liknande sätt som diversifiering i portföljteorin, men så mycket bättre för oss. 

När du diversifierar försöker du minska variansen i din prestation genom att investera i okorrelerade aktier. En väldiversifierad portfölj av aktier kommer att prestera bättre än den sämsta enskilda aktien, men aldrig bättre än den bästa.

Citerar Warren Buffett: 

"Diversifiering är ett försvar mot okunnighet, för någon som inte vet vad han gör är [diversifiering] väldigt lite vettigt."

I maskininlärning hjälper EL till att minska variansen i din modell, men detta kan resultera i en modell med bättre övergripande prestanda än den bästa initiala modellen.

Summera

Att kombinera flera modeller till en är en relativt enkel teknik som kan leda till en lösning på problemet med variansbias och förbättrad prestanda.

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

Är du intresserad av att utvecklas i denna riktning? Registrera dig för en gratis demo-lektion "Introduktion av ML-modeller till den industriella miljön med hjälp av exemplet med onlinerekommendationer" och delta i onlinemöte med Andrey Kuznetsov — Machine Learning Engineer på Mail.ru Group.

Källa: will.com

Lägg en kommentar