Überanpassung im Machine Learning erkennen
Überanpassung (Overfitting) liegt vor, wenn ein Machine-Learning-Modell die Trainingsdaten sehr gut beherrscht, aber bei neuen Daten deutlich schlechter abschneidet. Es hat dann häufig zufällige Besonderheiten oder Rauschen gelernt, statt eine übertragbare Regel zu finden.
Auf dieser Seite lernst du, Überanpassung zu diagnostizieren, von Unteranpassung abzugrenzen und passende Gegenmaßnahmen auszuwählen.
Hake ab, was du schon kannst — und komm am Ende hierher zurück!
Woran erkennst du Überanpassung?
Stell dir ein Bilderkennungsmodell vor, das Tierarten bestimmen soll. Auf den Trainingsbildern stehen Pferde fast immer auf Wiesen und Kühe vor Ställen. Lernt das Modell hauptsächlich die Hintergründe, kann es die Trainingsbilder richtig zuordnen. Ein Pferd am Strand erkennt es jedoch möglicherweise nicht.
Überanpassung
Ein Modell ist überangepasst, wenn es sehr spezifische Muster der Trainingsdaten gelernt hat und deshalb schlecht auf unbekannte Daten generalisiert. Generalisieren bedeutet, eine gelernte Regel erfolgreich auf neue Fälle zu übertragen.
Ein geringer Trainingsfehler reicht daher nicht als Qualitätsnachweis. Du musst ihn mit der Leistung auf Daten vergleichen, die beim Training nicht verwendet wurden.
| Anpassungszustand | Leistung auf Trainingsdaten | Leistung auf unbekannten Daten |
|---|---|---|
| Überanpassung | gut | deutlich schlechter |
| gute Anpassung | gut | ebenfalls gut |
| Unteranpassung | bereits schlecht | ebenfalls schlecht |
Unteranpassung
Bei Unteranpassung (Underfitting) lernt das Modell die wichtigen Zusammenhänge nicht ausreichend. Ursachen können ein zu einfaches Modell, ungeeignete Merkmale oder ein zu kurzes Training sein.
Gute Trainingswerte beantworten nur die Frage: „Wie gut passt das Modell zu diesen Trainingsdaten?“ Für die Generalisierung brauchst du unbekannte Daten.
Wie prüfst du die Generalisierung?
Für eine belastbare Prüfung werden Daten nach ihrer Aufgabe getrennt:
- Mit den Trainingsdaten lernt das Modell seine Parameter.
- Mit den Validierungsdaten vergleichst du Modelle und stimmst Einstellungen wie die Modellkomplexität ab.
- Mit den Testdaten prüfst du das fertig ausgewählte Modell abschließend an zurückgehaltenen Beispielen.
Würdest du dasselbe Testset immer wieder zur Modellauswahl verwenden, könnten deine Entscheidungen sich schrittweise auch an dieses Set anpassen. Es wäre dann keine unabhängige Abschlussprüfung mehr.
Verlustkurven richtig lesen
Der Verlust ist ein Maß für den Vorhersagefehler. Bei einer typischen Überanpassung entwickeln sich die Kurven so:
- Trainings- und Validierungsverlust sinken zunächst gemeinsam.
- Der Trainingsverlust sinkt später weiter oder bleibt sehr niedrig.
- Der Validierungsverlust steigt wieder.
- Die Kurven laufen auseinander.
Nach mehreren Trainingsschritten sinkt der Fehler auf den Trainingsdaten weiter. Gleichzeitig steigt der Fehler auf den Validierungsdaten. Der zusätzliche Trainingsaufwand verbessert also nur noch die Anpassung an bekannte Beispiele. Für neue Beispiele wird das Modell schlechter. Das ist ein starkes Überanpassungszeichen.
Eine kleine Abweichung zwischen Trainings- und Validierungsleistung beweist dagegen noch keine Überanpassung. Entscheidend sind die Größe der Lücke, die Anforderungen der Aufgabe und die Leistung, die im Anwendungskontext benötigt wird.
Warum reichen eine einzige Aufteilung und gute Testwerte nicht?
Eine einzelne zufällige Datenaufteilung kann zufällig besonders günstig oder ungünstig sein. Die k-fache Kreuzvalidierung prüft das Modell deshalb mehrfach:
- Der Datensatz wird in ungefähr gleich große Teilmengen, die sogenannten Folds, geteilt.
- Ein Fold bleibt jeweils zur Bewertung zurück.
- Die übrigen Folds werden zum Training verwendet.
- Der Vorgang wird wiederholt, bis jeder Fold einmal zurückgehalten wurde.
- Die Ergebnisse werden gemeinsam beurteilt.
So hängt die Bewertung weniger stark von einer einzigen Aufteilung ab. Kreuzvalidierung verringert das Risiko einer irreführenden Bewertung, beseitigt es aber nicht. Außerdem benötigt sie mehr Trainingszeit, weil mehrere Modelle trainiert werden.
Die Daten müssen zur späteren Anwendung passen
Gute Generalisierung wird wahrscheinlicher, wenn:
- die Beispiele einander nicht beeinflussen,
- sich die zugrunde liegenden Bedingungen im Zeitverlauf nicht wesentlich verändern,
- Trainings-, Validierungs-, Test- und spätere Realdaten statistisch ähnlich verteilt sind.
Ein Streamingdienst trainiert ein Modell mit vielen Daten aus den vergangenen zehn Jahren. Trotzdem können sich Sehgewohnheiten verändern. Die große Datenmenge löst dieses Problem nicht automatisch, weil ältere Daten die zukünftige Situation möglicherweise nicht mehr gut repräsentieren.
Vor einer zufälligen Aufteilung kann gründliches Mischen helfen, ähnliche Partitionen zu erhalten. Bei zeitabhängigen Aufgaben darfst du jedoch nicht unkritisch mischen: Die gewählte Aufteilung muss die spätere Vorhersagesituation realistisch nachbilden.
Welche Maßnahmen helfen gegen Überanpassung?
Die passende Maßnahme hängt von der vermuteten Ursache ab. Keine einzelne Technik löst jedes Überanpassungsproblem.
| Vermutete Ursache | Mögliche Maßnahme | Wichtige Grenze |
|---|---|---|
| Modell ist unnötig komplex | Komplexität oder Zahl der Merkmale verringern | Zu starke Vereinfachung kann Unteranpassung erzeugen. |
| Training läuft zu lange | anhand der Validierungsleistung früh stoppen | Zu frühes Stoppen kann wichtige Muster unvollständig lassen. |
| Zu wenige oder einseitige Daten | mehr geeignete und vielfältige Daten verwenden | Mehr ungeeignete Daten helfen nicht zuverlässig. |
| Modell reagiert stark auf einzelne Details | Regularisierung einsetzen | Zu starke Regularisierung kann relevante Beziehungen unterdrücken. |
| Eine einzelne Aufteilung ist zufällig günstig | Kreuzvalidierung verwenden | Sie erhöht Trainingszeit und Rechenaufwand. |
Regularisierung
Regularisierung ergänzt das Lernziel des Modells um einen Malus für übermäßige Komplexität. L1-Regularisierung, auch Lasso genannt, und L2-Regularisierung, auch Ridge genannt, begrenzen den Einfluss großer Koeffizienten auf unterschiedliche Weise. Elastic Net verbindet beide Ansätze.
Bei Bilddaten kann Datenaugmentierung zusätzliche Varianten erzeugen, etwa durch sinnvolles Skalieren oder veränderte Ausrichtung vorhandener Bilder. Die Varianten müssen zur Aufgabe passen. Eine Transformation, die die Bedeutung des Bildes verändert, wäre kein geeignetes Trainingsbeispiel.
Auch das Entfernen irrelevanter oder redundanter Merkmale kann helfen. Bleibt die Leistung trotz weniger Merkmale ähnlich, kann das schlankere Modell weniger Gelegenheit zum Auswendiglernen zufälliger Details haben.
Ein Modell erkennt handschriftliche Ziffern bestimmter Personen sehr gut, versagt aber bei anderen Handschriften. Geeignete zusätzliche Handschriften erweitern die Vielfalt der Trainingsdaten. Nur länger mit denselben Schriften zu trainieren würde die Ursache dagegen nicht beheben und könnte die Spezialisierung verstärken.
Gegenmaßnahmen brauchen eine Gegenprüfung: Verbessert sich die Validierungsleistung, ohne dass das Modell bereits auf den Trainingsdaten scheitert?
Welche versteckten Probleme können gute Werte vortäuschen?
Eine kleine Lücke zwischen Trainings- und Testleistung beweist noch nicht, dass das Modell in der Realität zuverlässig arbeitet.
Target Leakage: Informationen aus der Zukunft
Target Leakage entsteht, wenn ein Merkmal beim Training Informationen enthält, die zum tatsächlichen Vorhersagezeitpunkt nicht verfügbar wären.
Am Montag soll ein Rohstoffpreis für Freitag vorhergesagt werden. Ein Eingabemerkmal enthält versehentlich Daten vom Donnerstag. Das Modell kann dadurch scheinbar sehr genaue Vorhersagen liefern, obwohl es bei einer echten Montagsprognose nicht über diese Information verfügt.
Leakage kann sowohl Trainings- als auch Testwerte verbessern, wenn beide Datensätze denselben fehlerhaften Merkmalsaufbau besitzen. Deshalb musst du neben den Messwerten auch prüfen, wann und wie jedes Merkmal verfügbar ist.
Unausgeglichene Klassen
Bei unausgeglichenen Klassifikationsdaten kommt eine Klasse viel häufiger vor als eine andere. Ein Modell kann dann eine hohe Gesamtgenauigkeit erreichen, indem es fast immer die Mehrheitsklasse vorhersagt.
Je nach Ziel helfen unter anderem:
- unterschiedliche Gewichtung der Klassen,
- Über- oder Unterstichproben der Klassen,
- die gemeinsame Betrachtung von Präzision und Recall,
- der F1-Score als harmonisches Mittel aus Präzision und Recall.
Welche Metrik geeignet ist, hängt davon ab, ob beispielsweise falsch positive oder falsch negative Ergebnisse schwerer wiegen.
Hohe Komplexität ist ein Warnsignal, kein Beweis
Das klassische Bild lautet: Mit steigender Komplexität sinkt zunächst der Fehler, bevor Überanpassung einsetzt. Neuere Forschung zum doppelten Abstieg zeigt jedoch, dass sehr komplexe Modelle nach einer Phase schlechterer Generalisierung unter bestimmten Bedingungen wieder besser werden können.
Daraus folgt nicht, dass Komplexität bedeutungslos ist. Es folgt nur: Beurteile Überanpassung anhand unbekannter, passender Daten und nicht allein anhand der Größe des Modells.
Karteikasten
Überlege zuerst selbst und drehe die Karte anschließend zum Prüfen um.
Alles auf einen Blick
- Überanpassung
- Erkennen: Trainings- und Validierungsleistung vergleichen
- Abgrenzen: Unteranpassung scheitert schon an Trainingsdaten
- Prüfen: getrennte Daten und Kreuzvalidierung nutzen
- Daten beachten: Repräsentativität und stabile Verteilungen prüfen
- Verringern: Komplexität, Regularisierung, Training und Daten verbessern
- Täuschungen vermeiden: Leakage und Klassenungleichgewicht untersuchen
Überanpassung ist keine Eigenschaft, die du allein an einem niedrigen Trainingsfehler oder an einem großen Modell ablesen kannst. Entscheidend ist, ob das Modell auf passenden unbekannten Daten zuverlässig arbeitet. Diagnose, Gegenmaßnahme und erneute Validierung gehören deshalb zusammen.
Mit Google fortfahren