Grunnleggende AI

Hva er Ensemble Learning?

mm
Legg til Unite.AI blant dine foretrukne kilder på Google

En av de kraftigste maskinlærings-teknikkene er ensemble-læring. Ensemble-læring er bruken av flere maskinlæringsmodeller for å forbedre påliteligheten og nøyaktigheten av forutsigelser. Likevel, hvordan fører bruken av flere maskinlæringsmodeller til mer nøyaktige forutsigelser? Hvilke teknikker brukes for å lage ensemble-læringsmodeller? Vi skal utforske svaret på disse spørsmålene, og se på grunnene til å bruke ensemble-modeller og de primære måtene å lage dem på.

Hva er Ensemble Learning?

Ensemble-læring er prosessen med å trene flere maskinlæringsmodeller og kombinere deres utdata sammen. De forskjellige modellene brukes som en base for å lage en optimal predikeringsmodell. Kombinering av en divers samling av individuelle maskinlæringsmodeller kan forbedre stabiliteten av den overordnede modellen, og føre til mer nøyaktige forutsigelser. Ensemble-læringsmodeller er ofte mer pålitelige enn individuelle modeller, og som resultat, kommer de ofte først i mange maskinlæringskonkurranser.

Det finnes forskjellige teknikker en ingeniør kan bruke for å lage en ensemble-læringsmodell. Enkle ensemble-lærings-teknikker inkluderer ting som å gjennomsnittlig utdata fra forskjellige modeller, mens det også finnes mer komplekse metoder og algoritmer som er utviklet spesielt for å kombinere forutsigelsene fra mange base-læringsmodeller sammen.

Hvorfor bruke Ensemble-treningmetoder?

Maskinlæringsmodeller kan være forskjellige fra hverandre av en rekke grunner. Forskjellige maskinlæringsmodeller kan operere på forskjellige eksempler av populasjonsdata, forskjellige modelleringsteknikker kan brukes, og en annen hypotese kan brukes.

Forestall at du spiller et quiz-spill med en stor gruppe mennesker. Hvis du er alene på et lag, er det sannsynlig at det finnes noen emner du har kunnskap om og mange emner du ikke har kunnskap om. Nå anta at du spiller på et lag med andre mennesker. Like deg, vil de ha noen kunnskap om sine egne spesialområder og ingen kunnskap om andre emner. Likevel, når din kunnskap kombineres, har du mer nøyaktige gjettinger for flere felt, og antallet emner ditt lag mangler kunnskap om, minsker. Dette er samme prinsippet som ligger til grunn for ensemble-læring, kombinering av forutsigelsene fra forskjellige team-medlemmer (individuelle modeller) for å forbedre nøyaktigheten og minimere feilene.

Statistikere har bevist at når en gruppe mennesker blir bedt om å gjetting riktig svar på et gitt spørsmål med en rekke mulige svar, danner alle deres svar en sannsynlighetsfordeling. Menneskene som virkelig kjenner det riktige svaret, vil velge det riktige svaret med tillit, mens menneskene som velger feil svar, vil fordele sine gjettinger over rekken av mulige feil svar. Går tilbake til eksemplet med et quiz-spill, hvis du og dine to venner vet at det riktige svaret er A, vil alle tre velge A, mens de tre andre menneskene på ditt lag som ikke kjenner svaret, sannsynligvis vil gjetting feil svar B, C, D eller E. Resultatet er at A har tre stemmer og de andre svarene sannsynligvis bare har en eller to stemmer maksimum.

Alle modeller har en viss feil. Feilene for en modell vil være forskjellige fra feilene produsert av en annen modell, ettersom modellene selv er forskjellige av grunner som beskrevet ovenfor. Når alle feilene undersøkes, vil de ikke være konsentrert rundt ett svar eller et annet, men de vil være spredt rundt. De feilaktige gjettingene er i praksis spredt over alle mulige feil svar, og kansellerer hverandre ut. I mellomtiden vil de riktige gjettingene fra de forskjellige modellene være konsentrert rundt det riktige, korrekte svaret. Når ensemble-treningmetoder brukes, kan det riktige svaret finnes med større pålitelighet.

Enkle Ensemble-treningmetoder

Enkle ensemble-treningmetoder innebærer vanligvis bare anvendelse av statistiske summeringsteknikker, som å bestemme modus, gjennomsnitt eller vektet gjennomsnitt av en samling av forutsigelser.

Modus refererer til det mest vanlige elementet innen en samling av tall. For å få modus, returnerer de individuelle læringsmodellene sine forutsigelser, og disse forutsigelsene regnes som stemmer mot den endelige forutsigelsen. Å bestemme gjennomsnittet av forutsigelsene gjøres enkelt ved å beregne det aritmetiske gjennomsnittet av forutsigelsene, avrundet til nærmeste hele tall. Til slutt kan en vektet gjennomsnitt beregnes ved å tildele forskjellige vekter til modellene som brukes for å lage forutsigelser, med vekter som representerer den oppfattede viktigheten av den modellen. Den numeriske representasjonen av klassifiseringsforutsigelsen multipliseres sammen med en vekt fra 0 til 1,0, de individuelle vektede forutsigelsene summeres sammen, og resultatet avrundes til nærmeste hele tall.

Avanserte Ensemble-treningmetoder

Det finnes tre primære avanserte ensemble-treningsteknikker, hver av dem er designet for å håndtere en bestemt type maskinlæringsproblem. “Bagging”-teknikker brukes for å redusere variasjonen i en modells forutsigelser, med variasjon som refererer til hvor mye utfallet av forutsigelsene forskjeller når de baseres på samme observasjon. “Boosting”-teknikker brukes for å bekjempe forvrengningen av modeller. Til slutt brukes “stacking” for å forbedre forutsigelsene generelt.

Ensemble-læringsmetoder kan generelt deles inn i to forskjellige grupper: sekvensielle metoder og parallele ensemble-metoder.

Sekvensielle ensemble-metoder får navnet “sekvensielle” fordi de basale læringsmodellene genereres sekvensielt. I tilfelle av sekvensielle metoder, er den essensielle ideen at avhengigheten mellom de basale læringsmodellene utnyttes for å få mer nøyaktige forutsigelser. Feilaktig klassifiserte eksempler får sine vekter justert, mens riktig klassifiserte eksempler beholder samme vekter. Hver gang en ny lærer genereres, endres vektene, og nøyaktigheten (håper) forbedres.

I motsetning til sekvensielle ensemble-modeller, genererer parallele ensemble-modeller de basale læringsmodellene parallelt. Når man utfører parallell ensemble-læring, er ideen å utnytte det faktum at de basale læringsmodellene er uavhengige, og at den generelle feilraten kan reduseres ved å gjennomsnittle forutsigelsene fra de individuelle lærerne.

Ensemble-treningmetoder kan enten være homogene eller heterogene i naturen. De fleste ensemble-læringsmetodene er homogene, det vil si at de bruker en enkelt type base-læringsmodell/algoritme. I motsetning til dette, bruker heterogene ensembler forskjellige læringsalgoritmer, diversifiserer og varierer lærerne for å sikre at nøyaktigheten er så høy som mulig.

Eksempler på Ensemble-læringsalgoritmer

Visualisering av ensemble-boosting. Foto: Sirakorn via Wikimedia Commons, CC BY SA 4.0, (https://commons.wikimedia.org/wiki/File:Ensemble_Boosting.svg)

Eksempler på sekvensielle ensemble-metoder inkluderer AdaBoost, XGBoost og Gradient tree boosting. Disse er alle boosting-modeller. For disse boosting-modellene, er målet å konvertere de svake, underpresterende lærerne til mer kraftfulle lærere. Modeller som AdaBoost og XGBoost starter med mange svake lærere som utfører bare litt bedre enn tilfeldig gjetting. Etterhvert som treningen fortsetter, blir vekter tildelt dataene og justert. Eksempler som ble feilaktig klassifisert av lærerne i tidligere runder av trening, får mer vekt. Etter at denne prosessen er gjentatt for det ønskede antall treningsrunder, kombineres forutsigelsene sammen gjennom enten en vektet sum (for regresjonoppgaver) og en vektet stemme (for klassifiseringsoppgaver).

Bagging-læringsprosessen. Foto: SeattleDataGuy via Wikimedia Commons, CC BY SA 4.0 (https://commons.wikimedia.org/wiki/File:Bagging.png)

Et eksempel på en parallell ensemble-modell er en Random Forest-klassifisator, og Random Forest er også et eksempel på en bagging-teknikk. Uttrykket “bagging” kommer fra “bootstrap-aggregat”. Eksempler tas fra det totale datasett ved å bruke en samplingsteknikk kjent som “bootstrap-sampling”, som brukes av de basale læringsmodellene for å lage forutsigelser. For klassifiseringsoppgaver, kombineres utdataene fra de basale modellene ved å bruke stemmer, mens de gjennomsnittliges sammen for regresjonsoppgaver. Random Forest bruker individuelle beslutningstre som sine basale læringsmodeller, og hver tre i ensemblet genereres ved å bruke en annen eksempel fra datasett. En tilfeldig undergruppe av egenskaper brukes også for å generere treet. Dette fører til høyt tilfeldige individuelle beslutningstre, som kombineres sammen for å gi pålitelige forutsigelser.

Visualisering av ensemble-stacking. Foto: Supun Setunga via Wikimedia Commons, CC BY S.A 4.0 (https://commons.wikimedia.org/wiki/File:Stacking.png)

I forhold til stacking-ensemble-teknikker, kombineres flere regresjons- eller klassifiseringsmodeller sammen gjennom en høyere nivå, meta-modell. De lavere nivå, basale modellene trenes ved å mate dem hele datasett. Utdataene fra de basale modellene brukes så som egenskaper for å trene meta-modellen. Stacking-ensemble-modeller er ofte heterogene i naturen.

Blogger og programmerer med spesialområder i Machine Learning og Deep Learning emner. Daniel håper å hjelpe andre med å bruke kraften av AI for sosialt godt.