Machine learning is een tak van kunstmatige intelligentie, waarmee machines data-analyses kunnen uitvoeren en voorspellingen kunnen doen. Als het machine learning-model echter niet nauwkeurig is, kan het voorspellingsfouten maken, en deze voorspellingsfouten staan meestal bekend als Bias en Variance. Bij machinaal leren zullen deze fouten altijd aanwezig zijn, omdat er altijd een klein verschil is tussen de modelvoorspellingen en de werkelijke voorspellingen. Het belangrijkste doel van ML/data science-analisten is om deze fouten te verminderen om nauwkeurigere resultaten te krijgen. In dit onderwerp gaan we bias en variantie, de afweging tussen bias en variantie, onderfitting en overfitting bespreken. Maar laten we, voordat we beginnen, eerst begrijpen wat fouten in machine learning zijn?
Fouten in machinaal leren?
Bij machinaal leren is een fout een maatstaf voor hoe nauwkeurig een algoritme voorspellingen kan doen voor de voorheen onbekende dataset. Op basis van deze fouten wordt het machine learning-model geselecteerd dat het beste kan presteren op de betreffende dataset. Er zijn hoofdzakelijk twee soorten fouten bij machinaal leren, namelijk:
ongeacht welk algoritme is gebruikt. De oorzaak van deze fouten zijn onbekende variabelen waarvan de waarde niet kan worden verminderd.
Wat is vooringenomenheid?
Over het algemeen analyseert een machine learning-model de gegevens, vindt er patronen in en doet voorspellingen. Tijdens de training leert het model deze patronen in de dataset kennen en past deze toe om gegevens te testen voor voorspellingen. Bij het maken van voorspellingen treedt er een verschil op tussen de door het model gemaakte voorspellingswaarden en de werkelijke waarden/verwachte waarden , en dit verschil staat bekend als bias-fouten of fouten als gevolg van bias . Het kan worden gedefinieerd als het onvermogen van machine learning-algoritmen zoals lineaire regressie om de ware relatie tussen de datapunten vast te leggen. Elk algoritme begint met een zekere mate van vertekening, omdat vertekening voortkomt uit aannames in het model, waardoor de doelfunctie eenvoudig te leren is. Een model heeft:
hoe je een array in Java maakt
Over het algemeen heeft een lineair algoritme een hoge bias, omdat het ervoor zorgt dat ze snel leren. Hoe eenvoudiger het algoritme, hoe groter de kans dat er een bias ontstaat. Terwijl een niet-lineair algoritme vaak een lage bias heeft.
Enkele voorbeelden van machine learning-algoritmen met lage bias zijn beslissingsbomen, k-dichtstbijzijnde buren en ondersteunende vectormachines . Tegelijkertijd is een algoritme met een hoge bias dat wel Lineaire regressie, lineaire discriminantanalyse en logistieke regressie.
Manieren om hoge bias te verminderen:
Hoge bias ontstaat vooral door een veel simpeler model. Hieronder volgen enkele manieren om de hoge bias te verminderen:
- Verhoog de invoerfuncties naarmate het model onvoldoende is uitgerust.
- Verkort de regularisatietermijn.
- Gebruik complexere modellen, zoals het opnemen van enkele polynomiale kenmerken.
Wat is een variantiefout?
De variantie zou de hoeveelheid variatie in de voorspelling specificeren als de verschillende trainingsgegevens zouden worden gebruikt. In eenvoudige woorden, variantie geeft aan hoeveel een willekeurige variabele verschilt van de verwachte waarde. Idealiter zou een model niet te veel moeten variëren van de ene trainingsdataset tot de andere, wat betekent dat het algoritme goed moet zijn in het begrijpen van de verborgen mapping tussen input- en outputvariabelen. Variantiefouten zijn een van beide lage variantie of hoge variantie.
SQL-volgorde willekeurig
Lage variantie betekent dat er een kleine variatie is in de voorspelling van de doelfunctie met veranderingen in de trainingsgegevensset. Tegelijkertijd, Hoge variantie toont een grote variatie in de voorspelling van de doelfunctie met veranderingen in de trainingsdataset.
Een model dat een hoge variantie vertoont, leert veel en presteert goed met de trainingsdataset, en generaliseert niet goed met de onzichtbare dataset. Als gevolg hiervan levert een dergelijk model goede resultaten op met de trainingsdataset, maar vertoont het hoge foutenpercentages op de testdataset.
Omdat het model bij hoge variantie te veel leert van de dataset, leidt dit tot overfitting van het model. Een model met een hoge variantie heeft de volgende problemen:
- Een model met hoge variantie leidt tot overfitting.
- Vergroot de complexiteit van modellen.
Gewoonlijk hebben niet-lineaire algoritmen veel flexibiliteit om in het model te passen en hebben ze een hoge variantie.
Enkele voorbeelden van machine learning-algoritmen met een lage variantie zijn: Lineaire regressie, logistieke regressie en lineaire discriminantanalyse . Tegelijkertijd zijn algoritmen met een hoge variantie dat wel beslissingsboom, Support Vector Machine en K-dichtstbijzijnde buren.
10ml in oz
Manieren om hoge variantie te verminderen:
- Verminder de invoerfuncties of het aantal parameters als een model overmatig wordt aangepast.
- Gebruik geen al te ingewikkeld model.
- Vergroot de trainingsgegevens.
- Verhoog de regularisatietermijn.
Verschillende combinaties van bias-variantie
Er zijn vier mogelijke combinaties van bias en varianties, die worden weergegeven in het onderstaande diagram:
De combinatie van lage bias en lage variantie toont een ideaal machine learning-model. Praktisch is het echter niet mogelijk.
Met een hoge bias en hoge variantie zijn voorspellingen inconsistent en gemiddeld ook onnauwkeurig.
Hoe identificeer ik hoge variantie of hoge bias?
Een hoge variantie kan worden geïdentificeerd als het model:
- Lage trainingsfout en hoge testfout.
Hoge bias kan worden geïdentificeerd als het model:
- Hoge trainingsfout en de testfout zijn bijna gelijk aan een trainingsfout.
Afweging van bias en variantie
Bij het bouwen van het machine learning-model is het erg belangrijk om rekening te houden met bias en variantie om overfitting en underfitting in het model te voorkomen. Als het model heel eenvoudig is met minder parameters, kan het een lage variantie en een hoge bias hebben. Terwijl het model, als het een groot aantal parameters heeft, een hoge variantie en een lage bias zal hebben. Het is dus nodig om een evenwicht te vinden tussen vertekenings- en variantiefouten, en dit evenwicht tussen de vertekeningsfout en variantiefout staat bekend als de afruil tussen bias en variantie.
Voor een nauwkeurige voorspelling van het model hebben algoritmen een lage variantie en lage bias nodig. Maar dit is niet mogelijk omdat bias en variantie met elkaar verband houden:
- Als we de variantie verkleinen, zal de bias toenemen.
- Als we de bias verkleinen, zal de variantie toenemen.
De afweging tussen bias en variantie is een centraal thema bij begeleid leren. Idealiter hebben we een model nodig dat nauwkeurig de regelmatigheden in trainingsgegevens vastlegt en tegelijkertijd goed generaliseert met de onzichtbare dataset. Helaas is het niet mogelijk om dit tegelijkertijd te doen. Omdat een algoritme met hoge variantie goed kan presteren met trainingsgegevens, maar kan leiden tot overfitting op gegevens met veel ruis. Terwijl het algoritme met hoge bias een veel eenvoudig model genereert dat mogelijk niet eens belangrijke regelmatigheden in de gegevens vastlegt. We moeten dus een goede plek vinden tussen bias en variantie om een optimaal model te maken.
Vandaar de Bij de afweging tussen bias en variantie gaat het erom de goede plek te vinden om een balans te vinden tussen bias en variantiefouten.