AI:n perusteet

MikÃĪ on Gradient Boosting?

mm
LisÃĪÃĪ Unite.AI suosikkilÃĪhteisiisi Google-palvelussa

Yleinen koneoppimisen mallityyppi, joka on osoittautunut erittÃĪin hyÃķdylliseksi data-tieteen kilpailuissa, on gradient-boosting-malli. Gradient boosting on perustuu heikkojen oppimismallien muuttamiseen vahvoiksi oppimismalleiksi. Mutta miten tÃĪmÃĪ toteutetaan? Otetaan lÃĪhempi katsaus gradient-boosting-algoritmeihin ja ymmÃĪrretÃĪÃĪn, miten gradient-boosting-malli muuttaa heikot oppijat vahvoiksi oppijoiksi.

Gradient Boostingin mÃĪÃĪrittely

TÃĪmÃĪ artikkeli pyrkii antamaan hyvÃĪn intuition siitÃĪ, mitÃĪ gradient boosting on, ilman monia matemaattisten algoritmien purkuja. Kun olet saanut ymmÃĪrryksen siitÃĪ, miten gradient boosting toimii korkealla tasolla, rohkaistaan sinua menemÃĪÃĪn syvemmÃĪlle ja tutkimaan matematiikkaa, joka mahdollistaa sen.

Aloittaen mÃĪÃĪrittelemÃĪllÃĪ, mitÃĪ tarkoitetaan “boosting”-termillÃĪ. Heikot oppijat muutetaan vahvoiksi oppijoiksi sÃĪÃĪtÃĪmÃĪllÃĪ oppimismallin ominaisuuksia. MikÃĪ oppimisalgoritmi on oikeasti boostattu?

Boosting-mallit toimivat muokkaamalla toista yleistÃĪ koneoppimisen mallia, pÃĪÃĪtÃķspuuta.

PÃĪÃĪtÃķspuu-malli toimii jakamalla tietojoukon pienempiin osiin, ja kun osat eivÃĪt voi enÃĪÃĪ jakautua, tuloksena on puu, jossa on solmuja ja lehtiÃĪ. Solmut pÃĪÃĪtÃķspuussa ovat kohdat, joissa tehdÃĪÃĪn pÃĪÃĪtÃķksiÃĪ eri suodatuskriteerejÃĪ kÃĪyttÃĪen. PÃĪÃĪtÃķspuun lehdet ovat luokitellut data-pisteet. PÃĪÃĪtÃķspuumallit voivat kÃĪsitellÃĪ sekÃĪ numeerisia ettÃĪ kategorisia tietoja, ja puun jakautumiset perustuvat tiettyihin muuttujiin/ominaisuuksiin.

Kuvaus siitÃĪ, miten boosting-mallit koulutetaan.
Kuva: SeattleDataBuy via Wikimedia Commons, CC 4.0 (https://commons.wikimedia.org/wiki/File:Boosting.png)

Yksi boosting-algoritmi on AdaBoost-algoritmi. AdaBoost-algoritmit aloittavat kouluttamalla pÃĪÃĪtÃķspuumallin ja mÃĪÃĪrittÃĪmÃĪllÃĪ jokaiselle havainnolle saman painon. Kun ensimmÃĪinen puu on arvioitu tarkkuuden suhteen, eri havaintojen painot muutetaan. Helppoja luokiteltavia havaintoja koskevat painot lasketaan, kun taas vaikeasti luokiteltavien havaintojen painot korotetaan. Uusi puu luodaan nÃĪiden muutettujen painojen avulla, tavoitteena on, ettÃĪ toisen puun ennusteet ovat tarkemmat kuin ensimmÃĪisen puun ennusteet.

Malli koostuu nyt alkuperÃĪisen puun ja uuden puun (tai Puu 1 + Puu 2) ennusteista. Luokittelun tarkkuus arvioidaan uudelleen uuden mallin perusteella. Kolmas puu luodaan mallin laskettujen virheiden perusteella, ja painot muutetaan jÃĪlleen. TÃĪmÃĪ prosessi jatkuu tietyn mÃĪÃĪrÃĪn iteraatioiden ajan, ja lopullinen malli on ensemble-malli, joka kÃĪyttÃĪÃĪ kaikkien aikaisemmin luotujen puiden ennusteiden painotettua summaa.

YllÃĪ kuvattu prosessi kÃĪyttÃĪÃĪ pÃĪÃĪtÃķspuita ja perusennustajia/malleja, mutta boosting-lÃĪhestymistapa voidaan toteuttaa laajalla valikoimalla malleja, kuten useilla standardoiduilla luokittelija- ja regressor-malleilla. AvainkÃĪsitteet, jotka on ymmÃĪrrettÃĪvÃĪ, ovat, ettÃĪ seuraavat ennustajat oppivat edellisten virheistÃĪ ja ettÃĪ ennustajat luodaan jÃĪrjestyksessÃĪ.

Gradient-boosting-algoritmien ensisijainen etu on, ettÃĪ ne vievÃĪt vÃĪhemmÃĪn aikaa nykyisten ennusteiden lÃķytÃĪmiseen verrattuna muihin koneoppimisen malleihin. On kuitenkin huomioitava, ettÃĪ boosting-algoritmeja kÃĪytettÃĪessÃĪ on oltava varovainen, sillÃĪ ne ovat alttiita ylioppimiselle.

Gradient Boosting

Tutustumme nyt yhteen yleisimpiin boosting-algoritmeihin. Gradient Boosting -mallit (GBM) tunnetaan korkeasta tarkkuudestaan, ja ne laajentavat yleisiÃĪ periaatteita, joita kÃĪytetÃĪÃĪn AdaBoostissa.

GBM:n ja AdaBoostin vÃĪlinen pÃĪÃĪero on, ettÃĪ GBM:t kÃĪyttÃĪvÃĪt eri menetelmÃĪÃĪ virheellisten data-pisteiden tunnistamiseen. AdaBoost laskee, missÃĪ malli on heikko tarkastelemalla voimakkaasti painotettuja data-pisteitÃĪ. GBM:t kÃĪyttÃĪvÃĪt sen sijaan gradiennteja oppijoiden tarkkuuden mÃĪÃĪrittÃĪmiseen ja soveltavat menetysfunktiota malliin. Menetysfunktiot ovat tapa mitata mallin sovituskykyÃĪ tietojoukkoon, laskemalla virheen ja optimoimalla mallia vÃĪhentÃĪmÃĪÃĪn virhettÃĪ. GBM:t sallivat kÃĪyttÃĪjÃĪn optimoida tietyn menetysfunktion halutun tavoitteen mukaan.

Otetaan esimerkiksi yleisin menetysfunktiot – KeskineliÃķvirhe (MSE) – gradientin lasku kÃĪytetÃĪÃĪn pÃĪivittÃĪmÃĪÃĪn ennusteita ennalta mÃĪÃĪritellyn oppimisnopeuden perusteella, tavoitteena on lÃķytÃĪÃĪ arvot, joissa menetys on minimi.

Jotta asia selvenisi:

Uudet mallin ennusteet = ulostulomuuttujat – vanhat epÃĪtÃĪydelliset ennusteet.

Statistisessa mielessÃĪ GBM:t pyrkivÃĪt lÃķytÃĪmÃĪÃĪn merkityksellisiÃĪ malleja mallin jÃĪÃĪnteissÃĪ, sÃĪÃĪtÃĪmÃĪllÃĪ mallia sopimaan jÃĪÃĪnteiden mukaan ja tuomaan jÃĪÃĪnteet mahdollisimman lÃĪhelle nollaa. Jos suorittaisit regressiota mallin ennusteiden kanssa, jÃĪÃĪnteet jakautuisivat 0 (tÃĪydellinen sopimus) ympÃĪrille, ja GBM:t lÃķytÃĪvÃĪt jÃĪÃĪnteiden sisÃĪllÃĪ olevia malleja ja pÃĪivittÃĪvÃĪt mallia nÃĪiden mallien ympÃĪrillÃĪ.

Toisin sanoen ennusteet pÃĪivitetÃĪÃĪn siten, ettÃĪ kaikkien jÃĪÃĪnteiden summa on mahdollisimman lÃĪhellÃĪ 0, mikÃĪ tarkoittaa, ettÃĪ ennustetut arvot ovat hyvin lÃĪhellÃĪ todellisia arvoja.

Huomaa, ettÃĪ laaja valikoima muita menetysfunktiota (kuten logaritminen menetys) voidaan kÃĪyttÃĪÃĪ GBM:ssÃĪ. MSE valittiin yllÃĪ yksinkertaisuuden vuoksi.

Variation Gradient Boosting -malleja

Gradient Boosting -mallit ovat ahneita algoritmeja, jotka ovat alttiita ylioppimiselle tietojoukossa. TÃĪtÃĪ voidaan estÃĪÃĪ useilla eri menetelmillÃĪ, jotka voivat parantaa GBM:n suorituskykyÃĪ.

GBM:t voidaan sÃĪÃĪnnellÃĪ neljÃĪllÃĪ eri menetelmÃĪllÃĪ: Shrinkage, Tree Constraints, Stochastic Gradient Boosting ja Penalized Learning.

Shrinkage

Kuten aiemmin mainittiin, GBM:ssÃĪ ennusteet summataan jÃĪrjestyksessÃĪ. “Shrinkagessa” jokaisen puun lisÃĪyksen kokonaissummaan sovelletaan painoja. KÃĪytetÃĪÃĪn painoja, jotka hidastavat algoritmin oppimisnopeutta, jolloin useampi puu on lisÃĪttÃĪvÃĪ malliin, mikÃĪ yleensÃĪ parantaa mallin luotettavuutta ja suorituskykyÃĪ. Vaihtokauppana malli vaatii kauemmin koulutuksen.

Puun rajoitukset

Puun rajoittaminen eri sÃĪÃĪtÃķjen avulla, kuten lisÃĪÃĪmÃĪllÃĪ puun syvyyttÃĪ tai kasvattamalla puun solmujen tai lehtien mÃĪÃĪrÃĪÃĪ, voi tehdÃĪ mallista vaikeamman ylioppimisen. Asettamalla rajoitus vÃĪhimmÃĪismÃĪÃĪrÃĪlle havainnoille jakoa kohden on samanlainen vaikutus. Vaihtokauppana malli vaatii kauemmin koulutuksen.

Satunnainen otanta

YksittÃĪiset oppijat voidaan luoda satunnaisprosessin kautta, joka perustuu satunnaisiin alijoukkoihin koulutusjoukosta. TÃĪmÃĪ vÃĪhentÃĪÃĪ korrelaatioita puiden vÃĪlillÃĪ, mikÃĪ estÃĪÃĪ ylioppimisen. Joukkoa voidaan ottaa alijoukko ennen puiden luomista tai ennen puun jakoa.

Rangaistava oppiminen

Puun rajoittamisen lisÃĪksi on mahdollista kÃĪyttÃĪÃĪ regressiopuuta. Regressiopuissa on numeerisia arvoja kussakin lehdessÃĪ, ja nÃĪmÃĪ toimivat painona ja voidaan sÃĪÃĪtÃĪÃĪ yleisillÃĪ sÃĪÃĪnnÃķstÃķtoimilla, kuten L1- ja L2-sÃĪÃĪnnÃķstÃķllÃĪ.

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.