Overfitting
Erfahren Sie, wie Sie Overfitting im Machine Learning identifizieren, verhindern und beheben können. Entdecken Sie Techniken zur Verbesserung der Modellgeneralisierung und der Leistung in realen Anwendungen.
Überanpassung tritt beim maschinellen Lernen auf, wenn ein Modell die Trainingsdaten zu gut lernt und dabei Rauschen und zufällige
Schwankungen statt der zugrunde liegenden Datenverteilung erfasst. Anstatt allgemeine Muster zu lernen, die auf neue,
unbekannte Daten anwendbar sind, merkt sich ein überangepasstes Modell effektiv die spezifischen Beispiele im Trainingssatz. Dies führt zu einer
hervorragenden Leistung bei den Trainingsdaten, aber einer schlechten Verallgemeinerung auf reale Szenarien. Dies wird oft als
„hohe Varianz” beschrieben, was bedeutet, dass die Vorhersagen des Modells je nach dem für das Training verwendeten Datensatz erheblich variieren
.
Warum es zu Überanpassung kommt
Die Hauptursache für Überanpassung ist eine im Verhältnis zur verfügbaren Datenmenge zu hohe Komplexität des Modells. Ist ein
neuronales Netzwerk zu groß – d. h. verfügt es über zu
viele Schichten oder Parameter –, kann es sich die Trainingsbeispiele leicht merken. Weitere Faktoren sind:
-
Unzureichende Trainingsdaten: Kleine Datensätze können falsche Korrelationen enthalten, die in der
breiteren Population nicht existieren. Modelle, die mit begrenzten Daten trainiert werden, neigen dazu, diese zufälligen Muster zu lernen.
-
Datenrauschen und Ausreißer: Ein hohes Maß an Rauschen oder nicht repräsentative Ausreißer in den
Trainingsdaten können das Modell in die Irre führen, sodass es
seine internen Parameter anpasst, um Anomalien statt dem tatsächlichen Signal anzupassen.
-
Verlängerte Trainingsdauer: Durch zu viele Trainings-Epochen
kann das Modell seine Gewichte so lange verfeinern,
bis es sich an das Rauschen im Trainingssatz anpasst. Dies wird häufig mithilfe von
Validierungsdaten überwacht.
Overfitting vs. Underfitting
Es ist wichtig, Überanpassung von
Unteranpassung zu unterscheiden. Während Überanpassung bedeutet, dass zu viele Details (einschließlich Rauschen) gelernt werden,
tritt Unteranpassung auf, wenn ein Modell zu einfach ist, um die zugrunde liegende Struktur der Daten überhaupt zu erfassen.
Ein unterangepasstes Modell schneidet sowohl bei den Trainingsdaten als auch bei neuen Daten schlecht ab, was oft zu einer hohen
Verzerrung führt. Das Gleichgewicht zwischen diesen beiden Extremen wird als
Bias-Varianz-Tradeoff bezeichnet.
Überanpassung verhindern
Ingenieure wenden verschiedene Techniken an, um Überanpassung zu verringern und die Robustheit des Modells zu verbessern:
-
Regularisierung: Techniken wie L1/L2-Regularisierung oder das Hinzufügen von
Dropout-Schichten führen während des Trainings Strafen oder Zufälligkeiten ein
und verhindern so, dass das Modell übermäßig von bestimmten Merkmalen abhängig wird.
-
Frühes Beenden: Durch die Überwachung der
Verlustfunktion in einem Validierungssatz kann das Training
beendet werden, sobald sich die Leistung bei unbekannten Daten nicht mehr verbessert, auch wenn die Trainingsgenauigkeit weiter steigt.
-
Datenvergrößerung: Durch die künstliche Vergrößerung und Diversifizierung des Trainingssatzes mithilfe von
Datenvergrößerung wird es für das Modell schwieriger,
sich genaue Bilder zu merken.
-
Kreuzvalidierung: Durch den Einsatz von Techniken wie der
k-fachen Kreuzvalidierung wird sichergestellt, dass das
Modell an verschiedenen Teilmengen der Daten getestet wird, wodurch eine zuverlässigere Einschätzung seiner Leistungsfähigkeit ermöglicht wird.
Beispiele aus der Praxis
Überanpassung kann schwerwiegende Folgen haben, wenn KI in Produktionsumgebungen eingesetzt wird:
-
Medizinische Diagnose: Im
Gesundheitswesen könnte ein Modell, das für detect
von
Hautkrebs trainiert wurde, sich zu sehr an die Lichtverhältnisse oder Linealmarkierungen in den Trainingsbildern anpassen. Bei der Anwendung
in einer Klinik mit anderen Lichtverhältnissen oder Geräten könnte das Modell bösartige Läsionen nicht richtig identifizieren, weil
es sich auf irrelevante Hintergrundmerkmale stützt.
-
Finanzprognosen: Ein Modell zur Vorhersage von Aktienkursen könnte sich zu sehr an historischen Markttrends orientieren,
die durch ein bestimmtes, nicht wiederholbares Ereignis (wie eine einmalige Wirtschaftskrise) verursacht wurden. Ein solches Modell würde wahrscheinlich
die zukünftigen Aktienkursbewegungen nicht genau vorhersagen können, da es sich eher an vergangene Anomalien erinnert, als dass es die
grundlegende Marktdynamik berücksichtigt.
Code-Beispiel: Vorzeitiges Beenden mit YOLO26
Mit der Ultralytics oder lokalen Trainingsskripten können Sie
Überanpassung verhindern, indem Sie eine frühe Stopp-Geduld festlegen. Dadurch wird das Training gestoppt, wenn sich die Validierungsfitness
für eine festgelegte Anzahl von Epochen nicht verbessert.
from ultralytics import YOLO
# Load the YOLO26 model (latest generation)
model = YOLO("yolo26n.pt")
# Train with early stopping enabled (patience=50 epochs)
# If validation metrics don't improve for 50 epochs, training stops.
results = model.train(data="coco8.yaml", epochs=100, patience=50)
Verwandte Konzepte
-
Verallgemeinerung: Die Fähigkeit eines Modells, sich anzupassen und bei neuen, zuvor unbekannten Daten gute Leistungen zu erbringen,
was das Gegenteil von Überanpassung ist.
-
Kreuzvalidierung: Eine Technik zur Beurteilung, inwieweit die Ergebnisse einer statistischen Analyse
auf einen unabhängigen Datensatz verallgemeinert werden können.
-
Regularisierung: Methoden, die verwendet werden, um Fehler zu reduzieren, indem eine Funktion angemessen an den gegebenen
Trainingssatz angepasst wird und eine Überanpassung vermieden wird.