Überwachtes Lernen — Wann ist ein Modell “gut genug”?

Stefan Seegerer
7 min readApr 22, 2021

Beim überwachten Lernen geht es darum, eine Zuordnung zwischen Ein- und Ausgabedaten zu lernen. Eine häufige Anwendung stellen sogenannte Klassifikationsaufgaben dar, bei denen die Klassenzugehörigkeit für einen gegebenen Datenpunkt vorhergesagt werden soll.

In der Trainingsphase lernt ein überwachtes Lernverfahren auf Basis bekannter Beispiele eine Zuordnung von Eingabe zu Ausgabe. Diese wird in einem Modell gespeichert.

Um die Güte des Modells bestimmen zu können, werden nun weitere Daten herangezogen. Dazu wird das Modell auf die Testdaten angewendet und die vom Modell vorhergesagten mit den eigentlichen Klassenzugehörigkeiten verglichen. Dafür stehen uns verschiedene sogenannte Metriken zur Verfügung, wobei unterschiedliche Anwendungsfälle unterschiedliche Metriken erfordern.

In diesem Blogpost wollen wir uns drei sehr bekannte Metriken (Genauigkeit, Trefferrate und Sensitivität), konkrete Beispiele und die Bedeutung ansehen. Zur Vereinfachung existieren in allen Fällen jeweils 2 Klassen (es handelt sich also um binäre Klassifikationsprobleme).

Die Ergebnisse des Modells sind jeweils als Konfusionsmatrix dargestellt. Bei einer Konfusionsmatrix werden die vom Modell vorhergesagten Klassen (Vorhergesagt, vgl. Abbildung) spaltenweise und die eigentlich vorliegenden Klassen (Tatsächlich, vgl. Abbildung) zeilenweise angetragen. Um mehr über die unterschiedlichen Metriken zu erfahren, konzentrieren wir uns auf die folgenden drei Beispiele:

  • Beispiel 1: Ein Modell wurde darauf trainiert, zu erkennen, ob ein Bild eine Katze oder einen Hund zeigt. Das Modell hat von 48 Katzen tatsächlich 41 Katze richtig vorhersagt, jedoch 7 fälschlicherweise als Hund klassifiziert. Bei den Hunden wurden 49 richtig als Hund vorhersagt, auf 3 der Bilder, die eigentlich Hunde zeigen, wurden jedoch Katzen erkannt.
Konfusionsmatrix für den Katzendetektor
  • Beispiel 2: Im zweiten Beispiel wurde ein Modell trainiert, das für eine gegebene Person entscheidet, ob diese krank oder gesund ist. Von insgesamt 10 kranken Personen wurden 2 richtig als krank vorhergesagt, 8 als gesund. Alle 990 gesunden Personen wurden richtig als gesund klassifiziert.
Konfusionsmatrix für die Krankheitserkennung
  • Beispiel 3: Beim dritten Beispiel handelt es sich um einen Spam-Filter, der E-Mails als “Spam” oder als “kein Spam” klassifiziert. 8 Mails, bei denen es sich wirklich um Spam handelt, werden auch als solcher klassifiziert. 5 Mails hingegen werden fälschlicherweise als Spam klassifiziert. 2 Spammails rutschen sogar durch unseren Spamfilter durch und werden nicht als Spam vorhersagt, obwohl es sich um Spam handelt. 21 reguläre Mails hingegen werden korrekt als “kein Spam” klassifiziert.
Konfusionsmatrix für den Spam-Filter

Ergänzender Hinweis: Bei Metriken und Konfusionsmatrizen finden sich häufig Begriffe wie “true positive” oder “false negative”. Dahinter verbergen sich die vier Felder, die in den obigen Konfusionsmatrizen farblich hinterlegt sind: Bei binären Klassifikationsproblemen ist es oftmals leichter, statt von zwei Klassen wie “Spam” und “kein Spam”, von ja (“Spam”) und nein (“kein Spam”) zu sprechen. Daraus ergeben sich dann direkt:

  • Richtig positiv / True positive (TP): Fälle, in denen das Modell ja vorhergesagt hat und die tatsächliche Klasse ebenfalls ja war.
  • Richtig negativ / True negative (TN): Fälle, in denen das Modell nein vorhergesagt hat und die tatsächliche Klasse ebenfalls nein war.
  • Falsch positiv / False positive (FP): Fälle, in denen das Modell ja vorhergesagt hat und die tatsächliche Klasse aber nein war.
  • Falsch negativ / False negative (FN): Fälle, in denen das Modell nein vorhergesagt hat und die tatsächliche Klasse aber ja war.

Genauigkeit (accuracy)

Die Genauigkeit gibt an, wie viele aller Fälle korrekt klassifiziert wurden, also:

Genauigkeit (accuracy)

Damit lässt sich nun die Genauigkeit für die obigen Beispiele berechnen:

  • Beispiel 1: Die Anzahl der richtig vorhergesagten Katzen (41) und der richtig vorhergesagten Hunde (49) wird ins Verhältnis mit der Zahl der insgesamt gesehenen Bilder (100) gesetzt.
  • Beispiel 2: Die Anzahl der richtig vorhergesagten kranken Personen (2) und der richtig vorhergesagten gesunden Personen(990) wird ins Verhältnis mit der Zahl der insgesamt untersuchten Personen (1000) gesetzt.
  • Beispiel 3: Die Anzahl der richtig als Spam klassifizierten Mails (8) und der richtig als regulär klassifizierten Mails (21) wird ins Verhältnis mit der Zahl der insgesamt untersuchten Mails (36) gesetzt.

Genauigkeit stellt die allgemeinste Metrik dar. Bei der Erkennung von Katzen sind 90% Genauigkeit schon mal sehr erfreulich. Bei unseren Mails werden ungefähr 81% richtig eingeordnet. Unser Modell zur Erkennung kranker Personen liefert aber sogar eine Genauigkeit von 99,2%. Klingt erst mal ziemlich vielversprechend … aber Moment! Werfen wir noch einmal einen Blick auf die genauen Zahlen. Dabei fällt auf, dass insgesamt nur 10 der 1000 untersuchten Personen krank waren. Davon hat unser Modell aber 8 nicht richtig vorhergesagt. Das Modell verfügt dennoch über eine höhere Genauigkeit als unser Katzendetektor: Genauigkeit erzählt uns also nicht die ganze Wahrheit, vor allem dann nicht, wenn die Klassen (wie im Fall von krank und gesund) ungleich verteilt sind. Daher wollen wir uns nun zwei weitere Metriken ansehen, die diesem Problem eher gewachsen sind.

Trefferquote (recall)

Die Trefferquote (recall) misst, wie viele der positiven Fälle richtig vorhergesagt wurden:

Trefferrate (recall)

Mit dieser Formel wollen wir nun die Trefferrate für unsere Beispiele bestimmen:

  • Beispiel 1: Die Anzahl der richtig vorhergesagten Katzen (41) wird mit der Anzahl der Katzen im gesamten Datensatz (48) ins Verhältnis gesetzt.
  • Beispiel 2: Die Anzahl der richtig vorhergesagten kranken Personen(2) wird mit der Anzahl der kranken Personen (10) ins Verhältnis gesetzt.
  • Beispiel 3: Die Anzahl der richtig klassifizierten Spam-Mails (8) wird mit der Anzahl aller Spam-Mails (10) ins Verhältnis gesetzt. Es werden also 80% der Spammails “getroffen”, 20% bleiben unentdeckt.

Betrachten wir die Trefferrate als Metrik, zeigt sich, wie schlecht unser Modell zur Krankheitserkennung arbeitet. Nur 20% aller Kranken wurden richtig vorhergesagt. Bei einer gefährlichen und hoch infektiösen Krankheit ein Unding! Unser Spam-Filter scheint mit 80% Trefferrate hingegen zufriedenstellend zu arbeiten. Aber Moment! Fünf Mails wurden fälschlicherweise als Spam klassifiziert und sind niemals in unserem Posteingang gelandet. Was machen wir aber, wenn unter diesen 5 Mails die wichtige Zusage zum neuen Job oder eine wichtige Botschaft eines alten Schulfreundes war? Schauen wir uns für solche Fälle noch eine weitere Metrik an.

Präzision (precision)

Die Präzision gibt an, wie gut (oder wie präzise) das Modell positive Fälle erkennt, also beispielsweise wie viele der als Spam eingestuften Mails wirklich Spam sind.

Präzision (precision)

Im Unterschied zu Trefferquote (recall) misst die Präzision also nicht, welche Datenpunkte, die tatsächlich zu Klasse 1 gehören, das Modell richtig “trifft”, sondern wie präzise die Vorhersagen sind.

  • Beispiel 1: Die Anzahl der richtig klassifizierten Katzen (41) wird mit der vom Modell insgesamt als Katze vorhergesagten Bilder (44) ins Verhältnis gesetzt.
  • Beispiel 2: Die Anzahl der richtig als krank klassifizierten Personen (2) wird mit der Zahl an insgesamt als krank eingestuften Personen (2) ins Verhältnis gesetzt.
  • Beispiel 3: Die Anzahl der richtig als Spam eingestuften Mails (8) wird mit der Zahl der Mails (13), bei denen Spam vorhersagt wurde, ins Verhältnis gesetzt. Klassifiziert unser Modell also eine E-Mail als Spam, liegt es in circa 62% der Fälle richtig. Sonderlich “präzise” ist es aber nicht, 38% der Vorhersagen sind nämlich falsch.

Betrachten wir die Präzision, zeigt sich, dass wir endlich auch ein sinnvolles Maß für unseren Spamfilter gefunden haben, das es zu verbessern gilt, denn noch ist unser Spamfilter nicht sehr “präzise” und 38% aller Spam-Einstufungen falsch. Für unsere Krankheitserkennung ergibt sich eine Präzision von 100%. Wir wissen aber bereits, dass unser Modell nur 2 kranke Personen richtig, dafür aber 8 kranke Personen falsch klassifiziert hat. Präzision ist in diesem Fall also keine passende Metrik.

Insgesamt sind Metriken ein sehr hilfreiches Werkzeug, um bei überwachtem Lernen die Güte eines Modells zu beurteilen. Dabei ist je nach Anforderung eine Metrik besser geeignet als eine andere Metrik. Während Genauigkeit bei gleicher Klassenverteilung hilfreich ist, bietet sich die Trefferrate (recall) dann an, wenn hohe Kosten durch nicht richtig klassifizierte Datenpunkte (etwa kranke Personen) entstehen. Präzision (precision) eignet sich dann, wenn die Kosten für fälschlich als positiv klassifizierte Datenpunkte sehr hoch sind (also bspw. eine für uns wichtige Mail als Spam klassifiziert wird). Darüber hinaus gibt es viele weitere Metriken, bspw. das sog. F1-Maß, das auf Präzision (precision) und Trefferquote (recall) gleichermaßen aufbaut.

Metriken sind aber immer nur ein Maß für das, was wir mit unserem Modell eigentlich erreichen wollen. Verlassen wir uns ausschließlich auf Metriken, könnten viele andere wichtige Dinge vernachlässigt werden (etwa das Ausschließen oder Reduzieren negativer Konsequenzen für bestimmte Personengruppen) (vgl. auch Thomas & Uminsky, 2020).

--

--