Varför använda ensembleinlärning?

Tweet Share Share

Vad är fördelarna med ensembler för maskininlärning?

Ensembler är prediktionsmodeller som kombinerar förutsägelser från två eller flera andra modeller.

Ensemblelärningsmetoder är populära och den bästa tekniken när den bästa prestandan i ett prediktivt modelleringsprojekt är det viktigaste resultatet.

Nåväl är de inte alltid den lämpligaste tekniken att använda och nybörjare inom tillämpad maskininlärning har förväntningar på att ensembler eller en specifik ensemblemetod alltid är den bästa metoden att använda.

Ensembler erbjuder två specifika fördelar på ett prediktivt modelleringsprojekt, och det är viktigt att veta vilka dessa fördelar är och hur man mäter dem för att se till att användningen av en ensemble är det rätta beslutet i ditt projekt.

In this tutorial, you will discover the benefits of using ensemble methods for machine learning.

After reading this tutorial, you will know:

  • A minimum benefit of using ensembles is to reduce the spread in the average skill of a predictive model.
  • A key benefit of using ensembles is to improve the average prediction performance over any contributing member in the ensemble.
  • The mechanism for improved performance with ensembles is often the reduction in the variance component of prediction errors made by the contributing models.

Let’s get started.

Why Use Ensemble Learning
Photo by Juan Antonio Segal, some rights reseved.

Tutorial Overview

This tutorial is divided into four parts; they are:

  1. Ensemblelärning
  2. Använd ensembler för att förbättra robustheten
  3. Bias, varians och ensembler
  4. Använd ensembler för att förbättra prestandan

Ensemblelärning

En ensemble är en modell för maskininlärning som kombinerar förutsägelserna från två eller flera modeller.

De modeller som bidrar till ensemblen, kallade ensemblemedlemmar, kan vara av samma typ eller olika typer och kan ha tränats på samma träningsdata eller inte.

Prediktionerna från ensemblemedlemmarna kan kombineras med hjälp av statistik, t.ex. modus eller medelvärde, eller med hjälp av mer sofistikerade metoder som lär sig hur mycket man ska lita på varje medlem och under vilka förhållanden.

Studien av ensemblemetoder tog verkligen fart på 1990-talet, och under det decenniet publicerades artiklar om de mest populära och allmänt använda metoderna, t.ex. core bagging-, boosting- och staplingsmetoder.

I slutet av 2000-talet tog antagandet av ensembler fart, delvis på grund av deras enorma framgångar i tävlingar om maskininlärning, t.ex. Netflix-priset och senare tävlingar på Kaggle.

Under de senaste decennierna har system med flera klassificerare, även kallade ensemblesystem, åtnjutit allt större uppmärksamhet i samhället för beräkningsintelligens och maskininlärning.

– Sida 1, Ensemble Machine Learning, 2012.

Ensemblemetoder ökar kraftigt beräkningskostnaderna och komplexiteten. Denna ökning beror på den expertis och den tid som krävs för att utbilda och underhålla flera modeller i stället för en enda modell. Detta tvingar fram frågan:

  • Varför ska vi överväga att använda en ensemble?

Det finns två huvudskäl till att använda en ensemble i stället för en enskild modell, och de är relaterade; de är:

  1. Prestanda: En ensemble kan göra bättre förutsägelser och uppnå bättre prestanda än en enskild bidragande modell.
  2. Robusthet: En ensemble minskar spridningen av förutsägelserna och modellens prestanda.

Ensembler används för att uppnå bättre förutsägelseprestanda för ett problem med prediktiv modellering än en enskild prediktiv modell. Det sätt på vilket detta uppnås kan förstås som att modellen minskar varianskomponenten i förutsägelsefelet genom att lägga till bias (dvs. i samband med bias-varians-avvägningen).

Ursprungligen utvecklades modellen för att minska variansen – och därmed förbättra noggrannheten – i ett automatiserat system för beslutsfattande …

– Page 1, Ensemble Machine Learning, 2012.

Det finns en annan viktig och mindre diskuterad fördel med ensemblemetoder är förbättrad robusthet eller tillförlitlighet i en modells genomsnittliga prestanda.

Dessa är båda viktiga frågor i ett projekt för maskininlärning och ibland kan vi föredra en eller båda egenskaperna hos en modell.

Låt oss ta en närmare titt på dessa två egenskaper för att bättre förstå fördelarna med att använda ensembleinlärning i ett projekt.

Använd ensembleinlärning för att förbättra robustheten

I ett projekt för prediktiv modellering utvärderar vi ofta flera modeller eller modelleringspipelines och väljer en som presterar bra eller bäst som vår slutliga modell.

Algoritmen eller pipelinen anpassas sedan på alla tillgängliga data och används för att göra förutsägelser på nya data.

Vi har en uppfattning om hur bra modellen kommer att prestera i genomsnitt från vårt testarsenal, vilket vanligtvis uppskattas med hjälp av upprepad k-faldig korsvalidering som en guldstandard. Problemet är att den genomsnittliga prestandan kanske inte är tillräcklig.

En genomsnittlig noggrannhet eller ett genomsnittligt fel för en modell är en sammanfattning av den förväntade prestandan, när det i själva verket är så att vissa modeller presterade bättre och andra modeller presterade sämre på olika delmängder av data.

Standardavvikelsen är den genomsnittliga skillnaden mellan en observation och medelvärdet och sammanfattar spridningen eller spridningen av data. För ett noggrannhets- eller felmått för en modell kan det ge dig en uppfattning om spridningen av modellens beteende.

Om du tittar på de lägsta och högsta poängen för modellens prestanda får du en uppfattning om den sämsta och bästa prestandan som du kan förvänta dig av modellen, och detta kanske inte är acceptabelt för din tillämpning.

Den enklaste ensemblen är att anpassa modellen flera gånger på träningsdatamängderna och kombinera förutsägelserna med hjälp av en sammanfattningsstatistik, t.ex. medelvärde för regression eller mode för klassificering. Det är viktigt att varje modell måste vara något annorlunda på grund av den stokastiska inlärningsalgoritmen, skillnader i sammansättningen av träningsdatamängden eller skillnader i själva modellen.

Detta kommer att minska spridningen i de förutsägelser som görs av modellen. Den genomsnittliga prestandan kommer förmodligen att vara ungefär densamma, även om den värsta och bästa prestandan kommer att komma närmare den genomsnittliga prestandan.

I själva verket jämnar det ut modellens förväntade prestanda.

Vi kan kalla detta för ”robusthet” i modellens förväntade prestanda och det är en minimifördel av att använda en ensemble-metod.

En ensemble kanske eller kanske inte förbättrar modelleringsprestationen i förhållande till en enskild bidragande medlem, vilket diskuteras mer längre fram, men som ett minimum bör den minska spridningen i modellens genomsnittliga prestanda.

För mer information om detta ämne, se handledningen:

  • Hur man minskar variansen i en slutlig maskininlärningsmodell

Bias, varians och ensembler

Maskininlärningsmodeller för klassificering och regression lär sig en mappningsfunktion från indata till utdata.

Denna mappning lärs in från exempel från problemområdet, träningsdatasetet, och utvärderas på data som inte användes under träningen, testdataset.

De fel som görs av en maskininlärningsmodell beskrivs ofta i termer av två egenskaper: bias och varians.

Bias är ett mått på hur nära modellen kan fånga mappningsfunktionen mellan ingångar och utgångar. Den fångar modellens styvhet: styrkan i modellens antagande om den funktionella formen för mappningen mellan in- och utdata.

Modellens varians är hur mycket modellens prestanda förändras när den anpassas på olika träningsdata. Den fångar den inverkan som specifika data har på modellen.

Variansen avser det belopp som skulle förändras om vi skattade den med hjälp av en annan uppsättning träningsdata.

– Sida 34, An Introduction to Statistical Learning with Applications in R, 2014.

Bias och varians för en modells prestanda hänger ihop.

Ideellt sett skulle vi föredra en modell med låg bias och låg varians, även om det i praktiken är mycket svårt. Faktum är att detta skulle kunna beskrivas som målet för tillämpad maskininlärning för ett givet prediktivt modelleringsproblem.

Reduktion av bias kan ofta enkelt uppnås genom att öka variansen. Omvänt kan en minskning av variansen lätt uppnås genom att öka bias.

Detta kallas en kompromiss eftersom det är lätt att få en metod med extremt låg bias men hög varians eller en metod med mycket låg varians men hög bias …

– Sida 36, An Introduction to Statistical Learning with Applications in R, 2014.

Vissa modeller har naturligt en hög bias eller en hög varians, vilket ofta kan mildras eller ökas med hjälp av hyperparametrar som ändrar algoritmens inlärningsbeteende.

Ensembler ger ett sätt att minska förutsägelsernas varians; det vill säga den mängd fel i de gjorda förutsägelserna som kan tillskrivas ”varians”.

Detta är inte alltid fallet, men när så är fallet leder denna minskning av variansen i sin tur till förbättrade förutsägelseprestanda.

Empiriska och teoretiska bevis visar att vissa ensemble-tekniker (t.ex. bagging) fungerar som en mekanism för att minska variansen, dvs, de minskar felets varianskomponent. Dessutom tyder empiriska resultat på att andra ensembletekniker (t.ex. AdaBoost) minskar både bias- och variansdelarna av felet.

– Sida 39, Pattern Classification Using Ensemble Methods, 2010.

Användning av ensembler för att minska variansegenskaperna hos förutsägelsefel leder till den viktigaste fördelen med att använda ensembler överhuvudtaget: att förbättra den prediktiva prestandan.

Använd ensembler för att förbättra prestanda

Reduktion av varianselementet i prediktionsfelet förbättrar den prediktiva prestandan.

Vi använder uttryckligen ensembleinlärning för att eftersträva bättre prediktiv prestanda, t.ex. lägre fel vid regression eller hög noggrannhet vid klassificering.

… det finns ett sätt att förbättra modellens noggrannhet som är enklare och kraftfullare än ett omdömesgillt val av algoritmer: man kan samla modeller i ensembler.

– Sidan 2, Ensemble Methods in Data Mining, 2010.

Detta är den primära användningen av metoder för ensembleinlärning och den fördel som visats genom att flertalet vinnare av tävlingar i maskininlärning, t.ex. Netflixpriset och tävlingar på Kaggle, använder ensembler.

I Netflixpriset pågick en tävling i två år där det första laget som skickade in en modell som förbättrade Netflix interna rekommendationssystem med 10 % skulle vinna 1 000 000 dollar. Den slutliga fördelen erhölls genom att väga bidragen från modellerna från upp till 30 konkurrenter.

– Sida 8, Ensemble Methods in Data Mining, 2010.

Denna fördel har också visats med akademiska tävlingar, t.ex. topplösningar för den berömda ImageNet-dataseten inom datorseende.

En ensemble av dessa restnät uppnår 3,57 % fel på ImageNet-testuppsättningen. Detta resultat vann första platsen i klassificeringsuppgiften ILSVRC 2015.

– Deep Residual Learning for Image Recognition, 2015.

När en ensemble används på detta sätt bör den bara antas om den i genomsnitt presterar bättre än alla bidragande medlemmar i ensemblen. Om detta inte är fallet bör den bidragande medlem som presterar bättre användas i stället.

Konsultera fördelningen av förväntade poäng som beräknas av en modell på ett testbälte, t.ex. upprepad k-fold korsvalidering, som vi gjorde ovan när vi betraktade den ”robusthet” som erbjuds av en ensemble. En ensemble som minskar variansen i felet kommer i själva verket att förskjuta fördelningen snarare än att helt enkelt krympa spridningen av fördelningen.

Detta kan resultera i en bättre genomsnittlig prestanda jämfört med en enskild modell.

Detta är inte alltid fallet, och att ha denna förväntan är ett vanligt misstag som begåtts av nybörjare.

Det är möjligt, och till och med vanligt, att prestandan i en ensemble inte presterar bättre än den bäst presterande medlemmen i ensemblen. Detta kan hända om ensemblen har en modell som presterar bäst och de andra medlemmarna inte ger någon nytta eller om ensemblen inte kan utnyttja deras bidrag på ett effektivt sätt.

Det är också möjligt för en ensemble att prestera sämre än den bäst presterande medlemmen i ensemblen. Detta är också vanligt någon typiskt innebär en toppresterande modell vars förutsägelser försämras av en eller flera andra modeller som presterar dåligt och ensemblen kan inte utnyttja deras bidrag på ett effektivt sätt.

Som sådan är det viktigt att testa en uppsättning ensemblemetoder och justera deras beteende, precis som vi gör för varje enskild maskininlärningsmodell.

Fördjupad läsning

Det här avsnittet innehåller fler resurser i ämnet om du vill fördjupa dig.

Related Tutorials

  • How to Reduce Variance in a Final Machine Learning Model
  • How to Develop a Horizontal Voting Deep Learning Ensemble to Reduce Variance

Books

  • Pattern Classification Using Ensemble Methods, 2010.
  • Ensemble Methods, 2012.
  • Ensemble Machine Learning, 2012.
  • Ensemble Methods in Data Mining, 2010.

Articles

  • Ensemble learning, Wikipedia.
  • Ensemble learning, Scholarpedia.

Summary

In this post, you discovered the benefits of using ensemble methods for machine learning.

Specifikt lärde du dig:

  • En minsta fördel med att använda ensembler är att minska spridningen i den genomsnittliga skickligheten hos en prediktiv modell.
  • En viktig fördel med att använda ensembler är att förbättra den genomsnittliga prediktionsprestandan över varje bidragande medlem i ensemblen.
  • Mekanismen för förbättrad prestanda med ensembler är ofta minskningen av varianskomponenten i de prediktionsfel som görs av de bidragande modellerna.

Lämna ett svar

Din e-postadress kommer inte publiceras.