tynkä Mitä on gradientin tehostaminen? - Unite.AI
Liity verkostomme!

AI 101

Mitä on gradientin tehostaminen?

mm
Päivitetty on

Yleinen koneoppimismalli, joka on onnistunut erittäin hyödylliseksi datatieteen kilpailuissa, on gradienttia tehostava malli. Gradientin tehostaminen on pohjimmiltaan prosessi, jossa heikkoja oppimismalleja muunnetaan vahvoiksi oppimismalleiksi. Mutta kuinka tämä tarkalleen ottaen toteutetaan? Tarkastellaan lähemmin gradientin tehostusalgoritmeja ja parempia ymmärtää, miten kaltevuutta tehostava malli muuntaa heikot oppijat vahvoiksi oppijoiksi.

Gradientin tehostuksen määrittäminen

Tämän artikkelin tarkoituksena on antaa sinulle hyvä intuitio siitä, mitä gradientin tehostaminen on, ilman monia algoritmien taustalla olevan matematiikan erittelyjä. Kun ymmärrät gradientin tehostamisen korkealla tasolla, sinua rohkaistaan ​​menemään syvemmälle ja tutkimaan sen mahdollistavaa matematiikkaa.

Aloitetaan määrittelemällä, mitä tarkoittaa oppijan "tehostaminen". Heikot oppijat muunnetaan vahvoiksi oppijoiksi mukauttamalla oppimismallin ominaisuuksia. Mitä oppimisalgoritmia tarkalleen tehostetaan?

Tehostetut mallit toimivat täydentämällä toista yleistä koneoppimismallia, päätöspuu.

A päätöspuu malli toimii jakamalla tietojoukon yhä pienempiin osiin, ja kun osajoukkoja ei voida jakaa enempää, tuloksena on puu, jossa on solmuja ja lehtiä. Päätöspuun solmut ovat siellä, missä datapisteitä koskevat päätökset tehdään käyttämällä erilaisia ​​suodatusehtoja. Päätöspuun lehdet ovat tietopisteitä, jotka on luokiteltu. Päätöspuualgoritmit voivat käsitellä sekä numeerista että kategorista dataa, ja puun jaot perustuvat tiettyihin muuttujiin/ominaisuuksiin.

Esimerkki tavasta, jolla tehostavia malleja koulutetaan.
Kuva: SeattleDataBuy Wikimedia Commonsin kautta, CC 4.0 (https://commons.wikimedia.org/wiki/File:Boosting.png)

Yksi tehostusalgoritmien tyyppi on AdaBoost-algoritmi. AdaBoost-algoritmit alkavat harjoitella päätöspuumallia ja antamalla jokaiselle havainnolle saman painon. Kun ensimmäisen puun tarkkuus on arvioitu, eri havaintojen painoja säädetään. Helposti luokiteltavien havaintojen painoa on laskettu, kun taas vaikeasti luokiteltavien havaintojen painoa on nostettu. Toinen puu luodaan näitä mukautettuja painoja käyttämällä, jotta toisen puun ennusteet ovat tarkempia kuin ensimmäisen puun ennusteet.

Malli koostuu nyt alkuperäisen puun ja uuden puun (tai Puu 1 + Puu 2) ennusteista. Luokittelun tarkkuus arvioidaan vielä kerran uuden mallin perusteella. Kolmas puu luodaan mallin lasketun virheen perusteella ja painoja säädetään vielä kerran. Tämä prosessi jatkuu tietyn iteraatiomäärän ajan, ja lopullinen malli on ensemble-malli, joka käyttää kaikkien aiemmin rakennettujen puiden tekemien ennusteiden painotettua summaa.

Yllä kuvattu prosessi käyttää päätöspuita ja perusennusteita/malleja, mutta tehostava lähestymistapa voidaan toteuttaa monenlaisilla malleilla, kuten monilla vakioluokittelijoilla ja regressorimalleilla. Ymmärrettävät keskeiset käsitteet ovat, että seuraavat ennustajat oppivat aikaisempien tekemistä virheistä ja että ennustajat luodaan peräkkäin.

Algoritmien tehostamisen ensisijainen etu on, että niillä kuluu vähemmän aikaa nykyisten ennusteiden löytämiseen verrattuna muihin koneoppimismalleihin. Tehostusalgoritmeja käytettäessä on kuitenkin oltava varovainen, koska ne ovat alttiita ylisovitukselle.

Liukuvärjäys

Tarkastellaan nyt yhtä yleisimmistä tehostusalgoritmeista. Gradient Boosting Models (GBM) tunnetaan korkeasta tarkkuudestaan, ja ne täydentävät AdaBoostissa käytettyjä yleisiä periaatteita.

Ensisijainen ero Gradient Boosting -mallin ja AdaBoostin välillä on, että GBM:t käyttävät erilaista laskentatapaa, mitkä oppijat tunnistavat datapisteitä väärin. AdaBoost laskee, missä malli on huonompi, tutkimalla voimakkaasti painotettuja datapisteitä. Sillä välin GBM:t käyttävät gradientteja määrittääkseen oppijoiden tarkkuuden ja soveltavat malliin häviöfunktiota. Häviöfunktiot ovat tapa mitata mallin sopivuuden tarkkuutta tietojoukkoon, laskea virhe ja optimoida malli tämän virheen vähentämiseksi. GBM:t antavat käyttäjän optimoida tietyn häviötoiminnon haluamansa tavoitteen perusteella.

Yleisin tappiofunktio - Keskimääräinen neliövirhe (MSE) - Esimerkiksi, kaltevuus laskeutuminen käytetään ennusteiden päivittämiseen ennalta määritettyyn oppimisnopeuteen perustuen, tavoitteena löytää arvot, joissa häviö on minimaalinen.

Selventääksesi asiaa:

Uuden mallin ennusteet = lähtömuuttujat – vanhat epätäydelliset ennusteet.

Tilastollisemmassa mielessä GBM:t pyrkivät löytämään oleellisia kuvioita mallin jäännöksistä, mukauttamalla mallia kuvioon sopivaksi ja tuomalla jäännökset mahdollisimman lähelle nollaa. Jos suoritat regression mallin ennusteille, jäännökset jakautuisivat 0:n ympärille (täydellinen istuvuus), ja GBM:t löytävät kuvioita jäännöksistä ja päivittävät mallia näiden kuvioiden ympärille.

Toisin sanoen ennusteet päivitetään niin, että kaikkien jäännösten summa on mahdollisimman lähellä nollaa, eli ennustetut arvot ovat hyvin lähellä todellisia arvoja.

Huomaa, että GBM voi käyttää monia muita häviöfunktioita (kuten logaritmista häviötä). MSE valittiin yllä yksinkertaisuuden vuoksi.

Muunnelmia gradienttia tehostavista malleista

Gradient Boosting -mallit ovat ahneita algoritmeja, jotka ovat taipuvaisia ​​ylisovittamaan tietojoukkoa. Tällä voidaan suojautua useita erilaisia ​​menetelmiä jotka voivat parantaa GBM:n suorituskykyä.

GBM:itä voidaan säädellä neljällä eri menetelmällä: kutistuminen, puurajoitukset, stokastisen gradientin tehostaminen ja rankaisemalla oppiminen.

kutistuminen

Kuten aiemmin mainittiin, GBM:issä ennusteet summataan yhteen peräkkäin. "Kutistuminen" -kohdassa jokaisen puun lisäyksiä kokonaissummaan säädetään. Käytetään painoja, jotka hidastavat algoritmin oppimisnopeutta, jolloin malliin on lisättävä enemmän puita, mikä tyypillisesti parantaa mallin kestävyyttä ja suorituskykyä. Kompromissi on, että mallin harjoittelu kestää kauemmin.

Puun rajoitukset

Puun rajoittaminen erilaisilla säädöillä, kuten lisäämällä puuhun syvyyttä tai lisäämällä puun solmujen tai lehtien määrää, voi vaikeuttaa mallin ylisovittamista. Havaintojen vähimmäismäärää jakoa kohden rajoittamalla on samanlainen vaikutus. Jälleen kerran, kompromissi on, että mallin kouluttaminen kestää kauemmin.

Satunnaisotos

Yksittäiset oppijat voidaan luoda stokastisen prosessin avulla, joka perustuu satunnaisesti valittuihin harjoitustietojoukon alaleimoihin. Tämä vähentää puiden välisiä korrelaatioita, mikä estää liiallista istuttamista. Tietojoukko voidaan leimata ennen puiden luomista tai ennen kuin harkitaan puun jakamista.

Rangaistettu oppiminen

Sen lisäksi, että mallia rajoitetaan rajoittamalla puun rakennetta, on mahdollista käyttää regressiopuuta. Regressiopuiden jokaiseen lehteen on liitetty numeerisia arvoja, jotka toimivat painoina ja niitä voidaan säätää yleisillä regularisointifunktioilla, kuten L1- ja L2-regulointi.

Bloggaaja ja ohjelmoija erikoisaloilla Koneen oppiminen ja Deep Learning aiheita. Daniel toivoo voivansa auttaa muita käyttämään tekoälyn voimaa yhteiskunnalliseen hyvään.