Kreuzvalidierung (englisch Cross-Validation) ist ein Verfahren, um die Güte eines Machine-Learning-Modells zuverlässig zu schätzen, ohne sich von einem einzigen günstigen Daten-Split blenden zu lassen. Statt das Modell einmal auf Trainingsdaten zu trainieren und einmal zu testen, wird es mehrfach trainiert und ausgewertet - mit wechselnden Aufteilungen.

So funktioniert die k-Faltige Kreuzvalidierung

Beim Standardverfahren, der k-Fold-Cross-Validation, werden die Daten in k gleich große F alten (Folds) aufgeteilt, üblich sind k = 5 oder k = 10:

  • Das Modell wird auf k - 1 F alten trainiert.
  • Der verbleibende Fold dient als Validierungsdaten.
  • Dies wird k-mal wiederholt, sodass jeder Fold genau einmal als Validierungsdaten dient.
  • Die k Einzelergebnisse werden zum mittleren Bewertungswert (z.B. Accuracy) zusammengefasst.

So nutzt das Verfahren fast alle Daten sowohl zum Lernen als auch zur Prüfung - und die Schätzung ist deutlich stabiler als bei einer einzelnen zufälligen Aufteilung.

Wozu Kreuzvalidierung gut ist

  • Modellwahl: Beim Hyperparameter-Tuning bewertet die Kreuzvalidierung jede Kandidaten-Konfiguration und macht Grid Search und Random Search erst zuverlässig.
  • Overfitting-Erkennung: Ein Modell, das in der Kreuzvalidierung schlecht abschneidet, hat die Trainingsdaten auswendig gelernt statt gelernt - ein klassisches Zeichen für Overfitting.
  • Underfitting-Erkennung: Sind alle F alt-Ergebnisse gleichermaßen schlecht, ist das Modell zu simpel - Underfitting.

Varianten

  • Stratified k-Fold: Bei Klassifikation wird die Klassenverteilung in jedem Fold erhalten - wichtig bei unbalancierten Daten.
  • Leave-One-Out (LOOCV): k entspricht der Anzahl der Beispiele; jedes Beispiel dient einmal allein als Validierungsdaten. Präzise, aber bei großen Datenmengen extrem rechenintensiv.
  • Wiederholte Kreuzvalidierung: Der gesamte k-Fold-Lauf wird mehrfach mit anderen Aufteilungen ausgeführt, um die Streuung der Schätzung zu sehen.

Typische Fehler

Das größte Risiko ist ein Datenleck: Werden Informationen aus den Validierungsdaten - etwa beim Feature Engineering - schon vor der Aufteilung in die Trainingsdaten eingerechnet, wird der Bewertungswert zu optimistisch. Skalierung und Normalisierung müssen deshalb innerhalb jedes Folds separat berechnet werden.

Verwandte Konzepte: Trainingsdaten und überwachtes Lernen bilden den Rahmen, in dem Kreuzvalidierung typischerweise eingesetzt wird.