Ensemble Learning förklaras i enklast möjliga termer

Ensemble learning kan hjälpa dig att fatta bättre beslut och lösa många verkliga utmaningar genom att kombinera beslut från flera modeller.

Maskininlärning (ML) fortsätter att expandera sina vingar inom flera sektorer och branscher, oavsett om det är finans, medicin, apputveckling eller säkerhet.

Att träna ML-modeller på rätt sätt hjälper dig att nå större framgång i din verksamhet eller jobbroll, och det finns olika metoder för att uppnå det.

I den här artikeln kommer jag att diskutera ensembleinlärning, dess betydelse, användningsfall och tekniker.

Håll ögonen öppna!

Vad är Ensemble Learning?

I maskininlärning och statistik hänvisar ”ensemble” till metoder som genererar olika hypoteser samtidigt som man använder en gemensam basinlärare.

Och ensemble learning är en maskininlärningsmetod där flera modeller (som experter eller klassificerare) skapas strategiskt och kombineras med syftet att lösa ett beräkningsproblem eller göra bättre förutsägelser.

Detta tillvägagångssätt syftar till att förbättra förutsägelsen, funktionsapproximationen, klassificeringen etc. prestanda för en given modell. Det används också för att eliminera möjligheten att du väljer en dålig eller mindre värdefull modell av många. För att uppnå förbättrad prediktiv prestanda används flera inlärningsalgoritmer.

Vikten av Ensemble Learning i ML

I maskininlärningsmodeller finns det vissa källor som bias, varians och brus som kan orsaka fel. Ensembleinlärning kan hjälpa till att minska dessa felorsakande källor och säkerställa stabiliteten och noggrannheten hos dina ML-algoritmer.

Här är varför ensemble learning används i olika scenarier:

Att välja rätt klassificerare

Ensembleinlärning hjälper dig att välja en bättre modell eller klassificerare samtidigt som du minskar risken som kan uppstå på grund av dåligt modellval.

Det finns olika typer av klassificerare som används för olika problem, såsom stödvektormaskiner (SVM), multilayer perceptron (MLP), naiva Bayes-klassificerare, beslutsträd etc. Dessutom finns det olika realiseringar av klassificeringsalgoritmer som du måste välja . Prestanda för olika träningsdata kan också vara olika.

Men istället för att bara välja en modell, om du använder en ensemble av alla dessa modeller och kombinerar deras individuella resultat, kan du undvika att välja sämre modeller.

Datavolym

Många ML-metoder och modeller är inte så effektiva i sina resultat om du matar dem med otillräcklig data eller en stor mängd data.

Å andra sidan kan ensembleinlärning fungera i båda scenarierna, även om datavolymen är för liten eller för stor.

  • Om det finns otillräcklig data kan du använda bootstrapping för att träna olika klassificerare med hjälp av olika bootstrap-dataprover.
  • Om det finns en stor datavolym som kan göra träningen av en enskild klassificerare utmanande, kan man strategiskt dela upp data i mindre delmängder.

Komplexitet

En enda klassificerare kanske inte kan lösa vissa mycket komplexa problem. Deras beslutsgränser som separerar data från olika klasser kan vara mycket komplexa. Så om du använder en linjär klassificerare på en icke-linjär, komplex gräns, kommer den inte att kunna lära sig den.

Men genom att korrekt kombinera en ensemble av lämpliga linjära klassificerare kan du få den att lära sig en given olinjär gräns. Klassificeraren kommer att dela upp data i många lättlästa och mindre partitioner, och varje klassificerare lär sig bara en enklare partition. Därefter kommer olika klassificerare att kombineras för att producera en ca. beslutsgräns.

Förtroendeuppskattning

I ensemble learning tilldelas en förtroendevotum till ett beslut som ett system har fattat. Anta att du har en ensemble av olika klassificerare tränade på ett givet problem. Om majoriteten av klassificerarna håller med om det fattade beslutet kan resultatet ses som en ensemble med ett beslut med högt förtroende.

Å andra sidan, om hälften av klassificerarna inte håller med om det beslut som fattats, sägs det vara en ensemble med ett beslut med lågt förtroende.

Men lågt eller högt förtroende är inte alltid det korrekta beslutet. Men det finns en stor chans att ett beslut med högt självförtroende blir korrekt om ensemblen är rätt tränad.

Noggrannhet med Data Fusion

Data som samlas in från flera källor, när de kombineras strategiskt, kan förbättra noggrannheten i klassificeringsbeslut. Denna noggrannhet är högre än den som görs med hjälp av en enda datakälla.

Hur fungerar Ensemble Learning?

Ensemble learning tar flera mappningsfunktioner som olika klassificerare har lärt sig och kombinerar dem sedan för att skapa en enda mappningsfunktion.

Här är ett exempel på hur ensembleinlärning fungerar.

Exempel: Du skapar en livsmedelsbaserad applikation för slutanvändarna. För att erbjuda en användarupplevelse av hög kvalitet vill du samla in deras feedback angående de problem de möter, framträdande kryphål, fel, buggar, etc.

För detta kan du fråga om åsikter från din familj, vänner, kollegor och andra personer som du ofta kommunicerar med angående deras matval och deras erfarenhet av att beställa mat online. Du kan också släppa din applikation i beta för att samla in realtidsfeedback utan fördomar eller brus.

Så vad du faktiskt gör här är att överväga flera idéer och åsikter från olika personer för att förbättra användarupplevelsen.

Ensemble learning och dess modeller fungerar på liknande sätt. Den använder en uppsättning modeller och kombinerar dem för att producera en slutlig utdata för att förbättra prediktionsnoggrannheten och prestanda.

Grundläggande ensembleinlärningstekniker

#1. Läge

Ett ”läge” är ett värde som visas i en datauppsättning. Inom ensembleinlärning använder ML-proffs flera modeller för att skapa förutsägelser om varje datapunkt. Dessa förutsägelser anses vara individuella röster och den förutsägelse som de flesta modeller har gjort anses vara den slutliga förutsägelsen. Det används mest i klassificeringsproblem.

Exempel: Fyra personer gav din ansökan 4 medan en av dem gav den 3, då skulle läget vara 4 eftersom majoriteten röstade 4.

#2. Medel/medelvärde

Med den här tekniken tar proffs hänsyn till alla modellförutsägelser och beräknar deras genomsnitt för att komma fram till den slutliga förutsägelsen. Det används mest för att göra förutsägelser för regressionsproblem, beräkna sannolikheter i klassificeringsproblem och mer.

Exempel: I exemplet ovan, där fyra personer gav din app betyg 4 medan en person gav den 3, skulle genomsnittet vara (4+4+4+4+3)/5=3,8

#3. Vägt genomsnitt

I denna ensembleinlärningsmetod tilldelar proffsen olika vikter till olika modeller för att göra en förutsägelse. Här beskriver den tilldelade vikten varje modells relevans.

Exempel: Anta att 5 personer gav feedback på din ansökan. Av dem är 3 applikationsutvecklare, medan 2 inte har någon erfarenhet av apputveckling. Så feedbacken från dessa 3 personer kommer att tilldelas mer vikt än de övriga 2.

Avancerade ensembleinlärningstekniker

#1. Säckväv

Bagging (Bootstrap AGGregatING) är en mycket intuitiv och enkel ensembleinlärningsteknik med bra prestanda. Som namnet antyder, är det gjort genom att kombinera två termer ”Bootstrap” och ”aggregation”.

Bootstrapping är en annan samplingsmetod där du kommer att behöva skapa delmängder av flera observationer tagna från en originaldatauppsättning med ersättning. Här kommer delmängdsstorleken att vara densamma som den för den ursprungliga datamängden.

Källa: Buggy programmerare

Så i påsar används delmängder eller påsar för att förstå fördelningen av hela uppsättningen. Emellertid kan delmängderna vara mindre än den ursprungliga datamängden i påsar. Denna metod involverar en enda ML-algoritm. Syftet med att kombinera olika modellers resultat är att få ett generaliserat utfall.

Så här fungerar packning:

  • Flera delmängder genereras från den ursprungliga uppsättningen och observationer väljs med ersättningar. Delmängderna används i utbildningen av modeller eller beslutsträd.
  • En svag modell eller basmodell skapas för varje delmängd. Modellerna kommer att vara oberoende av varandra och köras parallellt.
  • Den slutliga förutsägelsen kommer att göras genom att kombinera varje förutsägelse från varje modell med hjälp av statistik som medelvärde, röstning, etc.

Populära algoritmer som används i denna ensembleteknik är:

  • Slumpmässig skog
  • Påsade beslutsträd

Fördelen med denna metod är att den hjälper till att hålla variansfel till ett minimum i beslutsträd.

#2. Stapling

Bildkälla: OpenGenus IQ

I stapling eller staplad generalisering används förutsägelser från olika modeller, som ett beslutsträd, för att skapa en ny modell för att göra förutsägelser på denna testuppsättning.

Stacking involverar skapandet av bootstrapped delmängder av data för träningsmodeller, liknande påsar. Men här tas utdata från modeller som en indata som ska matas till en annan klassificerare, känd som en meta-klassificerare för den slutliga förutsägelsen av proven.

Anledningen till att två klassificeringsskikt används är för att bestämma om träningsdatauppsättningarna är inlärda på lämpligt sätt. Även om tvåskiktsmetoden är vanlig, kan fler lager också användas.

Du kan till exempel använda 3-5 modeller i det första lagret eller nivå-1 och en enda modell i lager 2 eller nivå 2. Den senare kommer att kombinera förutsägelserna som erhållits i nivå 1 för att göra den slutliga förutsägelsen.

Dessutom kan du använda vilken ML-inlärningsmodell som helst för att aggregera förutsägelser; en linjär modell som linjär regression, logistisk regression etc. är vanlig.

Populära ML-algoritmer som används vid stapling är:

  • Blandning
  • Super ensemble
  • Staplade modeller

Obs: Blandning använder en validerings- eller uthållningsuppsättning från träningsdatauppsättningen för att göra förutsägelser. Till skillnad från stapling innebär blandning att förutsägelser endast görs från hållplatsen.

#3. Boostning

Boosting är en iterativ ensembleinlärningsmetod som justerar en specifik observations vikt beroende på dess senaste eller tidigare klassificering. Detta innebär att varje efterföljande modell syftar till att korrigera de fel som finns i den tidigare modellen.

Om observationen inte klassificeras korrekt, ökar ökningen vikten av observationen.

I boosting tränar proffs den första algoritmen för boosting på en komplett datauppsättning. Därefter bygger de de efterföljande ML-algoritmerna genom att använda resterna som extraherats från den tidigare förstärkningsalgoritmen. De felaktiga observationer som förutspåddes av den tidigare modellen läggs således mer vikt.

Så här fungerar det stegvis:

  • En delmängd kommer att genereras från den ursprungliga datamängden. Varje datapunkt kommer att ha samma vikter initialt.
  • Skapandet av en basmodell sker på delmängden.
  • Förutsägelsen kommer att göras på hela datasetet.
  • Med hjälp av de faktiska och förutsagda värdena kommer fel att beräknas.
  • Felaktigt förutspådda observationer kommer att få större vikt
  • En ny modell kommer att skapas och den slutliga förutsägelsen kommer att göras på denna datamängd, medan modellen försöker korrigera de tidigare gjorda felen. Flera modeller kommer att skapas på liknande sätt, var och en korrigerar de tidigare felen
  • Den slutliga förutsägelsen kommer att göras från den slutliga modellen, som är det viktade medelvärdet av alla modeller.

Populära förstärkningsalgoritmer är:

  • CatBoost
  • Lätt GBM
  • AdaBoost

Fördelen med boosting är att det genererar överlägsna förutsägelser och minskar fel på grund av bias.

Andra ensembletekniker

En blandning av experter: den används för att träna flera klassificerare, och deras utdata är ensemble med en allmän linjär regel. Här bestäms vikterna som ges till kombinationerna av en träningsbar modell.

Majoritetsröstning: det innebär att man väljer en udda klassificerare, och förutsägelser beräknas för varje prov. Klassen som får den maximala klassen ur en klassificeringspool kommer att vara ensemblens förväntade klass. Det används för att lösa problem som binär klassificering.

Maxregel: den använder sannolikhetsfördelningarna för varje klassificerare och använder förtroende för att göra förutsägelser. Det används för klassificeringsproblem i flera klasser.

Verkliga användningsfall av Ensemble Learning

#1. Detektering av ansikte och känslor

Ensemble learning använder tekniker som oberoende komponentanalys (ICA) för att utföra ansiktsdetektion.

Dessutom används ensembleinlärning för att upptäcka känslor hos en person genom taldetektering. Dessutom hjälper dess funktioner användare att detektera känslor i ansiktet.

#2. säkerhet

Bedrägeriupptäckt: Ensembleinlärning hjälper till att förbättra kraften i modellering av normalt beteende. Det är därför det anses vara effektivt för att upptäcka bedrägliga aktiviteter, till exempel i kreditkorts- och banksystem, telekommunikationsbedrägerier, penningtvätt, etc.

DDoS: Distributed Denial of Service (DDoS) är en dödlig attack mot en ISP. Ensembleklassificerare kan minska feldetektering och även skilja attacker från äkta trafik.

Intrångsdetektering: Ensembleinlärning kan användas i övervakningssystem som verktyg för intrångsdetektering för att upptäcka inkräktningskoder genom att övervaka nätverk eller system, hitta avvikelser och så vidare.

Upptäcka skadlig kod: Ensembleinlärning är ganska effektivt för att upptäcka och klassificera skadlig kod som datorvirus och maskar, ransomware, trojanska hästar, spionprogram, etc. med hjälp av maskininlärningstekniker.

#3. Inkrementellt lärande

I inkrementell inlärning lär sig en ML-algoritm från en ny datamängd samtidigt som den behåller tidigare inlärningar men utan att komma åt tidigare data som den har sett. Ensemblesystem används i inkrementell inlärning genom att få den att lära sig en extra klassificerare på varje datauppsättning när den blir tillgänglig.

#4. Medicin

Ensembleklassificerare är användbara inom området medicinsk diagnos, såsom upptäckt av neurokognitiva störningar (som Alzheimers). Den utför detektion genom att ta MRI-datauppsättningar som indata och klassificera cervikal cytologi. Bortsett från det, används det inom proteomik (studier av proteiner), neurovetenskap och andra områden.

#5. Fjärranalys

Ändringsdetektering: Ensembleklassificerare används för att utföra ändringsdetektering genom metoder som Bayesianskt genomsnitt och majoritetsröstning.

Kartläggning av landtäcke: Ensemble-inlärningsmetoder som boosting, beslutsträd, kernel principal component analysis (KPCA) etc. används för att upptäcka och kartlägga marktäcke effektivt.

#6. Finansiera

Noggrannhet är en kritisk aspekt av ekonomi, oavsett om det är beräkningar eller förutsägelser. Det påverkar i hög grad resultatet av de beslut du fattar. Dessa kan också analysera förändringar i aktiemarknadsdata, upptäcka manipulation i aktiekurser och mer.

Ytterligare lärresurser

#1. Ensemblemetoder för maskininlärning

Den här boken hjälper dig att lära dig och implementera viktiga metoder för ensembleinlärning från grunden.

#2. Ensemblemetoder: grunder och algoritmer

Den här boken har grunderna för ensembleinlärning och dess algoritmer. Den beskriver också hur den används i den verkliga världen.

#3. Ensemble Learning

Den erbjuder en introduktion till en enhetlig ensemblemetod, utmaningar, applikationer etc.

#4. Ensemble Machine Learning: Metoder och tillämpningar:

Det ger bred täckning av avancerade ensembleinlärningstekniker.

Slutsats

Jag hoppas att du nu har en uppfattning om ensembleinlärning, dess metoder, användningsfall och varför det kan vara fördelaktigt för ditt användningsfall. Det har potential att lösa många verkliga utmaningar, från domänen säkerhet och apputveckling till ekonomi, medicin och mer. Dess användningsområden ökar, så det kommer sannolikt att bli fler förbättringar av detta koncept inom en snar framtid.

Du kan också utforska några verktyg för generering av syntetisk data för att träna maskininlärningsmodeller