Hvad er overudstyr i maskinlæring og hvordan man undgår det?



Denne artikel dækker overtilpasning i maskinindlæring med eksempler og et par teknikker til at undgå, opdage overtilpasning i en maskinindlæringsmodel.

Opbygning af en maskinlæringsmodel handler ikke kun om at fodre dataene, der er mange mangler, der påvirker nøjagtigheden af ​​enhver model. Overmontering i er en sådan mangel i maskinlæring, der forhindrer nøjagtigheden såvel som ydeevnen for modellen. Følgende emner er dækket af denne artikel:

Hvad er overmontering i maskinlæring?

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





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 et resultat falder effektiviteten og nøjagtigheden af ​​modellen. Lad os se på et par eksempler på overmontering for at forstå, hvordan det rent faktisk sker.



Eksempler på overmontering

Eksempel 1

Hvis vi tager et eksempel på simpelt lineær regression , træning af data handler om at finde ud af de minimale omkostninger mellem den bedste pasformslinje og datapunkterne. Det gennemgår en række iterationer for at finde ud af den bedst mulige pasform, hvilket minimerer omkostningerne. Det er her overmontering kommer ind i billedet.



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

Kører dette for længe vil betyde en reduceret pris, men det passer også til de støjende data fra datasættet. Resultatet ser ud som i nedenstående graf.

Dette ser måske effektivt ud, men er ikke rigtig. Hovedmålet med en algoritme som f.eks lineær regression er at finde en dominerende tendens og tilpasse datapunkterne i overensstemmelse hermed. Men i dette tilfælde passer linjen til alle datapunkter, hvilket er irrelevant for modellens effektivitet med hensyn til at forudsige optimale resultater for nye indgangsdatapunkter.

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

Eksempel 2

Problemformulering: Lad os overveje, at vi vil forudsige, om en fodboldspiller vil lande en plads i en fodboldklub i niveau 1 baseret på hans / hendes nuværende præstation i niveau 2-ligaen.

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

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

Signal vs støj

I forudsigelig modellering refererer signal til det ægte underliggende mønster, der hjælper modellen med at lære dataene. På den anden side er støj irrelevante og tilfældige data i datasættet. For at forstå konceptet støj og signal, lad os tage et eksempel på det virkelige liv.

Lad os antage, at vi ønsker at modellere alder versus alfabetisering blandt voksne. Hvis vi prøver en meget stor del af befolkningen, finder vi et klart forhold. Dette er signalet, hvorimod støj forstyrrer signalet. Hvis vi gør det samme med en lokal befolkning, bliver forholdet mudret. Det ville blive påvirket af afvigelser 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øj. Derfor overmontering af modellen. Lad os også forstå underfitting i Machine Learning.

Hvad er underfitting?

For at undgå overmontering 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.

c ++ goto-etiket

Nu hvor vi har forstået, hvad underfitting og overfitting i Machine Learning virkelig er, lad os prøve at forstå, hvordan vi kan opdage overfitting i Machine Learning.

Hvordan man opdager overmontering?

Den største udfordring ved overmontering er at estimere nøjagtigheden af ​​vores models ydeevne 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 indledende datasæt i separate trænings- og testdatasæt. Med denne teknik kan vi faktisk tilnærme, hvor godt vores model fungerer med de nye data.

Lad os forstå dette med et eksempel, forestil os, at vi får en nøjagtighed på 90+ procent på træningssættet og en nøjagtighed på 50 procent 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 fungerer som et benchmark.

Hvis du prøver mere komplekse algoritmer med denne tilgang, vil du være i stand til at forstå, om den ekstra kompleksitet overhovedet er værd for modellen eller ej. Det er også kendt som Occams barbermaskintest , vælger det grundlæggende 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 overmontering i maskinlæring.

Hvordan man undgår overmontering i maskinlæring?

Der er flere teknikker for at undgå overmontering i Machine Learning helt angivet nedenfor.

  1. Krydsvalidering

  2. Træning med flere data

  3. Fjernelse af funktioner

  4. Tidlig stop

  5. Regularisering

    hvordan man bruger scannere i java
  6. Samling

1. Krydsvalidering

En af de mest kraftfulde funktioner til at undgå / forhindre overmontering er krydsvalidering. Ideen bag dette er at bruge de første træningsdata til at generere mini-tog-test-split, og derefter bruge disse split til at tune din model.

I en standardvalifikation af k-fold opdeles dataene i k-undergrupper, også kendt som folder. Herefter trænes algoritmen iterativt på k-1-folder, mens de resterende folder bruges som testsæt, også kendt som holdoutfold.

Krydsvalidering 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 alt for stort udstyr.

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 mængde befolkning hjælper modellen. Det hjælper grundlæggende modellen med at identificere signalet bedre.

Men i nogle tilfælde kan de øgede data også betyde, at modellen føjer mere støj. Når vi træner modellen med flere data, skal vi sikre os, 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 drage en konklusion om, hvordan en funktion passer ind i modellen. Det ligner ret fejlretning af koden linje for linje.

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 funktionsvalgheuristikker til et godt udgangspunkt.

4. Tidlig stop

Når modellen træner, kan du faktisk måle, hvor godt modellen fungerer ud fra hver iteration. Vi kan gøre dette indtil et punkt, hvor gentagelserne forbedrer modelens ydeevne. Derefter overmasser modellen træningsdataene, da generaliseringen svækkes efter hver iteration.

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

5. Regularisering

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

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

6. Samling

Denne teknik kombinerer grundlæggende forudsigelser fra forskellige maskinlæringsmodeller. To af de mest almindelige metoder til samling er angivet nedenfor:

  • Bagging forsøger at reducere chancen for overmontering af modellerne

  • Boosting forsøger at forbedre den forudsigelige fleksibilitet i 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 dets samlede kompleksitet.

Hvad er godhed af pasform?

I statistisk modellering refererer godhed af pasform til, hvor tæt resultaterne eller de 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 har ringere effektivitet med det nye datasæt.

Afvejningen mellem bias og variation

Både varians og bias er former for forudsigelsesfejl i . 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 algoritmer til maskinindlæring.

Bias-varians afvejningen har en meget betydelig indflydelse på bestemmelse af kompleksitet, underfitting og overfitting for enhver Machine Learning-model.

Partiskhed

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 montere en lineær regression til en model med ikke-lineære data. Uanset hvor effektivt modellen lærer observationer, modellerer den ikke kurverne effektivt. Det er kendt som underfitting.

Variation

Det refererer til modelens følsomhed over for specifikke sæt i træningsdataene. En algoritme med stor varians producerer en bizar model, der adskiller sig drastisk fra træningssættet.

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

Bias-variation afvejning

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

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

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

  • Disse inkluderer lineære eller parametriske algoritmer, såsom regression, , etc.

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 , , etc.

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

Hvis du fandt denne artikel om 'Overfitting In Machine Learning' relevant, skal du tjekke 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 en . 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 synes godt om , , etc.

ssis tutorial trin for trin

Hvis du støder på spørgsmål, er du velkommen til at stille alle dine spørgsmål i kommentarfeltet i “Overfitting In Machine Learning”, og vores team vil med glæde svare.