AI:n perusteet

Mitä on Ensemble Learning?

mm
Lisää Unite.AI suosikkilähteisiisi Google-palvelussa

Yksi voimakkaimmista koneoppimisen tekniikoista on ensemble learning. Ensemble learning on useiden koneoppimismallien käyttöä parantamaan ennusteiden luotettavuutta ja tarkkuutta. Mutta miten useiden koneoppimismallien käyttö johtaa tarkempiin ennusteisiin? Mitä tekniikoita käytetään ensemble learning -mallejen luomiseen? Selvitämme näihin kysymyksiin vastaamalla ja tarkastelemalla ensemble-mallien käytön taustaa ja pääasiallisia tapoja luoda ensemble-malleja.

Mikä on Ensemble Learning?

Yksinkertaisesti sanottuna, ensemble learning on useiden koneoppimismallien kouluttamisen prosessi ja niiden tulosten yhdistäminen. Erilaiset mallit ovat perustana yhden optimaalisen ennustemallin luomiseen. Erilaisten yksittäisten koneoppimismallien yhdistäminen voi parantaa koko mallin vakautta, johtaan tarkempiin ennusteisiin. Ensemble learning -mallit ovat usein luotettavampia kuin yksittäiset mallit, ja siksi ne usein sijoittuvat korkealle monissa koneoppimiskilpailuissa.

On olemassa erilaisia tekniikoita, joita insinööri voi käyttää luodakseen ensemble learning -mallin. Yksinkertaiset ensemble learning -tekniikat sisältävät esimerkiksi eri mallien tulosten keskiarvon laskemisen tai painotetun keskiarvon laskemisen. On myös kehitetty monimutkaisempia menetelmiä ja algoritmeja yhdistämään useiden perusmallien ennusteita.

Miksi käyttää ensemble-koulutusmenetelmiä?

Koneoppimismallit voivat olla toisistaan poikkeavia monista syistä. Erilaiset koneoppimismallit voivat toimia eri otoksilla väestötiedosta, erilaisia mallintamistekniikoita voidaan käyttää, ja erilaisia hypoteeseja voidaan käyttää.

Kuvitella, että pelaat trivia-peliä suuren ryhmän kanssa. Jos olet yksin tiimissä, on varmasti aiheita, joista sinulla on tietoa, ja monia aiheita, joista sinulla ei ole tietoa. Oletetaan, että pelaat tiimissä muiden ihmisten kanssa. Niin kuin sinä, heillä on tietoa omista erityisaloistaan ja ei tietoa muista aiheista. Kun yhdistät tietonne, teillä on kattavampi tieto useammasta aiheesta, ja aiheiden määrä, joista tiimillä ei ole tietoa, vähenee. Tämä on sama periaate, joka on ensemble learningin taustalla, yhdistämällä eri mallien ennusteita parantamaan tarkkuutta ja vähentämään virheitä.

Tilastotieteilijät ovat osoittaneet, että kun joukko ihmisiä pyydetään arvaamaan oikea vastaus tiettyyn kysymykseen, jolla on useita mahdollisia vastauksia, heidän vastauksensa muodostavat todennäköisyysjakauman. Ihmiset, jotka tietävät oikean vastauksen, valitsevat oikean vastauksen varmuudella, kun taas ihmiset, jotka valitsevat väärät vastaukset, jakavat arvauksensa väärän vastauksen mahdollisia vaihtoehtoja. Palatessamme trivia-peliin, jos sinä ja kaksi ystävääsi tietävät, että oikea vastaus on A, te kaikki äänestätte A:ta, kun taas kolme muuta tiimiläistä, jotka eivät tiedä oikeaa vastausta, valitsevat todennäköisesti väärät vastaukset B, C, D tai E. Tuloksena on, että A saa kolme ääntä ja muut vastaukset saavat vain yhden tai kaksi ääntä.

Kaikilla malleilla on jonkin verran virhettä. Yhden mallin virheet poikkeavat toisen mallin virheistä, koska mallit ovat erilaisia edellä mainituista syistä. Kun kaikki virheet tarkastellaan, ne eivät ole ryhmittäin ympäröivät yhtä vastausta tai toista, vaan ne ovat hajallaan. Väärät arvaukset ovat käytännössä jakautuneet kaikkiin mahdollisiin väärin vastauksiin, mitä kutsutaan virheiden kumoamiseksi. Sen sijaan oikeat arvaukset eri malleista ovat ryhmittäin ympäröivät oikean, oikean vastauksen. Kun ensemble-koulutusmenetelmiä käytetään, oikea vastaus voidaan löytää luotettavammin.

Yksinkertaiset Ensemble-koulutusmenetelmät

Yksinkertaiset ensemble-koulutusmenetelmät sisältävät yleensä vain tilastollisten yhteenvetomenetelmien soveltamisen, kuten määrän, keskiarvon tai painotetun keskiarvon määrittämisen joukon ennusteista.

Määrä viittaa useimmin esiintyvään alkuun joukossa. Määrän saamiseksi yksittäiset oppimismallit palauttavat ennusteensa, ja nämä ennusteet ovat ääniä lopullista ennustetta kohti. Keskiarvon määrittäminen ennusteista tehdään yksinkertaisesti laskemalla ennusteiden aritmeettinen keskiarvo ja pyöristämällä se lähimpään kokonaislukuun. Lopuksi voidaan laskea painotettu keskiarvo määrittämällä eri mallille eri painot, jotka edustavat kyseisen mallin merkitystä. Luokan ennusteen numeerinen edustus kerrotaan painolla välillä 0-1,0, yksittäiset painotetut ennusteet summataan ja tuloksena on lähin kokonaisluku.

Edistyneet Ensemble-koulutusmenetelmät

On kolme pääasiallista edistynyttä ensemble-koulutustekniikkaa, joista kunkin tarkoituksena on ratkaista tiettyä koneoppimiseen liittyvää ongelmaa. “Bagging”-tekniikoita käytetään vähentämään mallin ennusteiden vaihtelua, jossa vaihtelu viittaa siihen, kuinka paljon tulokset poikkeavat, kun ne perustuvat samaan havaintoon. “Boosting”-tekniikoita käytetään taistelemaan mallien harhaa vastaan. Lopuksi “stacking” käytetään parantamaan ennusteita yleensä.

Ensemble learning -menetelmät voidaan jakaa yleensä kahteen eri ryhmään: sekventiaalisiin menetelmiin ja rinnakkaisiin ensemble-menetelmiin.

Sekventiaaliset ensemble-menettelyt saavat nimensä siitä, että perusoppimismallit luodaan sekventiaalisesti. Sekventiaalisten menetelmien tapauksessa olennainen idea on, että perusoppimismallien välisen riippuvuuden hyödyntäminen parantaa ennusteiden tarkkuutta. Väärin merkityt esimerkit saavat painonsa muutettua, kun taas oikein merkityt esimerkit säilyttävät samat painot. Jokaisen uuden oppijan luomisen jälkeen painot muuttuvat ja tarkkuus (toivottavasti) paranee.

Toisin kuin sekventiaaliset ensemble-mallit, rinnakkaiset ensemble-menettelyt luovat perusoppimismallit rinnakkain. Rinnakkaisen ensemble-koulutuksen suorittamisen aikana ajatus on hyödyntää perusoppimismallien riippumattomuutta, koska yleinen virheen määrä voidaan vähentää keskiarvoistamalla yksittäisten oppijoiden ennusteita.

Ensemble-koulutusmenetelmät voivat olla joko homogeenisia tai heterogeenisia. Useimmat ensemble-koulutusmenetelmät ovat homogeenisia, eli ne käyttävät yhtä tyyppiä perusoppimismallia/algortimia. Toisin kuin homogeeniset ensemblet, heterogeeniset ensemblet käyttävät eri oppimisalgoritmeja, monipuolistamalla ja vaihtelevia oppijoita, jotta tarkkuus olisi mahdollisimman korkea.

Esimerkkejä Ensemble Learning -algoritmeista

Ensemble-boostingin visualisointi. Kuva: Sirakorn via Wikimedia Commons, CC BY SA 4.0, (https://commons.wikimedia.org/wiki/File:Ensemble_Boosting.svg)

Esimerkkejä sekventiaalisista ensemble-menettelyistä ovat AdaBoost, XGBoost ja Gradient tree boosting. Nämä kaikki ovat boosting-malleja. Nämä boosting-mallit pyrkivät muuttaa heikot, alisuorittavat oppijat voimakkaammaksi. Mallit kuten AdaBoost ja XGBoost alkavat useista heikoista oppijoista, jotka suorittavat vain hieman paremmin kuin satunnainen arvaus. Koulutuksen edetessä painot määrätään ja muutetaan. Esimerkit, jotka väärin luokiteltiin aiemmissa koulutuskierroksissa, saavat enemmän painoa. Kun tämä prosessi toistetaan halutun määrän koulutuskierroksia, ennusteet yhdistetään joko painotetun summan (regressio-tehtävissä) tai painotetun äänestyksen (luokittelutehtävissä) kautta.

Bagging-oppimisprosessi. Kuva: SeattleDataGuy via Wikimedia Commons, CC BY SA 4.0 (https://commons.wikimedia.org/wiki/File:Bagging.png)

Esimerkki rinnakkaisesta ensemble-mallista on satunnainen metsä -luokittelija, ja satunnainen metsä on myös esimerkki bagging-tekniikasta. Termi “bagging” tulee “bootstrap-aggregaatiosta”. Otokset otetaan koko tietojoukosta käyttäen bootstrap-otantaa, jotka käytetään perusoppimismalleissa ennusteiden tekemiseen. Luokittelutehtävissä perusmallien tulokset yhdistetään äänestämällä, kun taas ne keskiarvoistetaan regressio-tehtävissä. Satunnaiset metsät käyttävät yksittäisiä päätöspuita perusoppimismallina, ja kunkin puun joukossa luodaan eri otos tietojoukosta. Myös satunnainen joukko piirteitä käytetään puun luomiseen. Tämä johtaa erittäin satunnaistettuihin yksittäisiin päätöspuihin, jotka yhdistetään antamaan luotettavia ennusteita.

Ensemble-stackingin visualisointi. Kuva: Supun Setunga via Wikimedia Commons, CC BY S.A 4.0 (https://commons.wikimedia.org/wiki/File:Stacking.png)

Monet regressio- tai luokittelumallit yhdistetään korkeamman tason meta-mallin kautta. Alempien tasojen perusmallit koulutetaan syötettäessä niille koko tietojoukkoa. Perusmallien tulokset käytetään sitten piirteinä meta-mallin kouluttamiseen. Stacking-ensemble-mallit ovat usein heterogeenisia.

Blogger ja ohjelmoija, jolla on erityisalat Machine Learning ja Deep Learning -aiheissa. Daniel toivoo pystyvänsä auttamaan muita käyttämään tekoälyn voimaa sosiaaliseen hyvään.