Magisch ensemble leren

Hé Habr! We nodigen Data Engineers en Machine Learning specialisten uit voor een gratis Demo-les "Introductie van ML-modellen in de industriële omgeving aan de hand van online aanbevelingen". We publiceren ook een artikel van Luca Monno - Head of Financial Analytics bij CDP SpA.

Een van de handigste en eenvoudigste methoden voor machine learning is Ensemble Learning. Ensemble Learning is de onderliggende techniek voor XGBoost, Bagging, Random Forest en vele andere algoritmen.

Er zijn veel geweldige artikelen over Towards Data Science, maar ik heb twee verhalen gekozen (eerste и tweede) die ik het leukst vond. Dus waarom nog een artikel over EL schrijven? Omdat ik het je wil laten zien hoe het werkt op een eenvoudig voorbeeld, waardoor ik begreep dat er hier geen magie is.

Toen ik EL voor het eerst in actie zag (werken met enkele zeer eenvoudige regressiemodellen) kon ik mijn ogen niet geloven, en ik herinner me nog steeds de professor die me deze methode leerde.

Ik had twee verschillende modellen (twee zwakke leeralgoritmen) met exponenten buiten de steekproef R² gelijk aan respectievelijk 0,90 en 0,93. Voordat ik naar het resultaat keek, dacht ik dat ik R² ergens tussen de twee beginwaarden zou krijgen. Met andere woorden, ik dacht dat EL kon worden gebruikt om het model niet zo slecht te laten presteren als het slechtste model, maar niet zo goed als het beste model.

Tot mijn grote verbazing gaven de resultaten van een simpele middeling van de voorspellingen een R² van 0,95. 

Eerst ging ik op zoek naar een fout, maar toen dacht ik dat hier misschien wat magie verborgen zat!

Wat is ensembleleren

Met EL kunt u de voorspellingen van twee of meer modellen combineren om een ​​betrouwbaarder en performanter model te krijgen. Er zijn veel methoden om met ensembles van modellen te werken. Hier zal ik de twee nuttigste bespreken om u een idee te geven.

Met regressie u kunt de prestaties van de beschikbare modellen gemiddelden.

Met classificatie u kunt modellen labels laten kiezen. Het label dat het vaakst werd gekozen, wordt door het nieuwe model gekozen.

Waarom EL beter werkt

De belangrijkste reden waarom EL beter werkt, is omdat elke voorspelling een fout bevat (we weten dit uit de waarschijnlijkheidstheorie), het combineren van twee voorspellingen kan helpen om de fout te verminderen en zo de prestatie-indicatoren te verbeteren (RMSE, R², enz.).d.).

Het volgende diagram laat zien hoe twee zwakke algoritmen werken op een dataset. Het eerste algoritme heeft een grotere helling dan nodig is, terwijl het tweede bijna nul heeft (mogelijk door overmatige regularisatie). Maar ensemble laat betere resultaten zien. 

Als je naar de R² kijkt, dan is het eerste en tweede trainingsalgoritme respectievelijk gelijk aan -0.01¹, 0.22, terwijl het voor het ensemble gelijk is aan 0.73.

Magisch ensemble leren

Er zijn veel redenen waarom een ​​algoritme een slecht model kan zijn, zelfs voor een eenvoudig voorbeeld als dit: misschien heb je besloten om regularisatie te gebruiken om overfitting te voorkomen, of heb je besloten om sommige anomalieën niet te elimineren, of misschien heb je polynomiale regressie gebruikt en de verkeerde graad gekozen (bijvoorbeeld een polynoom van de tweede graad gebruikt, en de testgegevens laten een duidelijke asymmetrie zien, waarvoor de derde graad beter geschikt zou zijn).

Wanneer EL het beste werkt

Laten we eens kijken naar twee leeralgoritmen die op dezelfde gegevens werken.

Magisch ensemble leren

Hier kun je zien dat het combineren van de twee modellen de prestaties niet veel verbeterde. Aanvankelijk waren de R²-waarden voor de twee trainingsalgoritmen respectievelijk -0,37 en 0,22, en voor het ensemble bleek het -0,04 te zijn. Dat wil zeggen, het EL-model ontving de gemiddelde waarde van de indicatoren.

Er is echter een groot verschil tussen deze twee voorbeelden: in het eerste voorbeeld waren de fouten van de modellen negatief gecorreleerd, en in het tweede - positief (de coëfficiënten van de drie modellen werden niet geschat, maar eenvoudigweg gekozen door de auteur als voorbeeld.)

Daarom kan Ensemble Learning worden gebruikt om de balans tussen bias en spreiding in alle gevallen te verbeteren, maar wanneer modelfouten zijn niet positief gecorreleerd, het gebruik van EL kan leiden tot betere prestaties.

Homogene en heterogene modellen

Heel vaak wordt EL gebruikt op homogene modellen (zoals in dit voorbeeld of willekeurig bos), maar in feite kun je verschillende modellen combineren (lineaire regressie + neuraal netwerk + XGBoost) met verschillende sets verklarende variabelen. Dit leidt waarschijnlijk tot niet-gecorreleerde fouten en verbetert de prestaties.

Vergelijking met portefeuillediversificatie

EL werkt op dezelfde manier als diversificatie in de portefeuilletheorie, maar des te beter voor ons. 

Wanneer u diversifieert, probeert u de variantie in uw prestaties te verkleinen door te beleggen in niet-gecorreleerde aandelen. Een goed gediversifieerde aandelenportefeuille zal beter presteren dan het slechtste afzonderlijke aandeel, maar nooit beter dan het beste.

Ik citeer Warren Buffett: 

"Diversificatie is een verdediging tegen onwetendheid, voor iemand die niet weet wat hij doet, heeft [diversificatie] weinig zin."

Bij machine learning helpt EL de variantie van uw model te verminderen, maar dit kan resulteren in een model met betere algehele prestaties dan het beste initiële model.

Opsommen

Het combineren van meerdere modellen tot één is een relatief eenvoudige techniek die kan leiden tot een oplossing voor het probleem van variantiebias en tot verbeterde prestaties.

Als je twee of meer modellen hebt die goed werken, kies er dan niet tussen: gebruik ze allemaal (maar wees voorzichtig)!

Heb je interesse om je in deze richting te ontwikkelen? Meld je aan voor een gratis demoles "Introductie van ML-modellen in de industriële omgeving aan de hand van online aanbevelingen" en deelnemen online ontmoeting met Andrey Kuznetsov - Machine Learning Engineer bij Mail.ru Group.

Bron: www.habr.com

Voeg een reactie