Zum Hauptinhalt springen

5.1 Bewertung von Vorhersagen

Bevor man Modelle vergleichen, Hyperparameter wählen oder über Over- und Underfitting reden kann, braucht man eine Zahl, die sagt, wie gut eine Vorhersage ist. Welche Zahl passt, hängt davon ab, was das Modell ausgibt: eine Zahl, eine Klasse, einen Score oder eine Wahrscheinlichkeit.

Regression​

Folie: 📄 07_roc_xval_bias_var_ws26.pdf, Folie 3

Die Folie unterscheidet zwei Arten von Regressionsmodellen.

1. Deterministische Regression​

Das Modell ordnet jedem xx eine Zahl y^=f^(x)\hat y = \hat f(x) zu. Beispiel auf der Folie: lineare Regression, „wenn man sie schlecht macht“, also nur die Gerade ohne Aussage über die Streuung.

Gütemaße auf NN Testbeispielen:

MSE=1N∑i=1N(yi−y^i)2,MAE=1N∑i=1N∣yi−y^i∣\text{MSE} = \frac1N\sum_{i=1}^N \bigl(y_i-\hat y_i\bigr)^2, \qquad \text{MAE} = \frac1N\sum_{i=1}^N \bigl\lvert y_i-\hat y_i\bigr\rvert
  • Mittlerer quadratischer Fehler (Mean Squared Error, MSE): bestraft große Fehler überproportional, ist differenzierbar und hängt eng mit der Normalverteilung zusammen (Kleinste-Quadrate-Schätzung = Maximum Likelihood bei Gauß-Rauschen).
  • Mittlerer absoluter Fehler (Mean Absolute Error, MAE): robuster gegen Ausreißer.
  • Ergänzung, nicht auf den Folien: Oft wird die Wurzel RMSE=MSE\text{RMSE}=\sqrt{\text{MSE}} (Root Mean Squared Error) angegeben, weil sie dieselbe Einheit wie yy hat. Auf Folie 17 und 23 taucht sie auf.

Zahlenbeispiel (Ergänzung): wahre Werte y=(3, 5, 2, 8)y=(3,\,5,\,2,\,8), Vorhersagen y^=(2, 5, 4, 5)\hat y=(2,\,5,\,4,\,5), Fehler (1, 0, −2, 3)(1,\,0,\,-2,\,3).

MaßRechnungErgebnis
MSE(1+0+4+9)/4(1+0+4+9)/43,53{,}5
RMSE3,5\sqrt{3{,}5}≈1,87\approx 1{,}87
MAE(1+0+2+3)/4(1+0+2+3)/41,51{,}5

Der Fehler 3 trägt zum MSE 9/14≈64 %9/14\approx 64\,\% bei, zum MAE nur 3/6=50 %3/6=50\,\%. Das ist die „Ausreißer-Empfindlichkeit“ des MSE.

2. Probabilistische Regression​

Das Modell gibt für jedes xx eine ganze Wahrscheinlichkeitsverteilung für YY aus. Die Abbildung auf der Folie zeigt das für die lineare Regression: Um die Gerade liegt bei jedem xx eine Normalverteilung N(μ(x),σ2)\mathcal N(\mu(x),\sigma^2). Gütemaß: die negative Log-Likelihood auf dem Testset (NLL on test set) oder andere proper scoring rules, die im DL-Teil kommen.

Ergänzung: Für eine Gauß-Vorhersage N(μi,σ2)\mathcal N(\mu_i,\sigma^2) ist der Beitrag eines Testpunkts

−log⁡p(yi∣xi)=12log⁡(2πσ2)+(yi−μi)22σ2.-\log p(y_i\mid x_i) = \tfrac12\log(2\pi\sigma^2) + \frac{(y_i-\mu_i)^2}{2\sigma^2}.

Bei festem σ\sigma ist das bis auf Konstanten der quadratische Fehler. Die NLL bewertet aber zusätzlich, ob die Unsicherheit σ\sigma passt: Ein Modell, das sich zu sicher ist (kleines σ\sigma) und daneben liegt, wird hart bestraft.

Klassifikation: drei Arten von Ausgaben​

Folie: 📄 07_roc_xval_bias_var_ws26.pdf, Folie 4

ArtAusgabeBeispieleGütemaß
deterministischeine KlassePerzeptron, EntscheidungsbaumAccuracy, Konfusionsmatrix
score-basiertein Score pro Klasse, höher = „sicherer“SVM (kommt in Kapitel 6)ROC-Kurve, AUC
probabilistischeine Wahrscheinlichkeit pro Klasselogistische Regression, (naiver) BayesNLL auf dem Testset (proper scoring rule)

Die Klassen sind ineinander geschachtelt:

probabilistisch⊂score-basiert⊂deterministisch\text{probabilistisch} \subset \text{score-basiert} \subset \text{deterministisch}

Warum? Eine Wahrscheinlichkeit ist auch ein Score (man kann nach ihr sortieren), und ein Schwellwert (threshold) auf einem Score liefert eine Klasse. Ein inneres Modell lässt sich deshalb mit allen äußeren Maßen bewerten, aber nicht umgekehrt: Eine logistische Regression hat Accuracy, AUC und NLL. Ein Perzeptron, das nur „Klasse 1“ oder „Klasse 2“ ausgibt, hat keine AUC und keine NLL.

Deterministisch: Konfusionsmatrix und abgeleitete Größen​

Folie: 📄 07_roc_xval_bias_var_ws26.pdf, Folie 5

Bei zwei Klassen (positiv/negativ) zählt man die vier möglichen Ausgänge in der Konfusionsmatrix (confusion matrix):

vorhergesagt positivvorhergesagt negativ
tatsächlich positivTP (true positive)FN (false negative)
tatsächlich negativFP (false positive)TN (true negative)
Achtung, Orientierung

Auf Folie 5 stehen die wahren Klassen in den Zeilen, auf der Zusammenfassung 📄 07_roc_xval_bias_var_ws26.pdf, Folie 8 die vorhergesagten. Auch scikit-learn (confusion_matrix) hat die wahre Klasse in den Zeilen, ordnet die Klassen aber aufsteigend (also negativ zuerst). Immer zuerst die Beschriftung lesen!

Abgeleitete Größen (N=TP+FN+FP+TNN=TP+FN+FP+TN):

GrößeFormelFrage
Accuracy (Treffergenauigkeit)(TP+TN)/N(TP+TN)/NWelcher Anteil ist richtig?
Precision (Präzision)TP/(TP+FP)TP/(TP+FP)Wie viele Alarme sind echt?
Recall = Sensitivität (sensitivity) = TPRTP/(TP+FN)TP/(TP+FN)Wie viele Positive werden gefunden?
Spezifität (specificity)TN/(TN+FP)TN/(TN+FP)Wie viele Negative werden als negativ erkannt?
Falsch-Positiv-Rate (FPR)FP/(TN+FP)=1−Spezifita¨tFP/(TN+FP) = 1-\text{Spezifität}Wie viele Negative lösen Fehlalarm aus?
F1-Score2⋅Precision⋅RecallPrecision+Recall2\cdot\dfrac{\text{Precision}\cdot\text{Recall}}{\text{Precision}+\text{Recall}}harmonisches Mittel aus beiden

Merkhilfe: Precision schaut auf die Spalte „vorhergesagt positiv“, Recall auf die Zeile „tatsächlich positiv“. TPR und FPR sind die beiden Achsen der ROC-Kurve (siehe Kapitel 3).

Ergänzung: Der F1-Score lässt sich direkt aus den Zählern schreiben: F1=2 TP2 TP+FP+FNF_1 = \dfrac{2\,TP}{2\,TP+FP+FN}. Das harmonische Mittel ist klein, sobald einer der beiden Werte klein ist. Man kann F1 also nicht „hochschummeln“, indem man nur Precision oder nur Recall optimiert.

Durchgerechnetes Beispiel (Ergänzung)​

Ein Spamfilter bekommt 1000 Mails, davon 100 Spam (positiv). Er markiert 110 Mails als Spam, davon sind 80 wirklich Spam.

vorh. Spamvorh. kein SpamSumme
SpamTP = 80FN = 20100
kein SpamFP = 30TN = 870900
Summe1108901000
GrößeRechnungErgebnis
Accuracy(80+870)/1000(80+870)/10000,9500{,}950
Precision80/11080/1100,7270{,}727
Recall (TPR)80/10080/1000,8000{,}800
Spezifität870/900870/9000,9670{,}967
FPR30/90030/9000,0330{,}033
F12⋅0,727⋅0,8/(0,727+0,8)2\cdot 0{,}727\cdot 0{,}8/(0{,}727+0{,}8) =160/210= 160/2100,7620{,}762

Interpretation: 95 % Accuracy klingt hervorragend. Tatsächlich landen aber 30 echte Mails im Spamordner, und jede vierte als Spam markierte Mail ist kein Spam. Precision und Recall zeigen das, Accuracy versteckt es.

Das Los-Angeles-Beispiel: Accuracy bei unbalancierten Klassen​

In Los Angeles gibt es (laut Folie) 360 Sonnentage und 5 Regentage im Jahr. Kann man einen Klassifikator für das Wetter von morgen mit über 98 % Accuracy bauen? Ja, trivial: „immer Sonne“. Mit Regen als positiver Klasse:

vorh. Regenvorh. Sonne
Regen05
Sonne0360
  • Accuracy =360/365=98,6 %= 360/365 = 98{,}6\,\%
  • Recall =0/5=0= 0/5 = 0: Er findet nie Regen.
  • Precision =0/0= 0/0: undefiniert, F1 wird als 00 gesetzt.
Merksatz der Folie

Bei unbalancierten Klassen (imbalanced classes) sagt Accuracy allein wenig. Ein Modell muss mindestens den Anteil der Mehrheitsklasse schlagen, um überhaupt etwas gelernt zu haben.

Score-basiert: AUC als Ranking-Wahrscheinlichkeit​

Folie: 📄 07_roc_xval_bias_var_ws26.pdf, Folie 6

Ein score-basierter Klassifikator gibt eine Zahl s(x)s(x) aus: Je höher, desto mehr „glaubt“ das Modell, dass xx zu Klasse 1 gehört. Wie die ROC-Kurve durch Variation des Schwellwerts entsteht, steht in Kapitel 3. Hier geht es um die Fläche unter der ROC-Kurve (Area Under the Curve, AUC) und ihre anschauliche Bedeutung.

AUC als Wahrscheinlichkeit

Zieht man zufällig ein Beispiel aus Klasse 1 (Score s+s_+) und eines aus Klasse 2 (Score s−s_-), dann gilt

AUC=P(s+>s−)+12 P(s+=s−).\text{AUC} = P(s_+ > s_-) + \tfrac12\,P(s_+ = s_-).

Gleichstände (ties) zählen halb.

Auf endlichen Daten heißt das: Alle Paare (ein positives, ein negatives Beispiel) bilden, zählen, wie oft das positive den höheren Score hat (1 Punkt), Gleichstand (½ Punkt), sonst 0, und durch die Anzahl der Paare teilen. Auf der Folie: 4 Beispiele aus Klasse 1, 8 aus Klasse 2, also 4⋅8=324\cdot 8=32 Paare. 28 Punkte ergeben AUC=28/32=0,875\text{AUC}=28/32=0{,}875, und genau das ist auch die Fläche unter der daneben gezeichneten ROC-Kurve.

Von Hand: AUC an 7 Punkten (Ergänzung)​

Klasse 1 (positiv): Scores 0,9; 0,7; 0,40{,}9;\ 0{,}7;\ 0{,}4. Klasse 2 (negativ): Scores 0,8; 0,4; 0,3; 0,20{,}8;\ 0{,}4;\ 0{,}3;\ 0{,}2. Das sind 3⋅4=123\cdot 4 = 12 Paare.

s+s_+gegen 0,80{,}8gegen 0,40{,}4gegen 0,30{,}3gegen 0,20{,}2Punkte
0,90{,}911114
0,70{,}701113
0,40{,}40½112,5
Summe9,5
AUC=9,512≈0,792.\text{AUC} = \frac{9{,}5}{12} \approx 0{,}792.

Kontrolle über die ROC-Kurve: Schwellwert von oben nach unten absenken, nach Scores sortiert: 0,9+, 0,8−, 0,7+, 0,4+−, 0,3−, 0,2−0{,}9^+,\ 0{,}8^-,\ 0{,}7^+,\ 0{,}4^{+-},\ 0{,}3^-,\ 0{,}2^-. Jedes Positive geht um 1/31/3 nach oben, jedes Negative um 1/41/4 nach rechts, der Gleichstand diagonal:

(0,0)→(0,13)→(14,13)→(14,23)→(12,1)→(34,1)→(1,1).(0,0)\to(0,\tfrac13)\to(\tfrac14,\tfrac13)\to(\tfrac14,\tfrac23)\to(\tfrac12,1)\to(\tfrac34,1)\to(1,1).

Fläche: 14⋅13+14⋅2/3+12+12⋅1=224+524+1224=1924≈0,792\tfrac14\cdot\tfrac13 + \tfrac14\cdot\tfrac{2/3+1}{2} + \tfrac12\cdot 1 = \tfrac{2}{24}+\tfrac{5}{24}+\tfrac{12}{24} = \tfrac{19}{24}\approx 0{,}792. ✔ Der diagonale Schritt beim Gleichstand ist genau das „½“ in der Formel.

Eigenschaften der AUC​

  • AUC=1\text{AUC}=1: Jedes positive Beispiel hat einen höheren Score als jedes negative (perfektes Ranking).
  • AUC=0,5\text{AUC}=0{,}5: Ranking wie gewürfelt. Der Klassifikator „immer Sonne“ gibt allen denselben Score: Nur Gleichstände, also genau 0,50{,}5 (Button „LA: always sun“ in der Demo auf der Folie).
  • AUC<0,5\text{AUC}<0{,}5: systematisch falsch herum, Scores umdrehen.
  • Nur die Reihenfolge zählt. Die Folie sagt: Sobald Klasse 1 komplett über Klasse 2 liegt, ändert die Größe des Abstands nichts mehr an der AUC. Deshalb ist die AUC invariant unter jeder streng monotonen Transformation der Scores, sagt aber nichts über die Kalibrierung, also darüber, ob „0,8“ wirklich „80 % Wahrscheinlichkeit“ bedeutet.
  • Ergänzung: Die AUC hängt nicht vom Klassenverhältnis ab, weil TPR und FPR jeweils nur innerhalb einer Klasse normiert sind. Bei LA ist sie deshalb aussagekräftiger als die Accuracy.

Probabilistisch: die NLL​

Folie: 📄 07_roc_xval_bias_var_ws26.pdf, Folie 7

Ein probabilistischer Klassifikator gibt für jedes Testbeispiel eine Wahrscheinlichkeit p^(yi∣xi)\hat p(y_i\mid x_i) für die wahre Klasse aus. Auf dem Testset:

NLL=−1N∑i=1Nlog⁡p^(yi∣xi).\text{NLL} = -\frac1N\sum_{i=1}^N \log \hat p(y_i\mid x_i).

(Natürlicher Logarithmus. Bei zwei Klassen ist das genau die binary cross entropy, die die logistische Regression beim Training minimiert, siehe Kapitel 4.)

Verlust eines einzelnen Beispiels:

p^\hat p(wahre Klasse)0,90,50,010
−log⁡p^-\log\hat p0,110,694,61∞\infty

Selbstsicher und falsch ist teuer (confident and wrong is expensive): Wer der wahren Klasse Wahrscheinlichkeit 0 gibt, bekommt unendlichen Verlust, egal wie gut alle anderen Vorhersagen sind.

Los Angeles nochmal​

Welcher naive probabilistische Klassifikator bietet sich an, und welche NLL hat er?

  • „Immer Sonne“ als Wahrscheinlichkeit: p^(Regen)=0\hat p(\text{Regen})=0. Ein einziger Regentag genügt: NLL=∞\text{NLL}=\infty.
  • Jeden Tag p^(Regen)=5/365\hat p(\text{Regen}) = 5/365, also die Basisrate. Dann (hier ausgerechnet):
NLL=−[5365log⁡5365+360365log⁡360365]≈0,0137⋅4,29+0,9863⋅0,0138≈0,072.\text{NLL} = -\Bigl[\tfrac{5}{365}\log\tfrac{5}{365} + \tfrac{360}{365}\log\tfrac{360}{365}\Bigr] \approx 0{,}0137\cdot 4{,}29 + 0{,}9863\cdot 0{,}0138 \approx 0{,}072.

Ein echtes Wettermodell muss also eine NLL unter 0,072 schaffen, sonst ist es nicht besser als die Klimastatistik.

Strictly proper scoring rule

Die NLL (log score) ist eine streng echte Bewertungsregel (strictly proper scoring rule): Ihr Erwartungswert ist nur dann minimal, wenn das Modell die wahren Wahrscheinlichkeiten angibt. Ein Modell kann sich also nicht verbessern, indem es übertrieben sicher oder übertrieben vorsichtig ist. Accuracy und AUC sind nicht proper: Die AUC sieht nur das Ranking, nicht die Kalibrierung. Mehr dazu im DL-Teil.

Ergänzung, warum „proper“? Sei die wahre Regenwahrscheinlichkeit qq und das Modell sagt pp. Erwarteter Verlust L(p)=−qlog⁡p−(1−q)log⁡(1−p)L(p) = -q\log p - (1-q)\log(1-p). Ableiten: L′(p)=−q/p+(1−q)/(1−p)=0  ⟺  p=qL'(p) = -q/p + (1-q)/(1-p) = 0 \iff p=q. Das Minimum liegt genau bei der Wahrheit.

Zusammenfassung​

Folie: 📄 07_roc_xval_bias_var_ws26.pdf, Folie 8

KlassifikatorGrundlageTypische Maße
deterministisch (Perzeptron)KonfusionsmatrixAccuracy, Precision, Recall, F1, …
score-basiert (SVM)ROC-KurveAUC und weitere
probabilistisch (lineare/logistische Regression)LikelihoodNLL pro Beispiel

Die Likelihood ist nicht auf Klassifikation beschränkt: Die NLL funktioniert genauso für Regression (Gauß-Verteilung um die Gerade) und für jedes andere Modell, das eine Verteilung ausgibt.

All diese Maße sind nur dann aussagekräftig, wenn sie auf Daten berechnet werden, die das Modell nicht zum Lernen gesehen hat. Wie man das sauber organisiert, behandelt 5.2 Kreuzvalidierung.