Was ist Überanpassung (Overfitting)?
Ein Zustand, in dem sich ein Modell feine Details und zufälliges Rauschen der Trainingsdaten eingeprägt hat, sodass sein Fehler auf den Trainingsdaten klein, sein Fehler bei neuen Daten (der Generalisierungsfehler) aber groß ist. Sie tritt leicht auf, wenn ein komplexes Modell mit vielen Parametern mit wenigen Daten trainiert wird. Verringert wird sie durch mehr Daten, ein einfacheres Modell, Regularisierung, Dropout, Early Stopping und ähnliche Verfahren.
Japanische Bezeichnung: 過学習
„Überanpassung (Overfitting)“ kommt in 3 Übungsfragen aus 1 Themen vor, z. B. Grundlagen des maschinellen Lernens.
Fachgebiet: Grundlagen des maschinellen Lernens
Woran man sie erkennt
Überanpassung erkennt man, indem man mit der Leistung auf Validierungsdaten vergleicht, die getrennt von den Trainingsdaten zurückgehalten wurden. Eine Lernkurve, die die Verluste auf Trainings- und Validierungsdaten über die Zahl der Trainingsschritte aufträgt, zeigt, dass der Trainingsverlust weiter sinkt, während der Validierungsverlust ab einem bestimmten Punkt zu steigen beginnt. Eine so wachsende Lücke ist Überanpassung. Bleiben dagegen beide Verluste groß und sinken nicht, liegt Unteranpassung (Underfitting) vor: Das Modell ist zu einfach oder kann den Trend aus anderen Gründen nicht erfassen.
Ursachen
Hat das Modell im Verhältnis zur Datenmenge zu viele Freiheitsgrade (Zahl der Parameter, Tiefe eines Entscheidungsbaums usw.), kann es sich nicht nur an den eigentlichen Trend, sondern auch an das zufällig in diesen Daten enthaltene Rauschen anpassen. Ein Polynom 9. Grades, angepasst an 10 Punkte mit verschiedenen x-Werten, kann zum Beispiel genau durch jeden Punkt verlaufen, schwingt aber zwischen den Punkten stark und sagt neue Punkte schlecht vorher. Auch wiederholtes Abstimmen der Hyperparameter anhand derselben Daten verbessert die scheinbare Leistung und verursacht Überanpassung.
Wie man sie verringert
Das zuverlässigste Mittel sind mehr Trainingsdaten. Lassen sich keine Daten hinzufügen, erhöht Datenaugmentierung, etwa das Drehen oder Spiegeln von Bildern, die scheinbare Datenmenge. Auf der Modellseite gibt es Verfahren wie das Vereinfachen des Modells durch weniger Parameter, Regularisierung, die dem Verlust einen Strafterm für die Größe der Gewichte hinzufügt, Dropout, das während des Trainings zufällig Neuronen deaktiviert, und Early Stopping, das das Training beendet, sobald der Validierungsverlust zu steigen beginnt. Auch Ensemble-Lernen, das die Vorhersagen mehrerer Modelle mittelt, verringert die Streuung der Vorhersagen.
Häufige Fragen
Worin unterscheiden sich Überanpassung und Unteranpassung?
Überanpassung ist eine so enge Anpassung an die Trainingsdaten, dass der Fehler bei neuen Daten groß wird, während der Fehler auf den Trainingsdaten klein ist. Unteranpassung ist ein Zustand, in dem der Fehler schon auf den Trainingsdaten groß ist, weil das Modell zu einfach ist oder nicht genug trainiert wurde. In Begriffen von Bias und Varianz entspricht Unteranpassung einem großen Bias und Überanpassung einer großen Varianz.
Liegt Überanpassung vor, wenn die Accuracy auf den Trainingsdaten 100 % beträgt?
Das allein entscheidet es nicht. Erreicht das Modell auch auf Validierungs- und Testdaten eine ausreichende Leistung, gibt es kein Problem. Überanpassung ist zu vermuten, wenn die Leistung auf Trainings- und Validierungsdaten stark auseinanderliegt.