Sofortantwort
Overfitting / Underfitting einfach erklärt
Probleme, die beim Machine Learning die Modellgenauigkeit beeinflussen.
- Kurz gesagt
- Overfitting: Modell performt auf Trainingsdaten gut, aber schlecht auf neuen Daten
- Typischer Einsatz
- Modell-Diagnose, Hyperparameter-Tuning, Datenqualität
- Wichtig zu wissen
- Das Ziel ist die Balance dazwischen – gute Generalisierung
Overfitting / Underfitting im Überblick
Overfitting und Underfitting sind die zwei häufigsten Probleme beim Training von KI-Modellen. Sie beschreiben, wie gut ein Modell von Trainingsdaten auf neue, ungesehene Daten generalisiert – und das ist letztlich das Ziel jedes ML-Projekts.
Ein overfittetes Modell hat die Trainingsdaten auswendig gelernt, statt das zugrundeliegende Muster zu verstehen. Es performt auf Trainingsdaten hervorragend, auf neuen Daten aber schlecht. Ein underfittetes Modell ist zu simpel – es hat nicht genug Kapazität, das Muster zu lernen, und performt überall schlecht. Der Sweet Spot dazwischen ist das Ziel: ein Modell, das generalisiert. Techniken wie Regularisierung, Dropout und Cross-Validation helfen, diesen Sweet Spot zu finden.
Der Vergleich:
| Aspekt | Underfitting | Gute Generalisierung | Overfitting |
|---|---|---|---|
| Training-Performance | Schlecht | Gut | Sehr gut |
| Test-Performance | Schlecht | Gut | Schlecht |
| Problem | Zu einfach | Optimal | Zu komplex |
| Lösung | Mehr Kapazität | Beibehalten | Regularisierung |
Technisch betrachtet
Bias-Variance Tradeoff
Das fundamentale Konzept hinter Overfitting/Underfitting:
- Hoher Bias (Underfitting): Modell macht vereinfachende Annahmen, die nicht zu den Daten passen
- Hohe Varianz (Overfitting): Modell reagiert zu stark auf Rauschen in den Trainingsdaten
- Ziel: Minimaler Gesamtfehler = Bias² + Varianz + irreduzibler Fehler
Gegenmaßnahmen Overfitting
- Dropout: Zufälliges Deaktivieren von Neuronen (typisch 10-50%)
- Weight Decay / L2-Regularisierung: Bestrafung großer Gewichte
- Early Stopping: Training beenden, wenn Validation Loss steigt
- Data Augmentation: Künstliche Vervielfältigung der Trainingsdaten
- Cross-Validation: Robustere Evaluation durch mehrfache Splits
- Ensemble-Methoden: Mehrere Modelle kombinieren
Gegenmaßnahmen Underfitting
- Komplexeres Modell (mehr Schichten, mehr Parameter)
- Mehr oder bessere Features
- Weniger Regularisierung
- Längeres Training
- Bessere Hyperparameter (höhere Learning Rate)
Loss-Kurven interpretieren
Loss
│
│ Underfitting Gut Overfitting
│ ████████████████ ████ ████
│ Train ≈ Val (hoch) ██ ██ ██ ████ Val
│ ██████████ ████████
│ Train ≈ Val (niedrig) ██████████ Train
└──────────────────────────────────────────────────────────── Epochs
Code-Beispiel: Early Stopping
best_val_loss = float('inf')
patience = 5
patience_counter = 0
for epoch in range(100):
train_loss = train_one_epoch(model, train_loader)
val_loss = evaluate(model, val_loader)
if val_loss < best_val_loss:
best_val_loss = val_loss
patience_counter = 0
torch.save(model.state_dict(), 'best_model.pt') # Bestes Modell speichern
else:
patience_counter += 1
if patience_counter >= patience:
print(f"Early stopping at epoch {epoch}")
break
# Bestes Modell laden
model.load_state_dict(torch.load('best_model.pt'))
Regularisierungstechniken im Detail
| Technik | Wirkung | Typische Werte |
|---|---|---|
| Dropout | Zufällig Neuronen deaktivieren | 0.1-0.5 |
| L2 (Weight Decay) | Große Gewichte bestrafen | 1e-4 bis 1e-2 |
| L1 | Sparsity fördern | 1e-5 bis 1e-3 |
| Data Augmentation | Künstliche Datenvielfalt | - |
| Label Smoothing | Weichere Targets | 0.1 |
Schritt für Schritt
Generalisierung statt Auswendiglernen prüfen
Ein Modell ist nur dann nützlich, wenn es auf neuen, realistischen Fällen funktioniert. Trainingsdaten allein sind dafür kein Beleg.
Daten sauber trennen
Split
Trainings-, Validierungs- und Testdaten repräsentieren unterschiedliche Rollen und dürfen nicht unbemerkt Informationen teilen.
Train → Validierung → finaler TestLernkurven beobachten
Diagnose
Das Team vergleicht Fehler auf Training und Validierung über Zeit statt nur einen einzelnen Endwert zu betrachten.
Train Loss ↔ Validation LossKomplexität gezielt anpassen
Tuning
Modellgröße, Regularisierung, Datenmenge und Trainingsdauer werden mit klaren Hypothesen verändert.
Kapazität + RegularisierungAuf realistische Fälle prüfen
Generalisierung
Ein finaler Test mit ungesehenen und wichtigen Randfällen bestätigt, ob die gewählte Balance trägt.
neue Fälle → belastbare Qualität
Konkretes Beispiel
Beispiel: Ein Modell für Produktempfehlungen
Ein Team trainiert auf vergangenem Kaufverhalten und erzielt sehr hohe Werte im Training.
Nur Trainingsmetrik
Das Team optimiert immer weiter auf die bekannten Daten. Bei neuen Kundengruppen und aktuellen Produkten fällt die Qualität stark ab.
Getrennte Validierung
Das Team hält neue Zeiträume zurück, beobachtet die Lücke zwischen Trainings- und Validierungswerten und stoppt vor dem Auswendiglernen.
Overfitting und Underfitting sind keine festen Eigenschaften eines Modells. Sie zeigen sich immer im Verhältnis von Aufgabe, Daten und Evaluation.
Einordnung
Vorteile und Grenzen
Das spricht dafür
- Lernkurven machen typische Modellprobleme früh sichtbar.
- Getrennte Daten und Cross-Validation stärken Qualitätsaussagen.
- Gezielte Regularisierung kann die Stabilität neuer Vorhersagen erhöhen.
- Die Diagnose verhindert blinde Optimierung auf eine einzelne Kennzahl.
Das solltest du beachten
- Ein sauberer Datensplit ist schwierig bei Zeitreihen, Duplikaten oder verwandten Fällen.
- Viele Tuning-Runden können selbst zu Überanpassung an die Validierung führen.
- Gute Offline-Werte garantieren keine Qualität nach einer Datenverschiebung.
- Mehr Komplexität ist nicht immer die richtige Antwort auf schwache Leistung.
Vertiefung · für FortgeschritteneDie Balance zwischen Lernen und Generalisieren
Die Validierung ist das Signal, das Training und Modellkomplexität steuert.
Neue Fälle meistern