Vad är Overfitting i maskininlärning och hur man undviker det?

att bygga en maskininlärningsmodell handlar inte bara om att mata data, det finns många brister som påverkar noggrannheten hos vilken modell som helst. Övermontering i maskininlärning är en sådan brist i maskininlärning som hindrar noggrannheten såväl som modellens prestanda. Följande ämnen behandlas i den här artikeln:

  • Vad är överfitting i maskininlärning?
  • exempel på överfitting
  • Signal vs Brus
  • Vad är Underfitting?
  • Hur upptäcker du överfitting?
  • hur man undviker överfitting i maskininlärning
  • Vad är godhet av passform?
  • avvägningen mellan Bias och varians

Vad är överfitting i maskininlärning?

en statistisk modell sägs vara överfitted när vi matar den mycket mer data än nödvändigt. För att göra det relatabelt, Tänk dig att försöka passa in i överdimensionerade kläder.

overfitting in machine learning - edureka

När en modell passar mer data än den faktiskt behöver, börjar den fånga bullriga data och felaktiga värden i data. Som ett resultat minskar effektiviteten och noggrannheten hos modellen. Låt oss ta en titt på några exempel på överfitting för att förstå hur det faktiskt händer.

exempel på överfitting

exempel 1

om vi tar ett exempel på enkel linjär regression handlar träning av data om att ta reda på minimikostnaden mellan den bästa passningslinjen och datapunkterna. Det går igenom ett antal iterationer för att ta reda på den optimala bästa passformen, vilket minimerar kostnaden. Det är här överfitting kommer in i bilden.

linjär regression - överfitting i maskininlärning - edureka

linjen som ses i bilden ovan kan ge ett mycket effektivt resultat för en ny datapunkt. Vid överfitting, när vi kör träningsalgoritmen på datamängden, tillåter vi kostnaden att minska med varje antal iterationer.

Om du kör denna algoritm för länge kommer det att innebära en reducerad kostnad, men den kommer också att passa de bullriga data från datamängden. Resultatet skulle se ut som i diagrammet nedan.

överfitting i maskininlärning - edureka

detta kan se effektivt ut men är inte riktigt. Huvudmålet med en algoritm som linjär regression är att hitta en dominerande trend och passa datapunkterna i enlighet därmed. Men i det här fallet passar linjen alla datapunkter, vilket är irrelevant för modellens effektivitet när det gäller att förutsäga optimala resultat för nya ingångsdatapunkter.

låt oss nu överväga ett mer beskrivande exempel med hjälp av ett problemförklaring.

exempel 2

Problem uttalande: Låt oss betrakta att vi vill förutsäga om en fotbollsspelare kommer att landa en plats i en tier 1 fotbollsklubb baserat på hans/hennes nuvarande prestanda i tier 2 league.

föreställ dig nu att vi tränar och passar modellen med 10 000 sådana Spelare med resultat. När vi försöker förutsäga resultatet på den ursprungliga datamängden, låt oss säga att vi har en 99% noggrannhet. Men noggrannheten på en annan dataset kommer runt 50 procent. Det betyder att modellen inte generaliserar bra från våra träningsdata och osynliga data.

Så här ser överfitting ut. Det är ett mycket vanligt problem inom maskininlärning och till och med datavetenskap. Låt oss nu förstå signalen och bruset.

Signal vs brus

i prediktiv modellering hänvisar signal till det sanna underliggande mönstret som hjälper modellen att lära sig data. Å andra sidan är buller irrelevant och slumpmässiga data i datamängden. För att förstå begreppet brus och signal, låt oss ta ett verkligt exempel.

låt oss anta att vi vill modellera ålder vs läskunnighet bland vuxna. Om vi provar en mycket stor del av befolkningen kommer vi att hitta ett tydligt förhållande. Detta är signalen, medan brus stör signalen. Om vi gör detsamma på en lokal befolkning blir förhållandet lerigt. Det skulle påverkas av avvikelser och slumpmässighet, för t.ex.gick en vuxen i skolan tidigt eller någon vuxen hade inte råd med utbildning etc.

När man talar om brus och signal när det gäller maskininlärning kommer en bra maskininlärningsalgoritm automatiskt att separera signaler från bruset. Om algoritmen är för komplex eller ineffektiv kan den också lära sig bruset. Därför överfitting modellen. Låt oss också förstå underfitting i maskininlärning också.

Vad är Underfitting?

för att undvika överfitting kunde vi stoppa träningen i ett tidigare skede. Men det kan också leda till att modellen inte kan lära sig tillräckligt av träningsdata, så att det kan vara svårt att fånga den dominerande trenden. Detta kallas för underfitting. Resultatet är detsamma som överfitting, ineffektivitet i att förutsäga resultat.

underfitting - överfitting i maskininlärning - edureka

nu när vi har förstått vad underfitting och överfitting i maskininlärning verkligen är, låt oss försöka förstå hur vi kan upptäcka överfitting i maskininlärning.

Hur upptäcker du överfitting?

den största utmaningen med övermontering är att uppskatta noggrannheten i prestandan hos vår modell med nya data. Vi skulle inte kunna uppskatta noggrannheten förrän vi faktiskt testar den.

för att lösa detta problem kan vi dela upp den ursprungliga datamängden i separata tränings-och testdataset. Med denna teknik kan vi faktiskt approximera hur bra vår modell kommer att prestera med de nya uppgifterna.

Låt oss förstå detta med ett exempel, föreställ dig att vi får en 90+ procent noggrannhet på träningsuppsättningen och en 50 procent noggrannhet på testuppsättningen. Då skulle det automatiskt vara en röd flagga för modellen.

ett annat sätt att upptäcka överfitting är att börja med en förenklad modell som kommer att fungera som riktmärke.

med detta tillvägagångssätt, om du försöker mer komplexa algoritmer kommer du att kunna förstå om den extra komplexiteten är till och med värt för modellen eller inte. Det är också känt som Occams rakknivstest, det väljer i princip den förenklade modellen vid jämförbar prestanda vid två modeller. Även om det är en bra praxis att upptäcka överfitting, men det finns flera tekniker för att förhindra överfitting också. Låt oss ta en titt på hur vi kan förhindra överfitting i maskininlärning.

hur man undviker överfitting i maskininlärning?

det finns flera tekniker för att undvika överfitting i maskininlärning helt och hållet listade nedan.

  1. Korsvalidering

  2. träning med mer Data

  3. Ta bort funktioner

  4. tidigt stopp

  5. regularisering

  6. Ensembling

1. Korsvalidering

en av de mest kraftfulla funktionerna för att undvika/förhindra överfitting är korsvalidering. Tanken bakom detta är att använda grundutbildningsdata för att generera mini-tåg-test-splittringar, och använd sedan dessa splittringar för att ställa in din modell.

i en standard k-faldig validering delas data upp i k-delmängder, även kända som veck. Efter detta tränas algoritmen iterativt på k-1-veck medan de återstående vikarna används som testuppsättning, även känd som holdout fold.

korsvalidering-overfitting i maskininlärning-edurekakorsvalideringen hjälper oss att ställa in hyperparametrarna med endast den ursprungliga träningsuppsättningen. Det håller i princip testuppsättningen separat som en sann osedd dataset för att välja den slutliga modellen. Därför undviker överfitting helt och hållet.

2. Träning med mer Data

denna teknik kanske inte fungerar varje gång, som vi också har diskuterat i exemplet ovan, där träning med en betydande mängd befolkning hjälper modellen. Det hjälper i grunden modellen att identifiera signalen bättre.

men i vissa fall kan de ökade data också innebära att mata mer ljud till modellen. När vi tränar modellen med mer data måste vi se till att uppgifterna är rena och fria från slumpmässighet och inkonsekvenser.

3. Ta bort funktioner

även om vissa algoritmer har ett automatiskt val av funktioner. För ett betydande antal av dem som inte har ett inbyggt funktionsval kan vi manuellt ta bort några irrelevanta funktioner från inmatningsfunktionerna för att förbättra generaliseringen.

ett sätt att göra det är att dra en slutsats om hur en funktion passar in i modellen. Det är ganska likt att felsöka koden rad-för-rad.

om en funktion inte kan förklara relevansen i modellen kan vi helt enkelt identifiera dessa funktioner. Vi kan även använda några funktion val heuristik för en bra utgångspunkt.

4. Tidigt stopp

när modellen tränar kan du faktiskt mäta hur bra modellen presterar baserat på varje iteration. Vi kan göra detta tills en punkt när iterationerna förbättrar modellens prestanda. Efter detta överfittar modellen träningsdata eftersom generaliseringen försvagas efter varje iteration.

early Stop - overfitting in machine learning - edureka

så i grund och botten innebär tidig stopp att träningsprocessen stoppas innan modellen passerar den punkt där modellen börjar överpassa träningsdata. Denna teknik används mest i djupt lärande.

5. Regularisering

det betyder i grunden att artificiellt tvinga din modell att vara enklare genom att använda ett bredare spektrum av tekniker. Det beror helt på vilken typ av elev vi använder. Vi kan till exempel beskära ett beslutsträd, använda ett bortfall i ett neuralt nätverk eller lägga till en straffparameter i kostnadsfunktionen i regression.

ganska ofta är regularisering också en hyperparameter. Det betyder att det också kan ställas in genom korsvalidering.

6. Ensembling

denna teknik kombinerar i princip förutsägelser från olika maskininlärningsmodeller. Två av de vanligaste metoderna för ensembling listas nedan:

  • Bagging försök att minska chansen att överfitta modellerna

  • Öka försök att förbättra den prediktiva flexibiliteten hos enklare modeller

även om de båda är ensemblemetoder, börjar tillvägagångssättet helt från motsatta riktningar. Bagging använder komplexa basmodeller och försöker jämna ut sina förutsägelser medan boosting använder enkla basmodeller och försöker öka sin sammanlagda komplexitet.

Vad är godhet av passform?

i statistikmodellering hänvisar godheten till passform till hur nära resultaten eller förutsagda värden matchar de observerade eller sanna värdena. En modell som har lärt sig brus istället för signalen är överfitted eftersom den passar träningsdatamängden men kommer att ha sämre effektivitet med den nya datamängden.

avvägningen mellan Bias och varians

både varians och bias är former av prediktionsfel i maskininlärning. Avvägningen mellan hög varians och hög bias är ett mycket viktigt begrepp inom statistik och maskininlärning. Detta är ett koncept som påverkar alla övervakade maskininlärningsalgoritmer.

bias-variansavvägningen har en mycket betydande inverkan på att bestämma komplexiteten, undermonteringen och övermonteringen för alla maskininlärningsmodeller.

Bias

det är inget annat än skillnaden mellan de förutsagda värdena och de faktiska eller sanna värdena i modellen. Det är inte alltid lätt för modellen att lära av ganska komplexa signaler.

låt oss föreställa oss att anpassa en linjär regression till en modell med icke-linjära data. Oavsett hur effektivt modellen lär sig observationerna kommer den inte att modellera kurvorna effektivt. Det är känt som underfitting.

varians

det hänvisar till modellens känslighet för specifika uppsättningar i träningsdata. En algoritm med hög varians kommer att producera en bisarr modell som skiljer sig drastiskt från träningsuppsättningen.

Föreställ dig en algoritm som passar den obegränsade och superflexibla modellen, den kommer också att lära av bruset i träningsuppsättningen som orsakar överfitting.

Bias-Variance Trade-off

en maskininlärningsalgoritm kan inte uppfattas som en engångsmetod för att träna modellen, istället är det en repetitiv process.

låg varians-hög bias algoritmer är mindre komplexa, med en enkel och styv struktur.

  • de kommer att träna de modeller som är konsekventa, men Felaktiga i genomsnitt.

  • dessa inkluderar linjära eller parametriska algoritmer, såsom regression, naiva Bayes, etc.

algoritmer med hög varians-låg bias tenderar att vara mer komplexa, med en flexibel struktur.

  • de kommer att träna de modeller som är inkonsekventa men korrekta i genomsnitt.

  • dessa inkluderar icke-linjära eller icke-parametriska algoritmer som beslutsträd, närmaste granne etc.

detta leder oss till slutet av den här artikeln där vi har lärt oss överfitting i maskininlärning och om olika tekniker för att undvika det. Jag hoppas att du är tydlig med allt som har delats med dig i denna handledning.

om du hittade den här artikeln om ”Overfitting In Machine Learning” relevant, kolla in Edureka Machine Learning Certification Training, ett pålitligt online-lärande företag med ett nätverk av mer än 250,000 nöjda elever spridda över hela världen.

Vi är här för att hjälpa dig med varje steg på din resa och komma med en läroplan som är utformad för studenter och yrkesverksamma som vill vara Maskininlärningsingenjör. Kursen är utformad för att ge dig ett försprång i Python-programmering och träna dig för både kärn-och avancerade Python-koncept tillsammans med olika maskininlärningsalgoritmer som SVM, Decision Tree, etc.

Lämna ett svar

Din e-postadress kommer inte publiceras.