Overfitting / Underfitting
Zwei fundamentale Probleme beim Machine Learning: Overfitting bedeutet, das Modell lernt Trainingsdaten auswendig; Underfitting bedeutet, es lernt zu wenig.
Das fundamentale Dilemma im Machine Learning – einfache Modelle (hoher Bias) vs. komplexe Modelle (hohe Varianz). Die Kunst liegt in der Balance.
Bias und Varianz sind zwei Fehlerquellen, die gegeneinander arbeiten.
Hoher Bias (Underfitting):
├── Modell oft zu einfach
├── Erfasst relevante Muster nicht ausreichend
└── Training und Validierung bleiben schwach
Hohe Varianz (Overfitting):
├── Modell oft zu flexibel
├── Reagiert stark auf Trainingsdetails oder Noise
└── Training deutlich besser als Validierung
Ziel: Sweet Spot in der Mitte
Visualisierung:
Error
│
│ \ /
│ \ Varianz /
│ \ /
│ \ /
│ \_______/ ← Sweet Spot
│ Bias
│
└─────────────────────────
Modellkomplexität →
# Total Error = Bias² + Variance + Irreducible Noise
def decompose_error(y_true, predictions_ensemble):
# predictions_ensemble: Liste von Vorhersagen verschiedener Modelle
mean_pred = np.mean(predictions_ensemble, axis=0)
# Bias²: (E[pred] - true)²
bias_squared = np.mean((mean_pred - y_true) ** 2)
# Variance: E[(pred - E[pred])²]
variance = np.mean([np.mean((p - mean_pred) ** 2)
for p in predictions_ensemble])
return bias_squared, variance
| Methode | Typischer Effekt auf Bias | Typischer Effekt auf Varianz |
|---|---|---|
| Mehr Daten | oft gering | meist ↓ |
| Weniger Features | kann ↑ | oft ↓ |
| L2 Regularisierung | kann ↑ | oft ↓ |
| Dropout | kann ↑ | oft ↓ |
| Ensemble | oft gering | oft ↓ |
Bias-Variance ist wie Zielen: Hoher Bias = immer daneben, aber konsistent. Hohe Varianz = mal Treffer, mal weit daneben. Das Ziel: Konsistent ins Schwarze.
Bias: Systematischer Fehler durch zu einfaches Modell
Varianz: Streuung durch zu komplexes Modell
Total Error = Bias² + Varianz + Noise
Modellauswahl
Richtige Komplexität wählen
Hyperparameter-Tuning
Regularisierung anpassen
Ensemble-Methoden
Varianz durch Averaging reduzieren
Typisch sind hoher Trainingsfehler und hoher Validierungs- oder Testfehler. Das deutet darauf hin, dass das Modell relevante Muster nicht ausreichend erfasst.
Typisch ist ein großer Abstand zwischen Trainingsleistung und Validierungs- oder Testleistung. Das deutet darauf hin, dass das Modell Trainingsdetails oder Noise zu stark gelernt hat.