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 maschinellem Lernen (ML), wenn ein Modell die die spezifischen Details und das Rauschen der Trainingsdaten in einem dass sich dies negativ auf seine Leistung bei neuen Daten auswirkt. Im Wesentlichen merkt sich das Modell die Trainings Trainingsbeispiele, anstatt die zugrunde liegenden Muster zu lernen, die für die Verallgemeinerung. Dies führt zu einem System, das zwar eine hohe während der Entwicklung eine hohe Genauigkeit erreicht, aber keine zuverlässigen Vorhersagen liefert, wenn es in realen Szenarien eingesetzt wird.
Im Kontext des überwachten Lernens ist das Ziel ist es, ein Modell zu erstellen, das auch bei unbekannten Eingaben, den so genannten Testdaten. Überanpassung tritt typischerweise auf, wenn ein Modell im Verhältnis zur Menge der verfügbaren Daten zu komplex ist, eine Situation, die oft als hohe Varianz beschrieben wird. Ein solches Modell nimmt zufällige Fluktuationen oder "Rauschen" im Datensatz auf, als wären sie signifikante Merkmale. Diese ist eine zentrale Herausforderung beim Deep Learning (DL), und erfordert von den Entwicklern ein Gleichgewicht zwischen Komplexität und Flexibilität, das oft als Kompromiss zwischen Verzerrung und Varianz.
Eine Überanpassung kann je nach Anwendung schwerwiegende Folgen haben:
Die Entwickler detect Überanpassung in der Regel durch die Überwachung Verlustfunktionen während des Trainings. Ein eindeutiger Indikator ist wenn der Trainingsverlust weiter abnimmt, während der Validierungsdatenverlust zu steigen beginnt. Zur Bekämpfung dies zu bekämpfen, werden verschiedene Techniken eingesetzt:
Es ist wichtig, dieses Konzept zu unterscheiden von Unteranpassung. Bei der Überanpassung handelt es sich um ein Modell, das zu komplex ist und sich zu sehr anstrengt, um die Trainingsdaten zu erfüllen (hohe Varianz), tritt Unteranpassung auf, wenn ein Modell zu einfach ist, um den zugrunde liegenden Trend der Daten zu erfassen (hohe Verzerrung). Beide führen zu einer schlechten Vorhersage Vorhersageleistung, allerdings aus entgegengesetzten Gründen. Um ein optimales Modell zu erhalten, muss man sich zwischen diesen beiden Extremen bewegen.
Moderne Bibliotheken wie ultralytics die Umsetzung von Präventionsstrategien zu vereinfachen. Zum Beispiel,
können die Benutzer einfach anwenden frühzeitiges Stoppen und Ausbildungsabbruch bei
Ausbildung einer YOLO11 Modell.
from ultralytics import YOLO
# Load the YOLO11 model (recommended for latest SOTA performance)
model = YOLO("yolo11n.pt")
# Train with 'patience' for early stopping and 'dropout' for regularization
# This helps the model generalize better to new images
results = model.train(
data="coco8.yaml",
epochs=100,
patience=10, # Stop if validation loss doesn't improve for 10 epochs
dropout=0.1, # Randomly drop 10% of units to prevent co-adaptation
)