Binäre Klassifizierung
Im Folgenden soll ein Problem betrachtet werden, in dem ein Klassifikator Daten / Objekte in zwei Klassen einteilen soll (Binary classification).
Konkret kann man sich vorstellen, dass wir beispielsweise einen Klassifikator betrachten, der anhand von Blutwerten Personen in zwei Kategorien einteilt:
Klasse | Bedeutung |
---|---|
Positiv | Person ist krank |
Negativ | Person ist gesund |
Konfusionsmatrix
Die Konfusionsmatrix beschreibt die Qualität eines Klassifikators, indem sie die echte Klasseneinteilung der bekannten Trainingsdaten der des Klassifikators in Matrixform gegenüberstellt.
Eine allgemeine Konfusionsmatrix für ein Zwei-Klassen-Problem sieht wie folgt aus:
Positiv (Wirklichkeit) | Negativ (Wirklichkeit) | |
---|---|---|
Positiv (Klassifikator) | True positive [TP] | False positive [FP] (Typ-I Fehler) |
Negativ (Klassifikator) | False negative [FN] (Typ-II Fehler) | True negative [TN] |
Summe | Summe wirklich positiv [SWP] | Summe wirklich negativ [SWN] |
- TP bedeutet hier "True Positives" und bezeichnet die Trainingsbeispiele, die richtigerweise vom Klassifikator als positiv (also mit einer bestimmten Eigenschaft behaftet) klassifiziert wurden.
- TN sind dementsprechend "True Negatives". Der Klassifikator hat diese Beispiele zu recht als negativ klassifiziert. Diese Beispiele besitzen also nicht die gesuchte Eigenschaft.
Ein idealer Klassifikator wäre allein mit diesen beiden Kategorien beschrieben. In der Praxis macht der Klassifikator jedoch Fehler, d.h. Trainingsbeispiele werden z.B. vom Klassifikator als positiv angesehen, obwohl sie in Wirklichkeit negativ sind. Beispielsweise könnte eine Person als krank klassifiziert werden, obwohl sie in Wirklichkeit gesund ist. Die Nebendiagonalen der Konfusionsmatrix beschreiben genau die zwei möglichen Fehlertypen eines binären Klassifikators:
- FP: Diese Beispiele wurden fälschlicherweise als positiv klassifiziert. (Typ-I Fehler)
- FN: Diese Beispiele wurden als negativ klassifiziert, obwohl sie in Wahrheit positiv sind. (Typ-II Fehler)
Beachte: Im Kontext der Klassifikation bezieht sich positiv und negativ in TP, FP, FN, TN immer auf das Ergebnis des Klassifikators und nicht auf die Wirklichkeit. Rate steht immer im Bezug zur Summe wirklich positiver/negativer Elemente.
Sensitivität (Sensitivity), Spezifität (Specificity), Präzision (Precision), Genauigkeit (Accuracy)
Um die Defizite eines Zwei-Klassen-Klassifikators schnell erfassbar zu machen, haben sich die folgenden Größen etabliert:
Qualitätsgröße | Beantwortet | Formel |
---|---|---|
Specificity/True Negative Rate (TNR) | Welchen Anteil wirklich negativer Beispiele erkenne ich als negativ? | |
Recall/Sensitivity/True Positive Rate (TPR) | Welchen Anteil wirklich positiver Beispiele erkenne ich als positiv? | |
Precision | Welche als positiv erkannten Beispiele sind auch wirklich positiv? Streuung der als positiv klassifizierten Werte. | |
False Positive Rate (FPR) | Welchen Anteil wirklich negativer Beispiele erkenne ich nicht als negativ? | |
False Negative Rate (FNR) | Welchen Anteil wirklich positiver Beispiele erkenne ich nicht als positiv? | |
Accuracy | Wie groß ist der Anteil richtig erkannter Beispiele an der Gesamtmenge? |
Die Werte von Spezifität, Sensitivität, Präzision und Genauigkeit liegen zwischen 0 und 100%. Werte nahe 100% lassen auf eine gute Qualität des Klassifikators schließen.
Wir können uns diese Größen für das obige Beispiel anschauen:
Klasse | Krank (Wirklichkeit) | Gesund (Wirklichkeit) |
---|---|---|
Krank (Klassifikator) | 95 | 7 |
Gesund (Klassifikator) | 11 | 80 |
Summe | 106 | 87 |
Die Spezifität beträgt hier 80/87, also ca. 92%. Die Sensitivität beträgt 95/106, was etwa 90% sind. Die Präzision liegt mit 95/(95+7) bei etwa 93% und die Genauigkeit bei (95+80)/(106+87), was ungefähr 90% sind.
Das Beispiel zeigt auch, dass Klassifikatoren mit einer vergleichsweisen hohen Sensitivität und Spezifität (über 90%) doch eine beachtliche Anzahl an Fehlklassifikationen erzeugen können. Deshalb ist je nach Anwendungsfall auf die passende Sensitivität und Spezifität zu achten.
Klassifikationsschwellwert (Threshold)
Oft ist die von einem Klassifizierer für ein Objekt erkannte Klasse auch mit einer gewissen Klassifikationswahrscheinlichkeit verknüpft. Diese gibt an, wie sicher sich der Klassifizierer mit seiner Einteilung ist. Je nach Klassifikationsverfahren kann es notwendig sein, dass ein Schwellwert definiert werden muss, der die Mindestwahrscheinlichkeit definiert ab wann ein Objekt positiv ist (z.B. ab welcher Klassifikationswahrscheinlichkeit kann eine Person als krank angesehen werden).
Dieser Schwellwert (threshold) kann Auswirkungen auf die Sensitivität, Spezifität und Genauigkeit haben:
-
Verringerung des Schwellwerts erhöht i.d.R. die Menge positiver Klassifizierungen (sowohl TP als auch FP). Dies führt meistens aber auch dazu, dass die Zahl der falsch Positiven (FP) ansteigt. Das bedeutet letztendlich, dass die Sensitivität steigt aber die Spezifität abnimmt (muss nicht im gleichen Maße passieren).
-
Erhöhung des Schwellwerts erhöht i.d.R. die Menge negativer Klassifizierungen (sowohl TN als auch FN). Dies führt meistens aber auch dazu, dass die Zahl der echt Positiven (TP) abfällt und das heißt wiederum, dass die Sensitivität abnimmt. Im Gengenzug ist die Spezifität angestiegen.
Je nach Schwellwert befinden sich also Sensitivität und Spezifität im Wettstreit.
Es ist zu erwähnen, dass sich die Genauigkeit (Precision) bei unterschiedlichen Schwellwerten ändern kann. Das Ausmaß der Änderung ist aber meistens geringer als bei der Sensitivität und Spezifität.
Ein guter Startpunkt für den Schwellwert bei der binären Klassifikation ist 50% (Allgemein: 1/Klassenanzahl).
Empfänger-Operations-Charakteristik (ROC) und Fläche unter Kurve (AUC)
Die Sender-Operations-Charakteristik (Receiver Operating Characteristic, ROC) ist eine Kurve, die beschreibt wie sich die falsch positive Rate (FPR) gegenüber der richtig positiven Rate (TPR) verhält, wenn verschiedene Klassifikationsschwellwerte eingestellt werden. Die Fläche unter dieser charakteristischen Kurve wird als AUC (Area Under Curve) bezeichnet. Eine solche ROC-AUC Kurve ist auf der rechten Seite gezeigt.
Je größer die Fläche der AUC ist, desto besser funktioniert der Klassifikator. Ein Klassifikator, dessen AUC 0 beträgt, wäre ein perfekter Anti-Klassifikator (also durchaus von praktischem Nutzen). Besonders schlecht / nichtssagend wäre ein Klassifikator dann, wenn die ROC mit der gestrichelten Linie zusammenfällt. Für einen solchen Klassifikator gäbe es insbesondere einen Schwellenwert, für den es absolut zufällig ist ob ein positives Element als positiv bzw. ein negatives Element als negativ erkannt wird.
Anhand der ROC Kurve eignen sich einige Schwellwerte als gute Ausgangspunkte: - Der ROC-Punkt mit dem kleinsten Abstand zu (FPR=0,TPR=1). Dieser kommt dem optimalen Klassifikatorwert von (FPR=0,TPR=1) am nähesten. - Der ROC Punkt der die Nebendiagonale (Gerade (FPR=0,TPR=1) zu (FPR=1,TPR=0)) schneidet. (Entspricht dem Equal error rate Schwellwert)
Gleich-Fehler-Rate (Equal error rate, EER)
Ein Klassifikator operiert am ausgewogensten, wenn Sensitivität und Spezifität gleich (hoch) sind. Anders ausgedrückt bedeutet dies, dass ein guter Ausgleichspunkt dort liegt, wo die falsch positiven Rate (FPR) und die falsch negativen Rate (FNR) gleich (niedrig) sind.