5.3 Over- und Underfitting
Dieser Abschnitt zeigt an Beispielen, warum man überhaupt auf zurückgehaltenen Daten testen muss, und führt zu den Begriffen Bias und Varianz, die in 5.4 formal zerlegt werden.
„Perfekter“ vs. „einfacher“ Klassifikator
Folie: 📄 07_roc_xval_bias_var_ws26.pdf, Folie 19
Zwei Klassen (grüne Kreise, rote Kreuze) im . Zwei Klassifikatoren:
- „Einfach“: eine Gerade. Sie macht auf den Trainingsdaten einige Fehler.
- „Perfekt“: eine wild geschlängelte Kurve, die jeden einzelnen Trainingspunkt richtig einordnet.
Welcher ist besser? Antwort der Folie: Auf einem Testset prüfen, also nicht alle gelabelten Daten zum Trainieren verwenden.
Das Ergebnis auf Testdaten
Folie: 📄 07_roc_xval_bias_var_ws26.pdf, Folie 20
| Klassifikator | Fehlklassifikation Training | Fehlklassifikation Test |
|---|---|---|
| einfach (Gerade) | ||
| „perfekt“ (Schlangenlinie) |
(Zahlen von Folie 20 und 📄 07_roc_xval_bias_var_ws26.pdf, Folie 21.)
Warum? Die Schlangenlinie hat sich an zufällige Eigenheiten der Trainingsdaten angepasst, an einzelne Punkte, die „auf der falschen Seite“ liegen. Diese Eigenheiten wiederholen sich in neuen Daten nicht, die Ausbuchtungen der Kurve sind dort nutzlos oder schädlich. Die Gerade erfasst nur die grobe Struktur, und die ist in Training und Test dieselbe.
Hinweis: Dass der einfache Klassifikator auf dem Test sogar besser ist als auf dem Training (8 % gegen 20 %), ist Zufall bei nur 25 Testpunkten. Im Mittel ist der Testfehler größer oder gleich dem Trainingsfehler. Die Folien nennen das Vorgehen „cross validation“, gemeint ist hier ein einfacher Train/Test-Split.
Beispiele aus der Regression
Folie: 📄 07_roc_xval_bias_var_ws26.pdf, Folie 22
Abbildung aus ISLR (An Introduction to Statistical Learning):
- Links: Die schwarze Kurve ist die wahre Funktion . Daraus wurden verrauschte Punkte gezogen und drei Modelle unterschiedlicher Flexibilität (flexibility) angepasst: orange (Gerade, sehr starr), blau (mittel), grün (sehr flexibel, folgt fast jedem Punkt).
- Rechts: MSE gegen Flexibilität. Die graue Kurve ist der Trainingsfehler , die rote der Testfehler . Die Quadrate markieren die drei Modelle von links.
Was man ablesen muss:
- Der Trainingsfehler fällt monoton mit der Flexibilität. Ein flexibleres Modell kann die Trainingsdaten immer mindestens so gut treffen.
- Der Testfehler ist U-förmig: zuerst fällt er (das Modell lernt echte Struktur), dann steigt er (das Modell lernt Rauschen).
- Das Minimum des Testfehlers liegt bei mittlerer Flexibilität (blau).
- Die gestrichelte waagrechte Linie bei 1 ist (Ergänzung) die Varianz des Rauschens , der irreduzible Fehler. Kein Modell kann im Mittel einen Testfehler darunter erreichen. In 5.4 wird klar, warum.
Over- und Underfitting: Intuition
Folie: 📄 07_roc_xval_bias_var_ws26.pdf, Folie 23
Die bekannte Abbildung (aus Bishop, Pattern Recognition and Machine Learning): Polynome vom Grad an 10 Punkte angepasst, Fehler auf Training (blau) und Test (rot).
| Grad | Training | Test | Diagnose |
|---|---|---|---|
| 0 bis 2 | hoch | hoch | Unteranpassung (underfitting): Modell zu einfach |
| 3 bis 8 | niedrig | niedrig | passend |
| 9 | 0 | sehr hoch | Überanpassung (overfitting): Modell zu komplex |
Bei hat das Polynom 10 Koeffizienten für 10 Punkte und kann jeden Punkt exakt treffen (Interpolation). Dafür schwingt es zwischen den Punkten wild.
- Trainingsfehler hoch, Testfehler ähnlich hoch → Underfitting, Modell flexibler machen.
- Trainingsfehler niedrig, Testfehler deutlich höher → Overfitting, Modell einfacher machen, regularisieren oder mehr Daten sammeln.
Simulation: welches Modell sagt besser vorher?
Folie: 📄 07_roc_xval_bias_var_ws26.pdf, Folie 26
„What I cannot create, I do not understand“ (Feynman, Folie 25), in der Vorlesung abgewandelt zu: „What I cannot simulate, I do not understand“. Die Folie zeigt eine wellige, ansteigende wahre Funktion (blau), 10 verrauschte Punkte (rot), eine angepasste Gerade (orange) und ein angepasstes Polynom hohen Grades (grün), das durch alle Punkte geht und an den Rändern explodiert. Die Simulation zum Nachrechnen liegt als Notebook auf GitHub (Link auf der Folie).
Run 1 und Run 2
Folie: 📄 07_roc_xval_bias_var_ws26.pdf, Folie 27
Zwei Durchläufe mit jeweils neu gezogenen Trainingsdaten, links Bewertung auf Training, rechts auf Test. Oben das starre (lineare) Modell, unten das flexible.
- Run 1: Das flexible Modell trifft die Trainingspunkte fast perfekt, auf den Testpunkten sind die Abweichungen (senkrechte Striche) aber groß: Es überanpasst. Das starre Modell ist auf Training und Test ähnlich gut. Es unteranpasst oft, denn der wahre Zusammenhang ist komplexer als eine Gerade.
- Run 2 (📄 07_roc_xval_bias_var_ws26.pdf, Folie 28): Mit anderen Trainingsdaten sieht das flexible Modell völlig anders aus als in Run 1. Das starre Modell ist fast gleich geblieben.
Genau dieser Unterschied, „wie stark ändert sich das Modell, wenn man es auf neuen Trainingsdaten anpasst“, ist die Varianz. Wie weit das Modell im Mittel von der Wahrheit weg ist, ist der Bias. Beides wird in 5.4 präzisiert.