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?
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:
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
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
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:
Kombinationen av låg bias och låg varians visar en idealisk maskininlärningsmodell. Det är dock inte praktiskt möjligt.
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
- 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.
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.