Kreuzvalidierung

Inferenz, Schätzung und Entscheidungsfindung aus Daten

Sie können ein Modell nicht anhand seines Trainingsfehlers beurteilen; es hat diese Daten bereits gesehen und kann daher durch Auswendiglernen schummeln. Sie brauchen seinen Fehler auf Daten, die es noch nie gesehen hat. Eine einzelne Testmenge verschwendet jedoch Daten und liefert eine verrauschte Schätzung. Die Kreuzvalidierung löst beide Probleme.

Bei der k-fachen Kreuzvalidierung teilen Sie die Daten in k gleich große Blöcke (Folds) auf. Trainieren Sie auf k−1 davon, validieren Sie auf dem herausgehaltenen Block und rotieren Sie so, dass jeder Block genau einmal als Validierungsmenge dient. Mitteln Sie anschließend die k Validierungsfehler zu einer stabilen Schätzung dafür, wie gut das Modell generalisiert.

Kreuzvalidierung ist wie das Schreiben mehrerer Übungsprüfungen, um dein Ergebnis in der echten Prüfung vorherzusagen. Wenn du dich nur anhand von Fragen bewerten würdest, deren Antworten du bereits auswendig gelernt hast, würdest du dich maßlos überschätzen, also legst du jedes Mal einen frischen Stapel von Fragen beiseite, bewertest dich an diesen und rotierst, welcher Stapel zurückgehalten wird. Das Durchschnitten deiner Ergebnisse über alle Übungssitzungen hinweg gibt eine weit stabilere Vorhersage darüber, wie du an dem Tag abschneiden wirst, als es jede einzelne Probeprüfung tun würde.

Wo das im ML vorkommtMit der Kreuzvalidierung wählen ML-Praktiker Modelle und Hyperparameter, ohne sich selbst zu täuschen. Sie schätzt den Generalisierungsfehler (genau die Größe, um die es bei der Bias-Varianz-Zerlegung geht) effizient unter Nutzung aller Daten. Und sie ist die erste Verteidigungslinie gegen Datenleckage: jenen stillen Fehler, bei dem Information aus der Testverteilung in das Training einsickert…
▶ Kreuzvalidierung
← Bias-Varianz-ZerlegungBewertungsmetriken →