Hva er overmontering i maskinlæring og hvordan kan jeg unngå det?



Denne artikkelen dekker overmontering i maskinlæring med eksempler og noen få teknikker for å unngå, oppdage overmontering i en maskinlæringsmodell.

Å bygge en maskinlæringsmodell handler ikke bare om å mate dataene, det er mange mangler som påvirker nøyaktigheten til enhver modell. Overmontering i er en slik mangel i maskinlæring som hindrer nøyaktigheten og ytelsen til modellen. Følgende emner er dekket i denne artikkelen:

Hva er overmontering i maskinlæring?

En statistisk modell sies å være overmontert når vi mater den mye mer data enn nødvendig. For å gjøre det relatert, forestill deg å prøve å passe inn i store klær.





Når en modell passer til mer data enn den faktisk trenger, begynner den å fange støyende data og unøyaktige verdier i dataene. Som et resultat reduseres effektiviteten og nøyaktigheten til modellen. La oss se på noen få eksempler på overmontering for å forstå hvordan det faktisk skjer.



Eksempler på overmontering

Eksempel 1

Hvis vi tar et eksempel på enkelt lineær regresjon , trening av data handler om å finne ut minimumskostnaden mellom linjen for best tilpasning og datapunktene. Det går gjennom en rekke iterasjoner for å finne ut den beste passformen, og minimere kostnadene. Det er her overmontering kommer inn i bildet.



Linjen sett på bildet ovenfor kan gi et veldig effektivt resultat for et nytt datapunkt. I tilfelle overmontering, når vi kjører treningsalgoritmen på datasettet, lar vi kostnadene reduseres med hvert antall iterasjoner.

Kjører dette for lenge vil bety en redusert kostnad, men det vil også passe de støyende dataene fra datasettet. Resultatet vil se ut som i grafen nedenfor.

Dette kan se effektivt ut, men er egentlig ikke. Hovedmålet med en algoritme som lineær regresjon er å finne en dominerende trend og tilpasse datapunktene deretter. Men i dette tilfellet passer linjen til alle datapunkter, noe som er irrelevant for modellens effektivitet når det gjelder å forutsi optimale resultater for nye inngangspunkter.

La oss nå vurdere et mer beskrivende eksempel ved hjelp av en problemstilling.

Eksempel 2

Problemstilling: La oss vurdere at vi vil forutsi om en fotballspiller vil lande en spilleautomat i en tier 1 fotballklubb basert på hans / hennes nåværende prestasjon i tier 2-ligaen.

Tenk deg, vi trener og passer modellen med 10 000 slike spillere med utfall. Når vi prøver å forutsi resultatet på det opprinnelige datasettet, la oss si at vi har en nøyaktighet på 99%. Men nøyaktigheten på et annet datasett kommer rundt 50 prosent. Dette betyr at modellen ikke generaliserer godt fra våre treningsdata og usynlige data.

Slik ser overmontering ut. Det er et veldig vanlig problem innen maskinlæring og til og med datavitenskap. La oss nå forstå signalet og støyen.

Signal mot støy

I prediktiv modellering refererer signal til det sanne underliggende mønsteret som hjelper modellen til å lære seg dataene. På den annen side er støy irrelevante og tilfeldige data i datasettet. For å forstå konseptet støy og signal, la oss ta et eksempel fra virkeligheten.

La oss anta at vi ønsker å modellere alder vs leseferdighet blant voksne. Hvis vi prøver en veldig stor del av befolkningen, vil vi finne et klart forhold. Dette er signalet, mens støy forstyrrer signalet. Hvis vi gjør det samme på en lokal befolkning, vil forholdet bli gjørmete. Det ville bli påvirket av avvik og tilfeldighet, for eksempel gikk en voksen tidlig på skolen, eller noen voksne hadde ikke råd til utdannelse osv.

Når vi snakker om støy og signal når det gjelder maskinlæring, vil en god maskinlæringsalgoritme automatisk skille signaler fra støyen. Hvis algoritmen er for kompleks eller ineffektiv, kan den også lære seg støyen. Derfor overmontering av modellen. La oss også forstå underfitting i maskinlæring.

Hva er Underfitting?

For å unngå overmontering, kunne vi stoppe treningen på et tidligere tidspunkt. Men det kan også føre til at modellen ikke klarer å lære nok av treningsdata, at det kan være vanskelig å fange den dominerende trenden. Dette er kjent som underfitting. Resultatet er det samme som overmontering, ineffektivitet i å forutsi resultater.

Nå som vi har forstått hva underutstyr og overutstyr i maskinlæring egentlig er, la oss prøve å forstå hvordan vi kan oppdage overutstyr i maskinlæring.

Hvordan oppdage overmontering?

Hovedutfordringen med overmontering er å estimere nøyaktigheten til ytelsen til modellen vår med nye data. Vi vil ikke kunne estimere nøyaktigheten før vi faktisk tester den.

For å løse dette problemet kan vi dele det første datasettet i separate opplærings- og testdatasett. Med denne teknikken kan vi faktisk tilnærme hvor godt modellen vår vil prestere med de nye dataene.

La oss forstå dette med et eksempel, forestill oss at vi får 90+ prosent nøyaktighet på treningssettet og 50 prosent nøyaktighet på testsettet. Da ville det automatisk være et rødt flagg for modellen.

En annen måte å oppdage overmontering på er å starte med en forenklet modell som vil tjene som en referanse.

Hvis du prøver mer komplekse algoritmer med denne tilnærmingen, vil du kunne forstå om den ekstra kompleksiteten til og med er verdt for modellen eller ikke. Det er også kjent som Occams barberhøytest , det velger i utgangspunktet den forenklede modellen i tilfelle sammenlignbar ytelse i tilfelle to modeller. Selv om det er en god praksis å oppdage overmontering,men det er flere teknikker for å forhindre overmontering også. La oss se på hvordan vi kan forhindre overmontering i maskinlæring.

Hvordan unngå overmontering i maskinlæring?

Det er flere teknikker for å unngå overmontering i maskinlæring helt oppført nedenfor.

  1. Kryssvalidering

  2. Trening med mer data

  3. Fjerne funksjoner

  4. Tidlig stopp

  5. Regularisering

  6. Ensemblering

1. Kryssvalidering

En av de kraftigste funksjonene for å unngå / forhindre overmontering er kryssvalidering. Ideen bak dette er å bruke de første treningsdataene til å generere mini-tog-test-splits, og deretter bruke disse splittene til å stille inn modellen din.

I en standard validering av k-fold er dataene delt inn i k-undergrupper, også kjent som folder. Etter dette blir algoritmen trent iterativt på k-1-folder mens de gjenværende foldene brukes som testsett, også kjent som holdoutfold.

Kryssvalidering hjelper oss med å stille inn hyperparametrene med bare det originale treningssettet. Det holder i utgangspunktet testsettet separat som et ekte usett datasett for å velge den endelige modellen. Derfor unngår du å overmontere helt.

2. Trening med mer data

Denne teknikken fungerer kanskje ikke hver gang, som vi også har diskutert i eksemplet ovenfor, der trening med en betydelig mengde befolkning hjelper modellen. Det hjelper i utgangspunktet modellen med å identifisere signalet bedre.

Men i noen tilfeller kan de økte dataene også bety at modellen tilføres mer støy. Når vi trener modellen med mer data, må vi sørge for at dataene er rene og fri for tilfeldighet og inkonsekvenser.

3. Fjerne funksjoner

Selv om noen algoritmer har et automatisk utvalg av funksjoner. For et betydelig antall av dem som ikke har et innebygd funksjonsvalg, kan vi manuelt fjerne noen irrelevante funksjoner fra inngangsfunksjonene for å forbedre generaliseringen.

En måte å gjøre det på er å trekke en konklusjon om hvordan en funksjon passer inn i modellen. Det er ganske likt å feilsøke koden linje for linje.

I tilfelle hvis en funksjon ikke klarer å forklare relevansen i modellen, kan vi ganske enkelt identifisere disse funksjonene. Vi kan til og med bruke noen få heuristikker for funksjonsvalg for et godt utgangspunkt.

4. Tidlig stopp

Når modellen trener, kan du faktisk måle hvor godt modellen presterer basert på hver iterasjon. Vi kan gjøre dette til et punkt der gjentakelsene forbedrer modellens ytelse. Etter dette overdriver modellen treningsdataene da generaliseringen svekkes etter hver iterasjon.

Så i utgangspunktet betyr tidlig stopp å stoppe treningsprosessen før modellen passerer punktet der modellen begynner å overdrive treningsdataene. Denne teknikken brukes mest i dyp læring .

5. Regularisering

Det betyr i utgangspunktet kunstig å tvinge modellen til å være enklere ved å bruke et bredere spekter av teknikker. Det kommer helt an på hvilken type lærer vi bruker. For eksempel kan vi beskjære en , bruk et frafall på en nevrale nettverket eller legg til en straffeparameter i kostnadsfunksjonen i regresjon.

Ofte er regulering også et hyperparameter. Det betyr at det også kan innstilles gjennom kryssvalidering.

unntakshåndtering i pl kvl

6. Montering

Denne teknikken kombinerer i utgangspunktet spådommer fra forskjellige maskinlæringsmodeller. To av de vanligste metodene for ensemblering er oppført nedenfor:

  • Bagging prøver å redusere sjansen for å montere modellene

  • Økende forsøk på å forbedre den prediktive fleksibiliteten til enklere modeller

Selv om de begge er ensemblemetoder, starter tilnærmingen helt fra motsatt retning. Bagging bruker komplekse basismodeller og prøver å utjevne sine spådommer mens boosting bruker enkle basismodeller og prøver å øke dens samlede kompleksitet.

Hva er Goodness of Fit?

I statistikkmodellering refererer godhet av tilpasning til hvor nær utfall eller forutsagte verdier samsvarer med de observerte eller sanne verdiene.En modell som har lært støy i stedet for signalet, er overmontert fordi den passer til treningsdatasettet, men vil ha dårligere effektivitet med det nye datasettet.

Avveiningen mellom skjevhet og varians

Både varians og bias er former for prediksjonsfeil i . Avveiningen mellom høy varians og høy bias er et veldig viktig begrep innen statistikk og maskinlæring. Dette er et konsept som påvirker alle de overvåkede maskinlæringsalgoritmene.

Avviket mellom skjevhet og avvik har en veldig betydelig innvirkning på å bestemme kompleksiteten, underutstyret og overutstyret for enhver maskinlæringsmodell.

Partiskhet

Det er ingenting annet enn forskjellen mellom de forutsagte verdiene og de faktiske eller sanne verdiene i modellen. Det er ikke alltid lett for modellen å lære av ganske komplekse signaler.

La oss forestille oss å passe en lineær regresjon til en modell med ikke-lineære data. Uansett hvor effektivt modellen lærer observasjonene, vil den ikke modellere kurvene effektivt. Det er kjent som underfitting.

Forskjell

Det refererer til modellens følsomhet for spesifikke sett i treningsdataene. En algoritme med høy varians vil produsere en bisarr modell som er drastisk forskjellig fra treningssettet.

Tenk deg en algoritme som passer til den ubegrensede og superfleksible modellen, den vil også lære av støyen i treningssettet som forårsaker overmontering.

Bias-varians avveining

En maskinlæringsalgoritme kan ikke oppfattes som en engangsmetode for å trene modellen, i stedet er det en repeterende prosess.

Algoritmer med lav varians og høy bias er mindre komplekse, med en enkel og stiv struktur.

  • De vil trene modellene som er konsistente, men i gjennomsnitt unøyaktige.

  • Disse inkluderer lineære eller parametriske algoritmer, for eksempel regresjon, , etc.

Algoritmer med høy varians-lav bias har en tendens til å være mer komplekse, med en fleksibel struktur.

  • De vil trene modellene som er inkonsekvente, men nøyaktige i gjennomsnitt.

  • Disse inkluderer ikke-lineære eller ikke-parametriske algoritmer som , , etc.

Dette bringer oss til slutten av denne artikkelen der vi har lært overmontering i maskinlæring og om forskjellige teknikker for å unngå det. Jeg håper du er klar med alt som har blitt delt med deg i denne opplæringen.

Hvis du fant denne artikkelen om “Overfitting In Machine Learning” relevant, kan du sjekke ut et pålitelig online læringsfirma med et nettverk med mer enn 250 000 fornøyde elever spredt over hele verden.

Vi er her for å hjelpe deg med hvert trinn på reisen og komme opp med en læreplan som er designet for studenter og fagpersoner som ønsker å være en . Kurset er designet for å gi deg et forsprang i Python-programmering og trene deg for både kjerne- og avanserte Python-konsepter sammen med forskjellige som , , etc.

Hvis du kommer over noen spørsmål, er du velkommen til å stille alle spørsmålene dine i kommentarfeltet i 'Overfitting In Machine Learning', og teamet vårt svarer gjerne.