Hvad er Overfitting i maskinindlæring og hvordan man undgår det?

opbygning af en maskinindlæringsmodel handler ikke kun om at fodre dataene, der er mange mangler, der påvirker nøjagtigheden af enhver model. Overmontering i maskinindlæring er en sådan mangel i maskinindlæring, der hindrer nøjagtigheden såvel som udførelsen af modellen. Følgende emner er dækket i denne artikel:

  • hvad er Overfitting i maskinindlæring?
  • eksempler på Overfitting
  • Signal vs støj
  • hvad er Underfitting?
  • Sådan opdager du Overfitting?
  • Hvordan undgår man Overfitting i maskinindlæring
  • hvad er godhed af pasform?
  • afvejningen mellem Bias og varians

Hvad er Overmontering i maskinlæring?

en statistisk model siges at være overmonteret, når vi fodrer det meget mere data end nødvendigt. For at gøre det relatabelt, forestil dig at prøve at passe ind i overdimensioneret tøj.

overfitting i maskinlæring - edureka

Når en model passer til flere data, end den faktisk har brug for, begynder den at fange de støjende data og unøjagtige værdier i dataene. Som følge heraf falder effektiviteten og nøjagtigheden af modellen. Lad os tage et kig på et par eksempler på overfitting for at forstå, hvordan det rent faktisk sker.

eksempler på Overmontering

eksempel 1

Hvis vi tager et eksempel på simpel lineær regression, handler træning af dataene om at finde ud af minimumsomkostningerne mellem den bedste fit-linje og datapunkterne. Det gennemgår en række iterationer for at finde ud af den optimale bedste pasform og minimere omkostningerne. Det er her overfitting kommer ind i billedet.

lineær regression - overmontering i maskinindlæring - edureka

linjen set på billedet ovenfor kan give et meget effektivt resultat for et nyt datapunkt. I tilfælde af overfitting, når vi kører træningsalgoritmen på datasættet, tillader vi omkostningerne at reducere med hvert antal iterationer.

Hvis du kører denne algoritme for længe, vil det betyde en reduceret pris, men den passer også til de støjende data fra datasættet. Resultatet ville se noget ud i grafen nedenfor.

overfitting i maskinlæring - edureka

dette kan se effektivt ud, men er ikke rigtig. Hovedmålet med en algoritme som lineær regression er at finde en dominerende tendens og passe datapunkterne i overensstemmelse hermed. Men i dette tilfælde passer linjen til alle datapunkter, hvilket er irrelevant for effektiviteten af modellen til at forudsige optimale resultater for nye indtastningsdatapunkter.

lad os nu overveje et mere beskrivende eksempel ved hjælp af en problemstilling.

eksempel 2

problemstilling: Lad os overveje, at vi vil forudsige, om en fodboldspiller vil lande en slot i en tier 1 fodboldklub baseret på hans/hendes nuværende præstation i tier 2 league.

forestil dig nu, vi træner og passer modellen med 10.000 sådanne spillere med resultater. Når vi forsøger at forudsige resultatet på det oprindelige datasæt, lad os sige, at vi fik en 99% nøjagtighed. Men nøjagtigheden på et andet datasæt kommer omkring 50 procent. Dette betyder, at modellen ikke generaliserer godt ud fra vores træningsdata og usete data.

Sådan ser overfitting ud. Det er et meget almindeligt problem inden for maskinindlæring og endda datalogi. Lad os nu forstå signal og støj.

Signal vs støj

i forudsigelig modellering henviser signal til det sande underliggende mønster, der hjælper modellen med at lære dataene. På den anden side er støj irrelevant og tilfældige data i datasættet. For at forstå begrebet støj og signal, lad os tage et virkeligt eksempel.

lad os antage, at vi ønsker at modellere Alder vs læsefærdigheder blandt voksne. Hvis vi prøver en meget stor del af befolkningen, finder vi et klart forhold. Dette er signalet, mens støj forstyrrer signalet. Hvis vi gør det samme på en lokal befolkning, forholdet bliver mudret. Det ville blive påvirket af outliers og tilfældighed, for eksempel gik en voksen tidligt i skole, eller en voksen havde ikke råd til uddannelse osv.

Når vi taler om støj og signal med hensyn til maskinindlæring, adskiller en god maskinindlæringsalgoritme automatisk signaler fra støj. Hvis algoritmen er for kompleks eller ineffektiv, kan den også lære støjen. Derfor overfitting modellen. Lad os også forstå underfitting i Machine Learning så godt.

Hvad er Underfitting?

for at undgå overfitting kunne vi stoppe træningen på et tidligere tidspunkt. Men det kan også føre til, at modellen ikke er i stand til at lære nok af træningsdata, at det kan have svært ved at fange den dominerende tendens. Dette er kendt som underfitting. Resultatet er det samme som overmontering, ineffektivitet i forudsigelse af resultater.

underfitting - overfitting i maskinindlæring - edureka

nu hvor vi har forstået, hvad underfitting og overfitting i maskinindlæring virkelig er, lad os prøve at forstå, hvordan vi kan opdage overfitting i maskinindlæring.

Sådan opdages Overfitting?

den største udfordring med overfitting er at estimere nøjagtigheden af udførelsen af vores model med nye data. Vi ville ikke være i stand til at estimere nøjagtigheden, før vi faktisk tester den.

for at løse dette problem kan vi opdele det oprindelige datasæt i separate Trænings-og testdatasæt. Med denne teknik kan vi faktisk tilnærme, hvor godt vores model vil udføre med de nye data.

lad os forstå dette med et eksempel, forestil dig, at vi får en 90+ procent nøjagtighed på træningssættet og en 50 procent nøjagtighed på testsættet. Derefter ville det automatisk være et rødt flag for modellen.

en anden måde at opdage overmontering på er at starte med en forenklet model, der vil fungere som benchmark.

med denne tilgang, hvis du prøver mere komplekse algoritmer, vil du være i stand til at forstå, om den ekstra kompleksitet endda er værd for modellen eller ej. Det er også kendt som Occams barbermaskine test, det vælger dybest set den forenklede model i tilfælde af sammenlignelig ydelse i tilfælde af to modeller. Selvom det er en god praksis at opdage overmontering, men der er også flere teknikker til at forhindre overmontering. Lad os se på, hvordan vi kan forhindre overfitting i maskinindlæring.

Hvordan undgår man Overfitting i maskinindlæring?

der er flere teknikker til at undgå overfitting i maskinindlæring helt nedenfor.

  1. krydsvalidering

  2. træning med flere Data

  3. fjernelse af funktioner

  4. tidlig standsning

  5. regulering

  6. Ensembling

1. Krydsvalidering

en af de mest kraftfulde funktioner til at undgå/forhindre overfitting er krydsvalidering. Ideen bag dette er at bruge de indledende træningsdata til at generere mini-tog-test-splittelser, og brug derefter disse splittelser til at indstille din model.

i en standard K-fold Validering er dataene opdelt i k-delmængder, også kendt som folder. Efter dette trænes algoritmen iterativt på k-1-folder, mens de resterende folder bruges som testsæt, også kendt som holdout fold.

krydsvalidering-overfitting i maskinlæring - edurekakrydsvalideringen hjælper os med at indstille hyperparametrene med kun det originale træningssæt. Det holder grundlæggende testsættet separat som et ægte uset datasæt til valg af den endelige model. Derfor undgår man overmontering helt.

2. Træning med flere Data

denne teknik fungerer muligvis ikke hver gang, som vi også har diskuteret i eksemplet ovenfor, hvor træning med en betydelig befolkning hjælper modellen. Det hjælper dybest set modellen med at identificere signalet bedre.

men i nogle tilfælde kan de øgede data også betyde, at der tilføres mere støj til modellen. Når vi træner modellen med flere data, skal vi sørge for, at dataene er rene og fri for tilfældighed og uoverensstemmelser.

3. Fjernelse af funktioner

selvom nogle algoritmer har et automatisk valg af funktioner. For et betydeligt antal af dem, der ikke har et indbygget funktionsvalg, kan vi manuelt fjerne et par irrelevante funktioner fra inputfunktionerne for at forbedre generaliseringen.

en måde at gøre det på er ved at udlede en konklusion om, hvordan en funktion passer ind i modellen. Det er meget lig debugging koden line-by-line.

hvis en funktion ikke er i stand til at forklare relevansen i modellen, kan vi simpelthen identificere disse funktioner. Vi kan endda bruge et par funktionsvalg heuristik til et godt udgangspunkt.

4. Tidlig Stop

når modellen træner, kan du faktisk måle, hvor godt modellen udfører baseret på hver iteration. Vi kan gøre dette indtil et punkt, hvor iterationerne forbedrer modelens ydeevne. Herefter overgår modellen træningsdataene, da generaliseringen svækkes efter hver iteration.

tidlig stop - overmontering i maskinindlæring - edureka

så grundlæggende betyder tidlig stop at stoppe træningsprocessen, før modellen passerer det punkt, hvor modellen begynder at tilpasse træningsdataene. Denne teknik bruges mest i dyb læring.

5. Regulering

det betyder dybest set, kunstigt at tvinge din model til at være enklere ved at bruge en bredere vifte af teknikker. Det afhænger helt af den type lærer, vi bruger. For eksempel kan vi beskære et beslutningstræ, bruge et frafald på et neuralt netværk eller tilføje en strafparameter til omkostningsfunktionen i regression.

ofte er regulering også et hyperparameter. Det betyder, at det også kan indstilles gennem krydsvalidering.

6. Ensembling

denne teknik kombinerer grundlæggende forudsigelser fra forskellige maskinindlæringsmodeller. To af de mest almindelige metoder til ensembling er anført nedenfor:

  • Bagging forsøg på at reducere chancen for overfitting af modellerne

  • Boosting forsøg på at forbedre den forudsigelige fleksibilitet af enklere modeller

selvom de begge er ensemblemetoder, starter tilgangen helt fra modsatte retninger. Bagging bruger komplekse basismodeller og forsøger at udjævne deres forudsigelser, mens boosting bruger enkle basismodeller og forsøger at øge dens samlede kompleksitet.

Hvad er godhed af pasform?

i statistisk modellering refererer godheden af pasform til, hvor tæt resultaterne eller forudsagte værdier matcher de observerede eller sande værdier. En model, der har lært støj i stedet for signalet, er overmonteret, fordi den passer til træningsdatasættet, men vil have dårligere effektivitet med det nye datasæt.

afvejningen mellem Bias og varians

både varians og bias er former for forudsigelsesfejl i maskinindlæring. Afvejningen mellem høj varians og høj bias er et meget vigtigt begreb inden for statistik og maskinindlæring. Dette er et koncept, der påvirker alle de overvågede maskinlæringsalgoritmer.bias-varians-afvejningen har en meget betydelig indflydelse på at bestemme kompleksiteten, underfitting og overfitting for enhver maskinindlæringsmodel.

Bias

det er intet andet end forskellen mellem de forudsagte værdier og de faktiske eller sande værdier i modellen. Det er ikke altid let for modellen at lære af ret komplekse signaler.

lad os forestille os at tilpasse en lineær regression til en model med ikke-lineære data. Uanset hvor effektivt modellen lærer observationerne, vil den ikke modellere kurverne effektivt. Det er kendt som underfitting.

varians

det henviser til modellens følsomhed over for specifikke sæt i træningsdataene. En algoritme med høj varians vil producere en bisarr model, der er drastisk forskellig fra træningssættet.

Forestil dig en algoritme, der passer til den ubegrænsede og superfleksible model, den vil også lære af støj i træningssættet, der forårsager overfitting.

Bias-Variance Trade-off

en Maskinlæringsalgoritme kan ikke opfattes som en engangsmetode til træning af modellen, i stedet er det en gentagen proces.

lav varians-algoritmer med høj bias er mindre komplekse med en enkel og stiv struktur.

  • de vil træne de modeller, der er konsistente, men unøjagtige i gennemsnit.

  • disse omfatter lineære eller parametriske algoritmer, såsom regression, Naive Bayes osv.

algoritmer med høj varians-lav bias har tendens til at være mere komplekse med en fleksibel struktur.

  • de træner de modeller, der i gennemsnit er inkonsekvente, men nøjagtige.

  • disse inkluderer ikke-lineære eller ikke-parametriske algoritmer såsom beslutningstræer, nærmeste nabo osv.

dette bringer os til slutningen af denne artikel, hvor vi har lært Overfitting i maskinindlæring og om forskellige teknikker for at undgå det. Jeg håber, du er klar over alt, hvad der er blevet delt med dig i denne tutorial.

Hvis du fandt denne artikel om “Overfitting in Machine Learning” relevant, skal du tjekke Edureka Machine Learning Certification Training, et betroet online læringsfirma med et netværk på mere end 250.000 tilfredse elever spredt over hele kloden.

Vi er her for at hjælpe dig med hvert trin på din rejse og komme med en læseplan, der er designet til studerende og fagfolk, der ønsker at være Maskinlæringsingeniør. Kurset er designet til at give dig et forspring i Python-programmering og træne dig til både kerne-og avancerede Python-koncepter sammen med forskellige maskinlæringsalgoritmer som SVM, Decision Tree osv.

Skriv et svar

Din e-mailadresse vil ikke blive publiceret.