logo

Bias och varians i maskininlärning

Maskininlärning är en gren av artificiell intelligens, som gör att maskiner kan utföra dataanalys och göra förutsägelser. Men om maskininlärningsmodellen inte är korrekt kan den göra prediktionsfel, och dessa prediktionsfel brukar kallas Bias och Variance. I maskininlärning kommer dessa fel alltid att finnas eftersom det alltid finns en liten skillnad mellan modellförutsägelserna och faktiska förutsägelser. Huvudsyftet med ML/data science-analytiker är att minska dessa fel för att få mer exakta resultat. I det här ämnet kommer vi att diskutera bias och varians, Bias-varians trade-off, Underfitting och Overfitting. Men innan vi börjar, låt oss först förstå vad fel i maskininlärning är?

Bias och varians i maskininlärning

Fel i maskininlärning?

I maskininlärning är ett fel ett mått på hur exakt en algoritm kan göra förutsägelser för den tidigare okända datamängden. På basis av dessa fel väljs den maskininlärningsmodell som kan prestera bäst på den specifika datamängden. Det finns huvudsakligen två typer av fel i maskininlärning, som är:

    Reducerbara fel:Dessa fel kan reduceras för att förbättra modellens noggrannhet. Sådana fel kan vidare klassificeras i bias och varians.
    Bias och varians i maskininlärning Oreducerbara fel:Dessa fel kommer alltid att finnas i modellen

oavsett vilken algoritm som har använts. Orsaken till dessa fel är okända variabler vars värde inte kan reduceras.

Vad är Bias?

I allmänhet analyserar en maskininlärningsmodell data, hittar mönster i den och gör förutsägelser. Under träningen lär sig modellen dessa mönster i datamängden och tillämpar dem för att testa data för förutsägelse. När man gör förutsägelser uppstår en skillnad mellan förutsägelsevärden gjorda av modellen och faktiska värden/förväntade värden , och denna skillnad är känd som bias errors eller Errors due to bias . Det kan definieras som en oförmåga hos maskininlärningsalgoritmer som linjär regression att fånga det verkliga förhållandet mellan datapunkterna. Varje algoritm börjar med en viss mängd bias eftersom bias uppstår från antaganden i modellen, vilket gör målfunktionen enkel att lära sig. En modell har antingen:

alfabetet efter nummer
    Låg bias:En modell med låg bias kommer att göra färre antaganden om målfunktionens form.Hög bias:En modell med hög bias gör fler antaganden, och modellen blir oförmögen att fånga de viktiga funktionerna i vår datauppsättning. En modell med hög bias kan inte heller prestera bra på ny data.

I allmänhet har en linjär algoritm en hög bias, eftersom den får dem att lära sig snabbt. Ju enklare algoritmen är, desto högre bias kommer sannolikt att införas. Medan en icke-linjär algoritm ofta har låg bias.

Några exempel på maskininlärningsalgoritmer med låg bias är beslutsträd, k-närmaste grannar och stödvektormaskiner . Samtidigt är en algoritm med hög bias Linjär regression, linjär diskriminerande analys och logistisk regression.

Sätt att minska hög bias:

Hög bias uppstår främst på grund av en mycket enkel modell. Nedan finns några sätt att minska den höga biasen:

  • Öka ingångsfunktionerna eftersom modellen är undermonterad.
  • Minska regleringsperioden.
  • Använd mer komplexa modeller, som att inkludera vissa polynomegenskaper.

Vad är ett variansfel?

Variansen skulle specificera mängden variation i förutsägelsen om olika träningsdata användes. Med enkla ord, varians säger att hur mycket en slumpvariabel skiljer sig från dess förväntade värde. Helst bör en modell inte variera för mycket från en träningsdatauppsättning till en annan, vilket innebär att algoritmen bör vara bra på att förstå den dolda mappningen mellan indata och utdatavariabler. Variansfel är antingen av låg varians eller hög varians.

Låg varians betyder att det finns en liten variation i förutsägelsen av målfunktionen med ändringar i träningsdatauppsättningen. På samma gång, Hög varians visar en stor variation i förutsägelsen av målfunktionen med förändringar i träningsdatauppsättningen.

En modell som visar hög varians lär sig mycket och presterar bra med träningsdatauppsättningen och generaliserar inte bra med den osedda datauppsättningen. Som ett resultat ger en sådan modell goda resultat med träningsdataset men visar höga felfrekvenser på testdataset.

Eftersom modellen med hög varians lär sig för mycket av datamängden leder det till överanpassning av modellen. En modell med hög varians har följande problem:

  • En modell med hög varians leder till övermontering.
  • Öka modellens komplexitet.

Vanligtvis har olinjära algoritmer mycket flexibilitet för att passa modellen, har hög varians.

sql server pivot
Bias och varians i maskininlärning

Några exempel på maskininlärningsalgoritmer med låg varians är, Linjär regression, logistisk regression och linjär diskriminantanalys . Samtidigt är algoritmer med hög varians beslutsträd, Support Vector Machine och K-närmaste grannar.

Sätt att minska hög varians:

  • Minska inmatningsfunktionerna eller antalet parametrar eftersom en modell är övermonterad.
  • Använd inte en mycket komplex modell.
  • Öka träningsdata.
  • Öka regleringsperioden.

Olika kombinationer av bias-varians

Det finns fyra möjliga kombinationer av bias och varianser, som representeras av diagrammet nedan:

Bias och varians i maskininlärning
    Låg-bias, låg-varians:
    Kombinationen av låg bias och låg varians visar en idealisk maskininlärningsmodell. Det är dock inte praktiskt möjligt.Låg bias, hög varians:Med låg bias och hög varians är modellförutsägelser inkonsekventa och korrekta i genomsnitt. Det här fallet uppstår när modellen lär sig med ett stort antal parametrar och därmed leder till en överanpassning Hög-bias, låg-varians:Med hög bias och låg varians är förutsägelser konsekventa men felaktiga i genomsnitt. Det här fallet uppstår när en modell inte lär sig bra med träningsdatauppsättningen eller använder få siffror av parametern. Det leder till undermontering problem i modellen.Hög bias, hög varians:
    Med hög bias och hög varians är förutsägelser inkonsekventa och även i genomsnitt felaktiga.

Hur identifierar man hög varians eller hög bias?

Hög varians kan identifieras om modellen har:

java-instans av
Bias och varians i maskininlärning
  • Lågt träningsfel och högt testfel.

High Bias kan identifieras om modellen har:

  • Högt träningsfel och testfelet liknar nästan träningsfel.

Bias-Varians Trade-Off

När du bygger maskininlärningsmodellen är det verkligen viktigt att ta hand om bias och varians för att undvika över- och underanpassning i modellen. Om modellen är väldigt enkel med färre parametrar kan den ha låg varians och hög bias. Om modellen har ett stort antal parametrar kommer den att ha hög varians och låg bias. Så det krävs att göra en balans mellan bias- och variansfel, och denna balans mellan bias- och variansfelet är känd som avvägningen Bias-Variance.

Bias och varians i maskininlärning

För en korrekt förutsägelse av modellen behöver algoritmer en låg varians och låg bias. Men detta är inte möjligt eftersom bias och varians är relaterade till varandra:

  • Om vi ​​minskar variansen kommer det att öka biasen.
  • Om vi ​​minskar biasen kommer det att öka variansen.

Avvägning mellan bias-varians är en central fråga i handledat lärande. Helst behöver vi en modell som exakt fångar regelbundenheterna i träningsdata och som samtidigt generaliserar väl med den osynliga datamängden. Tyvärr är det inte möjligt att göra detta samtidigt. Eftersom en algoritm med hög varians kan fungera bra med träningsdata, men det kan leda till överanpassning till bullriga data. Medan hög bias-algoritm genererar en mycket enkel modell som kanske inte ens fångar viktiga regelbundenheter i data. Så vi måste hitta en sweet spot mellan bias och varians för att göra en optimal modell.

Därav Avvägning mellan bias och varians handlar om att hitta rätt ställe för att skapa en balans mellan bias och variansfel.