Mitä koneoppimisessa on ylivarustusta ja miten sitä voidaan välttää?



Tässä artikkelissa käsitellään koneen oppimisen ylikuormitusta esimerkkien ja muutamien tekniikoiden avulla, jotta vältetään ja havaitaan ylikunto koneen oppimismallissa.

Koneoppimisen mallin rakentaminen ei ole pelkästään tietojen syöttämistä, vaan on paljon puutteita, jotka vaikuttavat minkä tahansa mallin tarkkuuteen. Yli sovitettu on yksi sellainen koneoppimisen puute, joka haittaa mallin tarkkuutta ja suorituskykyä. Tässä artikkelissa käsitellään seuraavia aiheita:

Mitä koneen oppimisessa on ylivarustusta?

Tilastomallin sanotaan olevan ylivarustettu, kun syötämme siihen paljon enemmän tietoa kuin on tarpeen. Jotta se olisi relatable, kuvittele yrittää sovittaa ylimitoitettuihin vaatteisiin.





Kun malli mahtuu enemmän tietoa kuin todellisuudessa tarvitsee, se alkaa tarttua meluisiin tietoihin ja tietojen virheellisiin arvoihin. Tämän seurauksena mallin tehokkuus ja tarkkuus heikkenevät. Tarkastelkaamme muutamia esimerkkejä ylikuormituksesta, jotta ymmärrämme, miten se todella tapahtuu.



mitä tietoja sekoittuu taulussa

Esimerkkejä ylisovituksesta

Esimerkki 1

Jos otamme esimerkin yksinkertaisesta lineaarinen regressio , datan kouluttamisella on kyse vähimmäiskustannusten selvittämisestä parhaiten sopivan linjan ja datapisteiden välillä. Se käy läpi useita toistoja saadakseen selville parhaan mahdollisen istuvuuden ja minimoiden kustannukset. Tällöin kuvaan tulee ylisovitus.



Yllä olevassa kuvassa näkyvä viiva voi antaa erittäin tehokkaan tuloksen uudelle datapisteelle. Yliasennuksen tapauksessa, kun suoritamme harjoitusalgoritmin tietojoukolla, annamme kustannusten laskea jokaisella iterointiluvulla.

Suoritetaan tämä liian kauan tarkoittaa alennettuja kustannuksia, mutta se sopii myös tietojoukon meluisiin tietoihin. Tulos näyttäisi olevan kuten alla olevassa kaaviossa.

Tämä saattaa näyttää tehokkaalta, mutta ei todellakaan. Algoritmin, kuten., Päätavoite lineaarinen regressio on löytää hallitseva trendi ja sovittaa datapisteet vastaavasti. Mutta tässä tapauksessa viiva sopii kaikkiin datapisteisiin, mikä ei ole merkitystä mallin tehokkuudelle ennustettaessa optimaalisia tuloksia uusille syöttötietopisteille.

Tarkastellaan nyt kuvailevaa esimerkkiä ongelmalausekkeen avulla.

Esimerkki 2

Ongelma: Katsotaanpa, että haluamme ennustaa, saako jalkapalloilija lähtöpaikan ensimmäisen tason jalkapalloseurassa tämänhetkisen suorituskyvyn perusteella toisen tason liigassa.

Kuvittele nyt, että koulutamme ja sovitamme malliin 10000 tällaista pelaajaa, joilla on lopputulos. Kun yritämme ennustaa tuloksen alkuperäisestä tietojoukosta, sanotaan, että saimme 99% tarkkuuden. Mutta eri tietojoukkojen tarkkuus on noin 50 prosenttia. Tämä tarkoittaa, että malli ei yleisty hyvin harjoitustiedoistamme ja näkymättömistä tiedoistamme.

Tältä näyttää ylivarustelu. Se on hyvin yleinen ongelma koneoppimisessa ja jopa datatieteessä. Ymmärretään nyt signaali ja melu.

Signaali vs melu

Ennustavassa mallinnuksessa signaali viittaa todelliseen taustamalliin, joka auttaa mallia oppimaan tietoja. Toisaalta melulla ei ole merkitystä ja satunnaiset tiedot tietojoukossa. Otetaan tosielämän esimerkki ymmärtääksemme melun ja signaalin käsitteen.

Oletetaan, että haluamme mallintaa ikää ja lukutaitoa aikuisten keskuudessa. Jos otamme erittäin suuren osan väestöstä, löydämme selvän suhteen. Tämä on signaali, kun taas kohina häiritsee signaalia. Jos teemme samoin paikallisen väestön suhteen, suhde muuttuu mutaiseksi. Poikkeamat ja satunnaisuus vaikuttavat siihen, esimerkiksi yksi aikuinen kävi koulua aikaisin tai jollakin aikuisella ei ollut varaa koulutukseen jne.

Puhuessaan melusta ja signaalista koneoppimisen kannalta, hyvä koneoppimisalgoritmi erottaa signaalit automaattisesti melusta. Jos algoritmi on liian monimutkainen tai tehoton, se voi myös oppia melun. Siksi malli on ylisuuri. Ymmärretään myös koneoppimisen puute.

Mikä on alivarustelu?

Yliasennuksen välttämiseksi voimme lopettaa harjoittelun aikaisemmin. Mutta se voi myös johtaa siihen, että malli ei kykene oppimaan tarpeeksi koulutustiedoista, että sen voi olla vaikeaa kaapata hallitseva suuntaus. Tätä kutsutaan vajaakuntoiseksi. Tulos on sama kuin ylikunto, tehottomuus tulosten ennustamisessa.

Nyt kun olemme ymmärtäneet, mitä koneoppimisessa ali- ja ylivarustaminen todellisuudessa on, yritetään ymmärtää, miten voimme havaita ylikokemuksen koneoppimisessa.

Kuinka tunnistaa yliasennus?

Pääasennuksen suurin haaste on arvioida mallimme suorituskyvyn tarkkuus uusilla tiedoilla. Emme pystyisi arvioimaan tarkkuutta, ennen kuin testaamme sen.

Tämän ongelman ratkaisemiseksi voimme jakaa alkutietojoukon erillisiin koulutus- ja testitietojoukoihin. Tällä tekniikalla voimme itse asiassa arvioida, kuinka hyvin mallimme toimii uusien tietojen kanssa.

Ymmärretään tämä esimerkin avulla, kuvitellaan, että saavutamme yli 90 prosentin tarkkuuden harjoitusjoukossa ja 50 prosentin tarkkuuden testisarjassa. Sitten se olisi automaattisesti punainen lippu mallille.

Toinen tapa havaita yliasennus on aloittaa yksinkertaistetulla mallilla, joka toimii vertailukohtana.

Tällä lähestymistavalla, jos yrität monimutkaisempia algoritmeja, pystyt ymmärtämään, kannattaako lisäkompleksisuus mallille edes. Se tunnetaan myös nimellä Occamin partakone , se valitsee periaatteessa yksinkertaistetun mallin, jos suorituskyky on vertailukelpoinen kahden mallin tapauksessa. Vaikka yliasennuksen havaitseminen on hyvä käytäntö,mutta on olemassa useita tekniikoita myös ylikuormituksen estämiseksi. Katsotaanpa, miten voimme estää ylikuntoisuuden koneoppimisessa.

Kuinka välttää ylikunto koneoppimisessa?

Alla on lueteltu useita tekniikoita koneoppimisen ylikuormituksen välttämiseksi.

  1. Ristivahvistus

  2. Harjoittelu enemmän tietoa

  3. Ominaisuuksien poistaminen

  4. Varhainen pysäytys

  5. Säännönmukaistaminen

  6. Kokoonpano

1. Ristivahvistus

Yksi tehokkaimmista ominaisuuksista ylikuormituksen välttämiseksi / estämiseksi on ristivalidointi. Ajatuksena on käyttää alkuharjoitustietoja minijuna-testi-jakojen luomiseen ja sitten käyttää näitä jakoja mallisi virittämiseen.

Tavallisessa k-kertaisessa validoinnissa data jaetaan k-osajoukoihin, jotka tunnetaan myös nimellä taitokset. Tämän jälkeen algoritmi koulutetaan iteratiivisesti k-1-taitoksille samalla kun jäljellä olevia taitoksia käytetään testisarjana, joka tunnetaan myös nimellä holdout-taitto.

Ristiintarkastus auttaa meitä virittämään hyperparametrit vain alkuperäisen harjoitusjoukon avulla. Se pitää periaatteessa testijoukon erikseen todellisena näkymättömänä tietojoukkona lopullisen mallin valitsemiseksi. Näin ollen vältetään ylikuntoa kokonaan.

2. Harjoittelu, jossa on enemmän tietoja

Tämä tekniikka ei välttämättä toimi joka kerta, kuten olemme myös keskustelleet yllä olevassa esimerkissä, jossa koulutus, jossa on suuri määrä väestöä, auttaa mallia. Se auttaa periaatteessa mallia tunnistamaan signaalin paremmin.

Joissakin tapauksissa lisääntynyt data voi myös tarkoittaa sitä, että malliin syötetään enemmän melua. Kun koulutamme mallia enemmän dataa, meidän on varmistettava, että tiedot ovat puhtaita ja vapaita satunnaisuudesta ja epäjohdonmukaisuuksista.

3. Ominaisuuksien poistaminen

Vaikka joillakin algoritmeilla on automaattinen ominaisuuksien valinta. Suurelle osalle niistä, joilla ei ole sisäänrakennettua ominaisuusvalintaa, voimme manuaalisesti poistaa muutamia merkityksettömiä ominaisuuksia tulo-ominaisuuksista yleistämisen parantamiseksi.

Yksi tapa tehdä se on tekemällä johtopäätös siitä, kuinka ominaisuus sopii malliin. Se on melko samanlainen kuin koodin virheenkorjaus rivi riviltä.

Jos ominaisuus ei pysty selittämään mallin merkitystä, voimme yksinkertaisesti tunnistaa ne. Voimme käyttää jopa muutamia ominaisuuksien valinnan heuristiikkaa hyvään lähtökohtaan.

4. Varhainen pysäytys

Kun malli harjoittelee, voit itse mitata kuinka hyvin malli toimii kunkin iteraation perusteella. Voimme tehdä tämän siihen pisteeseen asti, jolloin iteraatiot parantavat mallin suorituskykyä. Tämän jälkeen malli ylittää harjoitustiedot, koska yleistyminen heikkenee jokaisen iteraation jälkeen.

Joten varhainen lopettaminen tarkoittaa harjoitteluprosessin pysäyttämistä ennen kuin malli kulkee pisteessä, jossa malli alkaa liikuttaa harjoitustietoja. Tätä tekniikkaa käytetään enimmäkseen syvä oppiminen .

5. Säännönmukaistaminen

Se tarkoittaa periaatteessa mallin pakottamista keinotekoisesti yksinkertaisemmaksi käyttämällä laajempaa tekniikoita. Se riippuu täysin käyttämämme oppijan tyypistä. Esimerkiksi voimme karsia a , käytä keskeytystä a hermoverkko tai lisää sakkoparametri kustannusfunktioon regressiossa.

Melko usein laillistaminen on myös hyperparametri. Se tarkoittaa, että se voidaan virittää myös ristivalidoinnilla.

6. Kokoonpano

Tämä tekniikka yhdistää periaatteessa eri koneoppimismallien ennusteet. Alla on lueteltu kaksi yleisintä kokoonpanomenetelmää:

  • Laukkuyritykset yrittävät vähentää mallien yliasennuksen mahdollisuutta

  • Tehostamisyritykset parantavat yksinkertaisempien mallien ennustavaa joustavuutta

Vaikka ne ovat molemmat kokonaisuusmenetelmiä, lähestymistapa alkaa täysin vastakkaisista suunnista. Bagging käyttää monimutkaisia ​​perusmalleja ja yrittää tasoittaa niiden ennusteita, kun taas tehostaminen käyttää yksinkertaisia ​​perusmalleja ja yrittää lisätä sen kokonaisvaltaista monimutkaisuutta.

Mikä on Fit of Good?

Tilastomallinnuksessa sovituksen hyvyys viittaa siihen, kuinka hyvin tulokset tai ennustetut arvot vastaavat havaittuja tai todellisia arvoja.Malli, joka on oppinut melua signaalin sijasta, on ylivarustettu, koska se sopii harjoitustietojoukkoon, mutta sen tehokkuus uuden tietojoukon kanssa on heikompi.

Biasin ja varianssin välinen kompromissi

Sekä varianssi että ennakkoluulot ovat muodon ennustusvirheitä . Suuren varianssin ja suuren puolueellisuuden välinen kompromissi on erittäin tärkeä käsite tilastoissa ja koneoppimisessa. Tämä on yksi käsite, joka vaikuttaa kaikkiin valvottuihin koneoppimisalgoritmeihin.

Bias-varianssi-kompromissilla on erittäin merkittävä vaikutus minkä tahansa koneoppimismallin monimutkaisuuden, ali- ja yliasennuksen määrittämiseen.

Puolueellisuus

Se ei ole mitään muuta kuin ero ennustettujen arvojen ja mallin todellisten tai todellisten arvojen välillä. Mallin ei ole aina helppoa oppia melko monimutkaisista signaaleista.

Kuvitelkaamme sopivan a lineaarinen regressio malliin, jossa on epälineaarista dataa. Riippumatta siitä, kuinka tehokkaasti malli oppii havainnot, se ei mallintaa käyriä tehokkaasti. Se tunnetaan aliasennettuna.

Varianssi

Se viittaa mallin herkkyyteen tiettyihin harjoitteludatan sarjoihin. Suuren varianssin algoritmi tuottaa outon mallin, joka eroaa huomattavasti koulutusjoukosta.

Kuvittele algoritmi, joka sopii rajoittamattomaan ja erittäin joustavaan malliin, ja se oppii myös harjoittelusarjan melusta, joka aiheuttaa ylikuormitusta.

Bias-Variance-kompromissi

Koneoppimisen algoritmia ei voida ymmärtää kertamenetelmänä mallin kouluttamiseksi, vaan se on toistuva prosessi.

Alhaisen varianssin ja suuren esijännityksen algoritmit ovat vähemmän monimutkaisia, yksinkertaisen ja jäykän rakenteen kanssa.

  • He kouluttavat malleja, jotka ovat johdonmukaisia, mutta keskimäärin epätarkkoja.

  • Näitä ovat lineaariset tai parametriset algoritmit, kuten regressio, , jne.

Suuren varianssin ja pienen esijännityksen algoritmit ovat yleensä monimutkaisempia, joustavalla rakenteella.

  • He kouluttavat epäjohdonmukaisia, mutta keskimäärin tarkkoja malleja.

  • Näitä ovat ei-lineaariset tai ei-parametriset algoritmit, kuten , , jne.

Tämä vie meidät tämän artikkelin loppuun, jossa olemme oppineet koneiden oppimisen ylikuormituksesta ja erilaisista tekniikoista sen välttämiseksi. Toivon, että olet selvillä kaikesta, mitä sinulle on jaettu tässä opetusohjelmassa.

Jos löysit tämän artikkelin aiheesta 'Yliostaminen koneoppimisessa', tutustu artikkeliin luotettava verkko-oppimisyritys, jolla on yli 250 000 tyytyväisen oppijan verkosto, levinneenä ympäri maailmaa.

Olemme täällä auttaaksemme sinua matkasi jokaisessa vaiheessa ja keksimään opetussuunnitelman, joka on suunniteltu opiskelijoille ja ammattilaisille, jotka haluavat olla . Kurssi on suunniteltu antamaan sinulle etumatka Python-ohjelmointiin ja kouluttamaan sinua sekä ydin- että edistyneille Python-käsitteille yhdessä muiden kanssa Kuten , , jne.

Jos kohtaat kysyttävää, voit kysyä kaikki kysymyksesi “Overfitting In Machine Learning” -kommenttiosassa, ja tiimimme vastaa mielellään.