Wat is Overfitting (overaanpassing)?

Een toestand waarin een model fijne details en toevallige ruis in de trainingsdata uit het hoofd leert, zodat de fout op de trainingsdata klein is, maar de fout op nieuwe gegevens (de generalisatiefout) groot. Het treedt vooral op als een complex model met veel parameters op weinig gegevens wordt getraind. Het wordt beperkt door meer gegevens, een eenvoudiger model, regularisatie, dropout, early stopping en vergelijkbare methoden.

Japanse benaming: 過学習

“Overfitting (overaanpassing)” komt voor in 3 oefenvragen uit 1 onderwerpen, bijv. Basis van machine learning.

Vakgebied: Basis van machine learning

Hoe je het herkent

Overfitting wordt herkend door de prestaties te vergelijken met een validatieset die apart van de trainingsdata is gehouden. Een leercurve, die het verlies op de trainingsdata en op de validatiedata uitzet tegen het aantal trainingsstappen, laat zien dat het trainingsverlies blijft dalen terwijl het validatieverlies vanaf een bepaald punt begint te stijgen. Een groeiende kloof van deze soort is overfitting. Blijven omgekeerd beide verliezen groot en dalen ze niet, dan is er sprake van underfitting: het model is te eenvoudig of kan de trend om een andere reden niet vatten.

Oorzaken

Als het model te veel vrijheid heeft (aantal parameters, diepte van een beslisboom enzovoort) in verhouding tot de hoeveelheid gegevens, kan het zich niet alleen aan de werkelijke trend aanpassen, maar ook aan de ruis die toevallig in die gegevens zit. Een polynoom van de 9e graad die wordt aangepast aan 10 punten met verschillende x-waarden, kan bijvoorbeeld precies door alle punten gaan, maar schommelt sterk tussen de punten en voorspelt nieuwe punten slecht. Ook steeds opnieuw hyperparameters afstemmen terwijl naar dezelfde gegevens wordt gekeken, maakt de schijnbare prestaties beter en veroorzaakt overfitting.

Hoe je het beperkt

De betrouwbaarste remedie is meer trainingsdata. Als er geen gegevens kunnen worden toegevoegd, vergroot data-augmentatie, zoals het draaien of spiegelen van beelden, de schijnbare hoeveelheid gegevens. Aan de kant van het model zijn er methoden zoals het model vereenvoudigen door parameters te verminderen, regularisatie die een straf op de grootte van de gewichten bij het verlies optelt, dropout die tijdens het trainen willekeurig neuronen uitschakelt, en early stopping die het trainen stopt zodra het validatieverlies begint te stijgen. Ook ensemble learning, dat de voorspellingen van meerdere modellen middelt, vermindert de spreiding van de voorspellingen.

Nu oefenen: vragen over Overfitting (overaanpassing)

Wat is er te zien als er overfitting optreedt?

  1. ADe fout op de trainingsdata is klein, maar de fout op de validatiedata is groot
  2. BDe fout blijft zowel op de trainingsdata als op de validatiedata groot en daalt niet
  3. CNaarmate het trainen vordert, blijven de fouten op de trainingsdata en op de validatiedata op dezelfde manier dalen
Antwoord en toelichting tonen

Antwoord: A. De fout op de trainingsdata is klein, maar de fout op de validatiedata is groot

Bij overfitting heeft het model fijne details en zelfs de ruis van de trainingsdata uit het hoofd geleerd, zodat de prestaties op nieuwe gegevens (het generalisatievermogen) dalen. Het kenmerkende teken is een kleine fout op de trainingsdata samen met een grote fout op de validatiedata. Is de fout al op de trainingsdata groot, dan is er sprake van underfitting: het model vangt de trend niet, bijvoorbeeld omdat het te eenvoudig is. Tegenmaatregelen zijn meer gegevens, een eenvoudiger model, regularisatie, dropout en early stopping, dat het trainen beëindigt zodra de validatiefout begint te stijgen.

Welke beschrijving van regularisatie en verwante methoden om overfitting te beperken is juist?

  1. AL1-regularisatie telt de som van de absolute waarden van de gewichten bij het verlies op en maakt daardoor gemakkelijk sommige gewichten precies nul
  2. BL2-regularisatie telt de som van de absolute waarden van de gewichten bij het verlies op en selecteert sterk kenmerken door onnodige gewichten op nul te zetten
  3. CDropout schakelt zowel bij het trainen als bij de inferentie telkens willekeurig neuronen uit, zodat de uitvoer enige spreiding krijgt
Antwoord en toelichting tonen

Antwoord: A. L1-regularisatie telt de som van de absolute waarden van de gewichten bij het verlies op en maakt daardoor gemakkelijk sommige gewichten precies nul

Regularisatie telt bij de verliesfunctie een strafterm op die afhangt van de grootte van de gewichten; zo worden te grote gewichten voorkomen en blijft het model eenvoudig. L1-regularisatie telt de som van de absolute waarden van de gewichten op en maakt gemakkelijk sommige gewichten precies nul, zodat ze de gebruikte kenmerken selecteert (lassoregressie). L2-regularisatie telt de som van de kwadraten van de gewichten op en maakt de gewichten over het geheel kleiner, maar die worden zelden precies nul (ridgeregressie, weight decay). Dropout schakelt alleen tijdens het trainen willekeurig neuronen uit, zodat het netwerk niet te sterk op bepaalde neuronen leunt; bij de inferentie worden alle neuronen gebruikt.

Veelgestelde vragen

Wat is het verschil tussen overfitting en underfitting?

Overfitting is het zo nauw aanpassen aan de trainingsdata dat de fout op nieuwe gegevens groot wordt, terwijl de fout op de trainingsdata klein is. Underfitting is een toestand waarin de fout zelfs op de trainingsdata groot is, omdat het model te eenvoudig is of niet genoeg is getraind. In termen van bias en variantie komt underfitting overeen met een grote bias en overfitting met een grote variantie.

Is een model dat een accuracy van 100% op de trainingsdata haalt, overfit?

Dat alleen beslist het niet. Als het model ook op validatie- en testdata goed genoeg presteert, is er geen probleem. Vermoed overfitting als er een grote kloof is tussen de prestaties op de trainingsdata en op de validatiedata.

“Overfitting (overaanpassing)” in de toelichting

Vragen met “Overfitting (overaanpassing)” (3)

  1. Wat is er te zien als er overfitting optreedt?
  2. Welke beschrijving van regularisatie en verwante methoden om overfitting te beperken is juist?
  3. Welke uitspraak is juist als de fout van een model wordt opgesplitst in bias en variantie?

Verwante termen

Regularisatie Inferentie (inference) Verwachtingswaarde Kruisvalidatie (cross-validation) Activatiefunctie Convolutioneel neuraal netwerk (CNN) Gesuperviseerd leren (supervised learning) Gradiëntafdaling (gradient descent) Hoofdcomponentenanalyse (PCA) k-means-clustering

Naar de woordenlijst