Zum Hauptinhalt springen

Kapitel 5 – Modellbewertung & Bias-Varianz

Folien: 📄 07_roc_xval_bias_var_ws26.pdf · Woche 4, Prof. Dürr

Worum geht es?​

Bisher wurden Modelle gebaut: lineare und logistische Regression, Bayes-Klassifikatoren, Perzeptron. Dieses Kapitel beantwortet die Frage, die danach kommt: Wie gut ist ein Modell wirklich, und welches soll man nehmen?

Das zerfällt in drei Teile:

  1. Womit misst man? Je nachdem, ob ein Modell eine Klasse, einen Score oder eine Wahrscheinlichkeit ausgibt, passen andere Maße: Konfusionsmatrix und Accuracy, AUC oder die negative Log-Likelihood.
  2. Auf welchen Daten misst man? Nie auf den Trainingsdaten. Testset wegschließen, für Modellauswahl und Hyperparameter die Kreuzvalidierung verwenden.
  3. Warum ist ein Modell auf neuen Daten schlecht? Entweder zu starr (Bias) oder zu zappelig (Varianz). Für die Regression lässt sich der erwartete Testfehler exakt in Bias² + Varianz + Rauschen zerlegen.

Die ROC-Kurve selbst wurde in Kapitel 3 eingeführt, hier geht es um die Fläche darunter und ihre Bedeutung als Ranking-Wahrscheinlichkeit.

Aufbau des Kapitels​

AbschnittInhalt
5.1 Bewertung von VorhersagenMSE/MAE, NLL; deterministisch, score-basiert, probabilistisch; Konfusionsmatrix, Precision/Recall/F1, AUC als Ranking-Wahrscheinlichkeit, NLL als proper scoring rule
5.2 KreuzvalidierungTestset wegschließen, Validierungsset, LOOCV, k-fach, Fehlerbalken, Null-Modell, Data Leakage
5.3 Over- und Underfitting„Perfekter“ vs. einfacher Klassifikator, Trainings- vs. Testfehler, U-Kurve, Simulation
5.4 Bias-Varianz-ZerlegungZielscheibenbild, 200-Runs-Simulation, exakte Herleitung Bias² + Varianz + σ2\sigma^2, KNN-Beispiel
5.5 BootstrapErgänzung: Ziehen mit Zurücklegen, Standardfehler, Out-of-Bag, Ausblick Bagging

Prüfungsrelevant / Selbsttest​

  1. Ein Klassifikator erreicht 98,6 % Accuracy bei der Regenvorhersage für Los Angeles (5 Regentage im Jahr). Ist das gut?
Antwort

Nicht zwingend. Der triviale Klassifikator „immer Sonne“ erreicht 360/365=98,6 %360/365 = 98{,}6\,\%, hat aber Recall 0 (findet nie Regen) und undefinierte Precision. Bei unbalancierten Klassen muss man Precision/Recall/F1, die AUC oder die NLL anschauen und immer mit dem Null-Modell vergleichen.

  1. Berechne Precision, Recall und F1 für TP = 40, FP = 10, FN = 20, TN = 930.
Antwort

Precision =40/50=0,8= 40/50 = 0{,}8. Recall =40/60≈0,667= 40/60 \approx 0{,}667. F1 =2⋅40/(2⋅40+10+20)=80/110≈0,727= 2\cdot 40/(2\cdot 40 + 10 + 20) = 80/110 \approx 0{,}727. (Accuracy wäre 970/1000=0,97970/1000 = 0{,}97, sieht viel besser aus.)

  1. Klasse 1 hat die Scores 0,8 und 0,5, Klasse 2 die Scores 0,6, 0,3 und 0,5. Wie groß ist die AUC?
Antwort

2⋅3=62\cdot3 = 6 Paare. 0,80{,}8 schlägt alle drei: 3 Punkte. 0,50{,}5 verliert gegen 0,60{,}6 (0), Gleichstand mit 0,50{,}5 (½), schlägt 0,30{,}3 (1): 1,5 Punkte. AUC =4,5/6=0,75= 4{,}5/6 = 0{,}75. Interpretation: Mit Wahrscheinlichkeit 0,75 bekommt ein zufälliges Beispiel aus Klasse 1 einen höheren Score als ein zufälliges aus Klasse 2 (Gleichstände halb).

  1. Warum kann man die AUC eines Modells nicht verbessern, indem man alle Scores quadriert, die NLL aber sehr wohl verändern?
Antwort

Die AUC hängt nur von der Reihenfolge der Scores ab, und Quadrieren (für Scores in [0,1][0,1]) ist streng monoton, die Reihenfolge bleibt. Die NLL bewertet die Werte der Wahrscheinlichkeiten, also auch die Kalibrierung. Die NLL ist eine strictly proper scoring rule: Ihr Erwartungswert ist nur bei den wahren Wahrscheinlichkeiten minimal. AUC und Accuracy sind nicht proper.

  1. Warum ist ein Modell, das der wahren Klasse eines einzigen Testbeispiels die Wahrscheinlichkeit 0 gibt, nach NLL unbrauchbar?
Antwort

Der Beitrag dieses Beispiels ist −log⁡0=∞-\log 0 = \infty, damit ist die gesamte NLL unendlich. „Selbstsicher und falsch ist teuer“: Probabilistische Modelle sollten nie exakt 0 oder 1 ausgeben, wenn das Ereignis möglich ist (vgl. „immer Sonne“ mit NLL ∞\infty gegen Basisrate 5/3655/365 mit NLL 0,072).

  1. Was ist k-fache Kreuzvalidierung bei k=nk=n und bei k=2k=2? Vor- und Nachteile von LOOCV gegenüber 10-fach?
Antwort

k=nk=n ist LOOCV, k=2k=2 ist der Validierungsset-Ansatz mit vertauschten Rollen und Mittelung. LOOCV ist deterministisch und hat die kleinste Verzerrung (jedes Modell sieht n−1n-1 Punkte), ist aber teuer (nn Fits) und hat höhere Varianz, weil die nn Modelle fast identische Trainingsdaten haben und stark korreliert sind. 10-fach ist schneller, hat geringere Varianz und nur wenig mehr Verzerrung. Standard heute: 10-fach, ggf. wiederholt.

  1. Du standardisierst alle Merkmale mit Mittelwert und Standardabweichung des gesamten Datensatzes und führst danach eine 10-fache CV durch. Was ist das Problem?
Antwort

Data Leakage: Mittelwert und Standardabweichung enthalten Information aus den Validierungsfolds, die ins Training einfließt. Die Vorverarbeitung muss in jedem Fold nur auf den Trainingsfolds gefittet und auf den Validierungsfold angewendet werden (Pipeline). Bei harmloser Standardisierung ist der Effekt klein, bei Merkmalsauswahl auf allen Daten kann er dramatisch sein.

  1. Leite die Bias-Varianz-Zerlegung für Y=f(x)+εY = f(x) + \varepsilon her. Welche zwei Kreuzterme fallen weg und warum?
Antwort

Mit f^=f^D(x0)\hat f=\hat f_D(x_0), fˉ=ED[f^]\bar f = \mathbb E_D[\hat f], f0=f(x0)f_0 = f(x_0):

  1. Y0−f^=ε0+(f0−f^)Y_0-\hat f = \varepsilon_0 + (f_0-\hat f). Kreuzterm 2 E[ε0(f0−f^)]=02\,\mathbb E[\varepsilon_0(f_0-\hat f)] = 0, weil das neue Rauschen unabhängig vom trainierten Modell ist und E[ε0]=0\mathbb E[\varepsilon_0]=0. Bleibt σ2+E[(f0−f^)2]\sigma^2 + \mathbb E[(f_0-\hat f)^2].
  2. f0−f^=(f0−fˉ)+(fˉ−f^)f_0-\hat f = (f_0-\bar f) + (\bar f-\hat f). Kreuzterm 2(f0−fˉ) E[fˉ−f^]=02(f_0-\bar f)\,\mathbb E[\bar f-\hat f] = 0, weil E[f^]=fˉ\mathbb E[\hat f] = \bar f (Definition). Bleibt (f0−fˉ)2+Var⁡(f^)(f_0-\bar f)^2 + \operatorname{Var}(\hat f).

Zusammen: E[(Y0−f^)2]=Bias2+Varianz+σ2\mathbb E[(Y_0-\hat f)^2] = \text{Bias}^2 + \text{Varianz} + \sigma^2.

  1. Ein Polynom vom Grad 9 hat auf 10 Trainingspunkten Fehler 0, auf Testdaten einen riesigen Fehler. Welcher Term der Zerlegung ist schuld, und was hilft?
Antwort

Die Varianz: Das Polynom interpoliert die Punkte samt Rauschen und sieht für jeden neuen Trainingsdatensatz völlig anders aus (Run 1 vs. Run 2). Der Bias ist klein. Abhilfe: einfacheres Modell (kleinerer Grad, per CV gewählt), Regularisierung, mehr Trainingsdaten oder Mitteln vieler Modelle (Ensembles/Bagging).

  1. Warum kann der erwartete Testfehler nie unter σ2\sigma^2 fallen, der Trainingsfehler aber schon?
Antwort

In der Zerlegung sind Bias² und Varianz nicht negativ, also ist der erwartete Testfehler mindestens σ2\sigma^2, das Rauschen neuer Beobachtungen kann kein Modell vorhersagen. Der Trainingsfehler wird dagegen auf denselben Daten gemessen, an die das Modell angepasst wurde. Ein flexibles Modell kann das Rauschen der Trainingsdaten mitlernen und so Trainingsfehler 0 erreichen (gestrichelte Linie bei ISLR: Trainingskurve fällt darunter, Testkurve nie).