Overfitting
Overfitting treedt op wanneer een algoritme binnen Machine Learning de trainingsdataset te goed leert begrijpen. In plaats van de onderliggende patronen en trends te destilleren, memoriseert het model ieder afzonderlijk datapunt, inclusief toevallige uitschieters en achtergrondruis. Het gevolg is een model dat tijdens de testfase vlekkeloos lijkt te presteren met torenhoge scores, maar volkomen de plank misslaat zodra het in een live productieomgeving wordt geconfronteerd met nieuwe, reële invoergegevens.
De wankele balans tussen te eenvoudig en te complex
Om te begrijpen hoe overfitting ontstaat, is het contrast met underfitting essentieel. Bij underfitting is een model te simpel van opzet, waardoor het zelfs de meest basale trends in de data niet oppikt. Overfitting bevindt zich aan het andere uiterste: het model heeft te veel parameters of krijgt te veel vrijheid, waardoor het complexe wiskundige bochten wringt om ieder individueel punt in de trainingsset perfect te raken.
Het model verliest hierdoor zijn zogeheten generalisatievermogen. Het kent het ‘lesboek’ letterlijk uit het hoofd, maar faalt direct zodra het een vraagstuk voorgelegd krijgt dat net iets anders is geformuleerd.
Typische oorzaken binnen complexe datasets
Er zijn verschillende factoren die het risico op overfitting aanzienlijk vergroten. Een te kleine of eenzijdige trainingsdataset is een van de bekendste boosdoeners; het model heeft simpelweg te weinig voorbeelden om een betrouwbaar algemeen patroon te herkennen. Daarnaast speelt overmatige complexiteit van de AI-architectuur een grote rol, bijvoorbeeld wanneer een diep neuraal netwerk honderden variabelen analyseert voor een relatief eenvoudig voorspellingsprobleem. Tot slot zorgt het te lang doortrainen van een model ervoor dat het algoritme op den duur ruis gaat interpreteren als waardevolle informatie.
Beproefde technieken om overfitting te bestrijden
Het voorkomen van overfitting draait in de kern om het afdwingen van eenvoud: een algoritme moet gestimuleerd worden om de grote lijn vast te houden in plaats van te verdwalen in details. Om te zorgen dat een model niet louter data reproduceert maar werkelijk leert generaliseren, combineren data scientists wiskundige ingrepen met slimme trainingsstrategieën. De meest effectieve technieken om die balans te bewaken zijn:
- Kruisvalidatie (Cross-validation): De data wordt opgeknipt in wisselende trainings- en testsets, zodat continu gecontroleerd wordt of het algoritme presteert op data die het nog niet eerder heeft gezien.
- Regularisatie (zoals L1 en L2): Het toevoegen van een wiskundige straf op te complexe modellen, waardoor overtollige parameters worden afgeremd of geëlimineerd.
- Dropout in neurale netwerken: Tijdens het trainen worden willekeurige verbindingen tussen knooppunten tijdelijk uitgeschakeld, wat voorkomt dat het netwerk afhankelijk raakt van specifieke routes.
- Data augmentatie en opschonen: Het kunstmatig uitbreiden of variëren van de beschikbare trainingsvoorbeelden en het verwijderen van foutieve datapunten.
- Vroegtijdig stoppen (Early stopping): Het trainingsproces automatisch onderbreken zodra de foutmarge op de validatiedataset begint toe te nemen, zelfs als de prestaties op de trainingsdata nog blijven stijgen.
Veelgestelde vragen
Je herkent overfitting door de trainingsfout te vergelijken met de validatiefout. Als het model op de trainingsdata een nauwkeurigheid van bijna 100% haalt, maar op de onafhankelijke validatiedata aanzienlijk slechter scoort, is er vrijwel zeker sprake van overfitting.
Dit is de klassieke afweging in Machine Learning. Een hoge bias leidt tot underfitting (het model is te eenvoudig en mist patronen), terwijl een hoge variance leidt tot overfitting (het model reageert te gevoelig op toevallige fluctuaties in de trainingsdata). Het doel is het vinden van de optimale balans hiertussen.
In de meeste gevallen wel. Hoe groter en gevarieerder de trainingsdataset is, hoe kleiner de kans dat het model toevallige ruis als een betekenisvol patroon beschouwt. De data moet echter wel van hoge kwaliteit en representatief zijn.
Bij overfitting leert het model de toevallige ruis in de trainingsdata. Bij data leakage lekt er per ongeluk informatie uit de testdataset (of uit de toekomst) in de trainingsset, waardoor het model tijdens het testen onrealistisch hoog scoort omdat het de antwoorden feitelijk al kende.