Genom att kombinera beslutsfattande från flera olika modeller kan ensembleinlärning hjälpa dig att fatta bättre beslut och tackla många utmaningar i verkliga situationer.
Maskininlärning (ML) fortsätter att utvidga sin påverkan inom en rad sektorer och branscher, oavsett om det handlar om ekonomi, medicin, applikationsutveckling eller säkerhet.
Att träna ML-modeller på ett effektivt sätt ökar chanserna till framgång i din verksamhet eller yrkesroll, och det finns flera metoder för att uppnå detta.
I den här texten kommer vi att utforska ensembleinlärning, dess betydelse, potentiella användningsområden och tekniker.
Håll ögonen öppna för fortsättningen!
Vad är Ensemble Learning?
Inom maskininlärning och statistik avser termen ”ensemble” tillvägagångssätt som skapar olika hypoteser med hjälp av en gemensam grundläggande inlärningsmetod.
Ensembleinlärning är en teknik inom maskininlärning där flera modeller, som fungerar som experter eller klassificerare, skapas och kombineras strategiskt för att lösa ett beräkningsproblem eller göra mer exakta förutsägelser.
Denna metod strävar efter att öka förutsägelseförmågan, funktionsapproximation, klassificeringsnoggrannhet och den övergripande prestandan hos en viss modell. Den används också för att minska risken att välja en mindre lämplig modell bland ett urval. För att förbättra den prediktiva prestandan används ofta flera inlärningsalgoritmer.
Betydelsen av Ensemble Learning inom ML
Inom maskininlärningsmodeller finns det risk för fel som orsakas av faktorer som bias, varians och brus. Ensembleinlärning kan bidra till att reducera dessa felkällor och säkerställa stabiliteten och noggrannheten hos dina ML-algoritmer.
Här följer några anledningar till varför ensembleinlärning används i olika sammanhang:
Att välja rätt klassificerare
Ensembleinlärning underlättar valet av en bättre modell eller klassificerare samtidigt som den minskar risken som kan uppstå på grund av ett dåligt modellval.
Det finns en mängd olika klassificerare som används för olika typer av problem, såsom stödvektormaskiner (SVM), multilayer perceptron (MLP), naiva Bayes-klassificerare, beslutsträd och fler. Dessutom finns det flera sätt att implementera klassificeringsalgoritmer som kräver noggrannhet. Prestandan kan också variera beroende på träningsdata.
Istället för att endast välja en modell kan du undvika att välja sämre alternativ genom att använda en ensemble av alla dessa modeller och kombinera deras individuella resultat.
Datavolym
Många ML-metoder och modeller kanske inte levererar lika effektiva resultat om de matas med otillräcklig eller för mycket data.
Ensembleinlärning är dock effektivt i båda scenarierna, oavsett om datavolymen är liten eller stor.
- Om det finns otillräcklig data kan bootstrapping användas för att träna olika klassificerare med hjälp av olika bootstrap-dataprover.
- Vid stora datavolymer som kan göra träningen av en enskild klassificerare utmanande kan man strategiskt dela upp datan i mindre delmängder.
Komplexitet
Vissa komplexa problem kan inte lösas av en enda klassificerare. Deras beslutsgränser, som skiljer data från olika klasser, kan vara mycket invecklade. Om en linjär klassificerare används på en icke-linjär, komplex gräns kommer den inte att lära sig den.
Men genom att kombinera en ensemble av lämpliga linjära klassificerare på rätt sätt, kan du lära den att identifiera en given icke-linjär gräns. Klassificeraren kommer att dela upp data i många mindre, lättare att tolka partitioner, där varje klassificerare endast lär sig en enklare partition. Sedan kommer olika klassificerare att kombineras för att generera en approximerad beslutsgräns.
Förtroendeuppskattning
Inom ensembleinlärning tilldelas ett förtroendevärde till ett beslut som ett system har fattat. Anta att du har en ensemble av olika klassificerare som är tränade för ett specifikt problem. Om majoriteten av klassificerarna är överens om ett beslut kan resultatet betraktas som ett beslut med högt förtroende.
Å andra sidan, om hälften av klassificerarna inte håller med om beslutet, anses det vara ett beslut med lågt förtroende.
Det är dock viktigt att notera att ett lågt eller högt förtroendevärde inte alltid garanterar ett korrekt beslut. Men det finns en stor chans att ett beslut med högt förtroende är korrekt om ensemblen är ordentligt tränad.
Noggrannhet genom Data Fusion
Data som samlas in från flera källor kan förbättra noggrannheten i klassificeringsbeslut genom strategisk kombinering. Denna noggrannhet är högre än den som uppnås med en enda datakälla.
Hur Fungerar Ensemble Learning?
Ensembleinlärning tar flera mappningsfunktioner som olika klassificerare har lärt sig och kombinerar dem för att generera en enda mappningsfunktion.
Här är ett illustrativt exempel på hur ensembleinlärning fungerar.
Exempel: Tänk dig att du utvecklar en applikation för livsmedel för slutanvändare. För att säkerställa en optimal användarupplevelse vill du samla in feedback om eventuella problem, brister, felaktigheter och buggar. För att göra detta, kan du be om åsikter från familj, vänner, kollegor och andra personer som du interagerar ofta med angående deras matpreferenser och erfarenheter av att beställa mat online. Du kan även lansera en betaversion av appen för att samla in oberoende feedback i realtid.
I grund och botten, det du gör här är att samla in olika idéer och perspektiv från flera individer för att förbättra användarupplevelsen.
Ensembleinlärning och dess modeller fungerar på ett liknande sätt. Den använder en grupp modeller och kombinerar dem för att generera en slutlig utdata, vilket ökar prediktionsnoggrannheten och prestandan.
Grundläggande Ensembleinlärningstekniker
#1. Läge
Ett ”läge” är det värde som förekommer oftast i en datauppsättning. Inom ensembleinlärning använder ML-experter flera modeller för att göra förutsägelser om varje datapunkt. Dessa förutsägelser betraktas som individuella röster, och den förutsägelse som de flesta modeller har gjort anses vara den slutliga förutsägelsen. Denna metod används mest i klassificeringsproblem.
Exempel: Om fyra personer ger din applikation ett betyg på 4, medan en ger den ett betyg på 3, skulle läget vara 4 eftersom majoriteten har röstat på 4.
#2. Medel/Medelvärde
Med denna teknik beaktar experter alla modellförutsägelser och beräknar deras genomsnitt för att få fram en slutlig förutsägelse. Det används ofta för att göra förutsägelser i regressionsproblem, beräkna sannolikheter i klassificeringsproblem med mera.
Exempel: Om fyra personer ger din app betyg 4 och en person ger den betyg 3, skulle genomsnittet vara (4+4+4+4+3)/5=3,8
#3. Vägt Genomsnitt
I denna metod för ensembleinlärning tilldelar experter olika vikter till olika modeller för att göra en förutsägelse. Den tilldelade vikten speglar varje modells relevans.
Exempel: Anta att fem personer lämnar feedback om din applikation. Tre av dem är applikationsutvecklare, medan två inte har någon erfarenhet av apputveckling. Feedbacken från dessa tre personer kommer att tilldelas större vikt än de andra två.
Avancerade Ensembleinlärningstekniker
#1. Säckväv (Bagging)
Bagging (Bootstrap AGGregatING) är en intuitiv och enkel teknik för ensembleinlärning med god prestanda. Som namnet antyder, kombinerar det två termer, ”Bootstrap” och ”aggregering”.
Bootstrapping är en samplingsmetod där du skapar delmängder av observationer från en originaldatauppsättning med ersättning. Här kommer delmängdens storlek att vara densamma som den ursprungliga datamängden.
Källa: Buggy Programmer
Så i bagging används delmängder eller ”påsar” för att förstå distributionen av hela uppsättningen. Delmängderna i bagging kan dock vara mindre än den ursprungliga datamängden. Denna metod använder en enda ML-algoritm. Syftet med att kombinera olika modellers resultat är att erhålla ett generaliserat utfall.
Så här fungerar bagging:
- Flera delmängder genereras från den ursprungliga uppsättningen, och observationer väljs med ersättning. Delmängderna används för att träna 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 görs genom att kombinera varje modells förutsägelse med hjälp av statistiska metoder som medelvärde eller röstning.
Populära algoritmer som används i denna ensembleteknik är:
- Slumpmässig skog
- Påsar med beslutsträd
Fördelen med denna metod är att den minimerar variansfelet i beslutsträd.
#2. Stapling
Bildkälla: OpenGenus IQ
Vid stapling, eller staplad generalisering, används förutsägelser från olika modeller som ett beslutsträd för att skapa en ny modell som gör förutsägelser på detta testset.
Stapling innebär att man skapar bootstrapped delmängder av data för träningsmodeller, liknande bagging. Men här tas utdata från modeller som indata 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 att avgöra om träningsdatauppsättningarna har lärts in på lämpligt sätt. Även om metoden med två lager är vanlig, kan även fler lager användas.
Du kan exempelvis 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ålls i nivå 1 för att göra den slutliga förutsägelsen.
Dessutom kan vilken ML-inlärningsmodell som helst användas för att aggregera förutsägelser. En linjär modell, till exempel linjär regression eller logistisk regression, är vanligt förekommande.
Populära ML-algoritmer som används i stapling är:
- Blandning
- Super ensemble
- Staplade modeller
Obs: Blandning använder en validerings- eller håll-ut-uppsä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 den uthållningsuppsättningen.
#3. Boostning
Boosting är en iterativ metod för ensembleinlärning som justerar vikten av en viss observation baserat på dess senaste eller tidigare klassificering. Det betyder att varje efterföljande modell har som mål att korrigera felen i den föregående modellen.
Om observationen inte klassificeras korrekt ökar boosting vikten av observationen.
I boosting tränar experter den första boost-algoritmen på en komplett datauppsättning. Därefter bygger de de efterföljande ML-algoritmerna med hjälp av rester som extraherats från den tidigare boost-algoritmen. De felaktigt förutspådda observationerna från den tidigare modellen får därmed större vikt.
Här är en steg-för-steg-beskrivning av hur det fungerar:
- En delmängd genereras från den ursprungliga datamängden. Varje datapunkt kommer inledningsvis att ha samma vikter.
- En basmodell skapas med delmängden.
- Förutsägelser görs för hela datamängden.
- Fel beräknas med hjälp av de faktiska och förutsagda värdena.
- Felaktigt förutspådda observationer får en större vikt.
- En ny modell skapas, och den slutliga förutsägelsen görs med hjälp av denna datamängd, medan modellen strävar efter att korrigera tidigare fel. Flera modeller skapas på liknande sätt, där var och en korrigerar de tidigare felen.
- Den slutliga förutsägelsen görs med hjälp av den sista modellen, vilket är det vägda genomsnittet av alla modeller.
Populära boosting-algoritmer är:
- CatBoost
- Lätt GBM
- AdaBoost
Fördelen med boosting är att det ger överlägsna förutsägelser och minskar fel på grund av bias.
Andra Ensembletekniker
Blandning av experter: Den används för att träna flera klassificerare, och deras utdata kombineras med en gemensam linjär regel. Vikterna som tilldelas kombinationerna bestäms av en träningsbar modell.
Majoritetsröstning: Detta innebär att man väljer en udda klassificerare, och förutsägelser beräknas för varje sampel. Klassen som får majoritet från poolen av klassificerare kommer att vara ensemblens förväntade klass. Den används för att lösa problem som binär klassificering.
Maxregel: Den använder sannolikhetsfördelningarna för varje klassificerare och litar på förtroende för att göra förutsägelser. Den används för klassificeringsproblem i flera klasser.
Verkliga Användningsområden för Ensemble Learning
#1. Ansikts- och Känslodetektion
Ensembleinlärning använder tekniker som oberoende komponentanalys (ICA) för att utföra ansiktsdetektion.
Dessutom används ensembleinlärning för att detektera en persons känslor genom taldetektering. Dess funktioner hjälper också användarna att detektera ansiktsuttryck.
#2. Säkerhet
Bedrägeriupptäckt: Ensembleinlärning hjälper till att öka effektiviteten i modellering av normalt beteende. Därför anses det vara effektivt för att upptäcka bedrägliga aktiviteter, till exempel i kreditkorts- och banksystem, telekommunikationsbedrägerier, penningtvätt och mer.
DDoS: Distributed Denial of Service (DDoS) är en allvarlig attack mot en internetleverantör. Ensembleklassificerare kan reducera felaktiga upptäckter och skilja attacker från legitim trafik.
Intrångsdetektering: Ensembleinlärning kan användas i övervakningssystem som verktyg för intrångsdetektering, där man identifierar intrångskoder genom att övervaka nätverk eller system, leta efter avvikelser och liknande.
Detektering av skadlig kod: Ensembleinlärning är ganska effektivt för att upptäcka och klassificera skadlig kod som datorvirus, maskar, ransomware, trojanska hästar, spionprogram med hjälp av maskininlärningstekniker.
#3. Inkrementellt Lärande
I inkrementellt lärande lär sig en ML-algoritm från en ny datauppsättning samtidigt som den behåller tidigare inlärning utan att komma åt data som den tidigare behandlat. Ensemblesystem används i inkrementellt lärande genom att man lägger till ytterligare en klassificerare i systemet för varje ny datauppsättning.
#4. Medicin
Ensembleklassificerare är användbara inom medicinsk diagnostik, till exempel vid upptäckt av neurokognitiva störningar (som Alzheimers). Det kan utföras genom att ta MRI-datauppsättningar som indata och klassificera livmoderhalscytologi. Dessutom används det inom proteomik (studier av proteiner), neurovetenskap och andra områden.
#5. Fjärranalys
Förändringsdetektion: Ensembleklassificerare används för att genomföra förändringsdetektion genom metoder som Bayesiskt medelvärde och majoritetsröstning.
Kartläggning av marktäckning: Metoder för ensembleinlärning, som boosting, beslutsträd, kernel principal component analysis (KPCA), etc., används för att effektivt detektera och kartlägga marktäckning.
#6. Finans
Noggrannhet är avgörande inom finans, oavsett om det handlar om beräkningar eller förutsägelser. Det påverkar i hög grad resultatet av de beslut som fattas. Ensembleinlärning kan också analysera förändringar i aktiemarknadsdata, upptäcka manipulationer i aktiekurser och mer.
Ytterligare Utbildningsresurser
#1. Ensemblemetoder för maskininlärning
Denna bok hjälper dig att lära dig och implementera viktiga metoder för ensembleinlärning från grunden.
#2. Ensemblemetoder: Grunder och algoritmer
Denna bok utforskar grunderna i ensembleinlärning och dess algoritmer. Den förklarar också hur den används i verkliga sammanhang.
#3. Ensemble Learning
Den här resursen ger en introduktion till en enhetlig ensemblemetod, utmaningar, applikationer och mer.
#4. Ensemble Machine Learning: Metoder och Tillämpningar
Den ger en bred täckning av avancerade tekniker för ensembleinlärning.
Slutsats
Vi hoppas att du nu har en grundläggande förståelse för ensembleinlärning, dess metoder, potentiella användningsområden och varför det kan vara värdefullt för din situation. Det har potential att lösa många verkliga problem, från säkerhet och apputveckling till finans, medicin och mer. Dess användningsområden fortsätter att öka, vilket tyder på att vi sannolikt kommer att se ytterligare utveckling inom detta område inom en snar framtid.
Du kan också utforska några verktyg för att generera syntetisk data för att träna maskininlärningsmodeller.