Yhtye-oppimisen taika

Hei Habr! Kutsumme tietoteknikot ja koneoppimisen asiantuntijat ilmaiselle esittelytunnille "ML-mallien tuottaminen teolliseen ympäristöön online-suositusten esimerkillä". Julkaisemme myös artikkelin Luca Monno - CDP SpA:n talousanalytiikan johtaja.

Yksi hyödyllisimmistä ja yksinkertaisimmista koneoppimismenetelmistä on Ensemble Learning. Ensemble Learning on XGBoostin, Baggingin, Random Forestin ja monien muiden algoritmien takana oleva menetelmä.

Kohti datatieteitä käsittelevässä artikkelissa on paljon upeita artikkeleita, mutta valitsin kaksi tarinaa (ensimmäinen и toinen), josta pidin eniten. Joten miksi kirjoittaa toinen artikkeli EL:stä? Koska haluan näyttää sinulle kuinka se toimii yksinkertaisella esimerkillä, mikä sai minut ymmärtämään, ettei tässä ole mitään taikuutta.

Kun näin EL:n ensimmäistä kertaa toiminnassa (joidenkin hyvin yksinkertaisten regressiomallien kanssa), en ollut uskoa silmiäni, ja muistan edelleen professorin, joka opetti minulle tämän menetelmän.

Minulla oli kaksi eri mallia (kaksi heikkoa harjoitusalgoritmia) mittareilla näytteen ulkopuolella R² on 0,90 ja 0,93, vastaavasti. Ennen kuin katsoin tulosta, ajattelin, että saan R²:n jonnekin kahden alkuperäisen arvon väliltä. Toisin sanoen uskoin, että EL:llä voitaisiin saada malli toimimaan niin huonosti kuin huonoin malli, mutta ei niin hyvin kuin paras malli voisi toimia.

Suureksi yllätyksekseni pelkkä ennusteiden keskiarvo tuotti R²:n 0,95. 

Aluksi aloin etsimään vikaa, mutta sitten ajattelin, että tässä saattaa olla jotain taikuutta piilossa!

Mitä on Ensemble Learning

EL:n avulla voit yhdistää kahden tai useamman mallin ennusteet luodaksesi kestävämmän ja tehokkaamman mallin. Mallikokonaisuuksien kanssa työskentelyyn on monia menetelmiä. Tässä käsittelen kahta hyödyllisintä antaakseni yleiskatsauksen.

Kanssa regressio käytettävissä olevien mallien suorituskyvyn keskiarvo on mahdollista.

Kanssa luokittelu Voit antaa malleille mahdollisuuden valita tarroja. Useimmiten valittu tarra on se, jonka uusi malli valitsee.

Miksi EL toimii paremmin

Pääsyy siihen, miksi EL toimii paremmin, on se, että jokaisessa ennusteessa on virhe (tiedämme tämän todennäköisyysteoriasta), kahden ennusteen yhdistäminen voi auttaa vähentämään virhettä ja siten parantaa suorituskykymittareita (RMSE, R² jne.). d.).

Seuraava kaavio näyttää kuinka kaksi heikkoa algoritmia toimivat tietojoukossa. Ensimmäisellä algoritmilla on suurempi kaltevuus kuin tarvitaan, kun taas toisella on melkein nolla (mahdollisesti ylisäännöllisyyden vuoksi). Mutta kokonaisuus näyttää paljon parempia tuloksia. 

Jos katsot R²-indikaattoria, ensimmäisen ja toisen harjoitusalgoritmin kohdalla se on vastaavasti -0.01¹, 0.22, kun taas ryhmän osalta se on 0.73.

Yhtye-oppimisen taika

On monia syitä, miksi algoritmi voi olla huono malli jopa tällaisessa perusesimerkissä: ehkä päätit käyttää regularisointia välttääksesi ylisovituksen, tai päätit olla sulkematta pois joitain poikkeavuuksia, tai ehkä käytit polynomiregressiota ja menit väärin. aste (esim. käytimme toisen asteen polynomia, ja testitulokset osoittavat selkeän epäsymmetrian, johon kolmas aste sopisi paremmin).

Kun EL toimii paremmin

Tarkastellaan kahta oppimisalgoritmia, jotka toimivat samoilla tiedoilla.

Yhtye-oppimisen taika

Tästä näet, että näiden kahden mallin yhdistäminen ei parantanut suorituskykyä juurikaan. Aluksi kahdelle harjoitusalgoritmille R²-indikaattorit olivat vastaavasti -0,37 ja 0,22, ja kokonaisuuden osalta se osoittautui -0,04. Eli EL-malli sai indikaattoreiden keskiarvon.

Näiden kahden esimerkin välillä on kuitenkin suuri ero: ensimmäisessä esimerkissä mallivirheet korreloivat negatiivisesti ja toisessa positiivisesti (kolmen mallin kertoimia ei arvioitu, vaan ne yksinkertaisesti valitsi kirjoittaja esimerkkinä.)

Siksi Ensemble Learningiä voidaan käyttää parantamaan bias/varianssitasapainoa joka tapauksessa, mutta milloin Mallivirheet eivät korreloi positiivisesti, EL:n käyttö voi parantaa suorituskykyä.

Homogeeniset ja heterogeeniset mallit

Hyvin usein EL:ää käytetään homogeenisissa malleissa (kuten tässä esimerkissä tai satunnaisessa metsässä), mutta itse asiassa voit yhdistää eri malleja (lineaarinen regressio + hermoverkko + XGBoost) erilaisiin selittävien muuttujien joukkoihin. Tämä todennäköisesti johtaa korreloimattomiin virheisiin ja parantuneeseen suorituskykyyn.

Vertailu salkun hajauttamiseen

EL toimii samalla tavalla kuin hajauttaminen portfolioteoriassa, mutta sen parempi meille. 

Hajauttaessasi yrität vähentää tuottosi varianssia sijoittamalla korreloimattomiin osakkeisiin. Hyvin hajautettu osakesalkku toimii paremmin kuin huonoin yksittäinen osake, mutta ei koskaan paremmin kuin paras.

Lainatakseni Warren Buffettia: 

"Monipuolistaminen on puolustus tietämättömyyttä vastaan; jollekin, joka ei tiedä mitä on tekemässä, siinä [monipuolistumisessa] on hyvin vähän järkeä."

Koneoppimisessa EL auttaa vähentämään mallisi varianssia, mutta se voi johtaa malliin, jonka kokonaissuorituskyky on parempi kuin paras alkuperäinen malli.

Yhteenvetona

Useiden mallien yhdistäminen yhdeksi on suhteellisen yksinkertainen tekniikka, joka voi johtaa varianssibias-ongelman ratkaisemiseen ja suorituskyvyn parantamiseen.

Jos sinulla on kaksi tai useampi malli, jotka toimivat hyvin, älä valitse niistä: käytä niitä kaikkia (mutta varoen)!

Oletko kiinnostunut kehittymään tähän suuntaan? Ilmoittaudu ilmaiselle demotunnille "ML-mallien tuottaminen teolliseen ympäristöön online-suositusten esimerkillä" ja osallistua online-tapaaminen Andrei Kuznetsovin kanssa — koneoppimisinsinööri Mail.ru Groupissa.

Lähde: will.com

Lisää kommentti