4.6 Qualität von Klassifikationen und Fazit

In den vorangegangenen Abschnitten wurden mehrere Klassifikationsverfahren vorgestellt. Welches für ein gegebenes Problem passend ist oder welches die besten Lösungen erbringt, ist allerdings offengeblieben. Prinzipiell ist es mit einem Tool leicht, verschiedene Verfahren einzusetzen. Aber dann muss immer noch entschieden werden, welches für den produktiven Einsatz gewählt wird, und mit welchen Parametereinstellungen. Im vorliegenden Abschnitt sollen deshalb die folgenden Fragestellungen diskutiert werden

  • Wie erhält man gute Leistungsabschätzungen für eine Klassifikation?
  • Wie ermittelt man die Qualität eines Modells?
  • Wie können wir bei zwei oder mehr vorliegenden Klassifikationsalgorithmen feststellen, welcher die beste Qualität hat?

Generell gilt, dass viele Trainingsdaten die Qualität verbessern. Weiterhin kann man die Qualität eines Algorithmus nur für ein bestimmtes Problem ermitteln, nicht domänenunabhängig. Und schließlich erfolgen Vergleiche zwischen verschiedenen Verfahren aufgrund von Fehlerraten. Andere Informationen, wie Risiken, Interpretierbarkeit oder Komplexität bleiben außen vor. Um derartige Aspekte in die Bewertung zu integrieren, benötigt man Anwendungsspezialisten. Damit bestätigt sich wieder einmal die Aussage, dass Machine Learning ein interdisziplinäres Gebiet ist.

Der erste und wichtigste Lösungsansatz für die Bewertung von Modellen ist die sogenannte Confusion Matrix, die darstellt, wie viele Test-Datensätze mit einem gegebenen Modell falsch / richtig vorhergesagt wurden.

Confusion Matrix

Abbildung 4.17: Confusion Matrix

Die Abbildung 4.17 zeigt die Struktur einer Confusion Matrix für ein Modell mit zwei Klassen {true, false}. TP und TN sind dabei die Anzahlen der korrekt vorhergesagten Datensätze. FP und FN sind die Anzahlen der falsch vorhergesagten Datensätze. Eine 10 im Feld TP würde bedeuten, dass das Modell 10 Datensätze mit true klassifiziert hat, die tatsächlich auch dieser Klasse angehören. Ein 7 im Feld FP würde bedeuten, dass das Modell 7 Datensätze mit true klassifiziert hat, die aber tatsächlich der Klasse false angehören - diese Datensätze wurden also falsch eingeordnet.

Werden in einem Modell mehr als zwei Klassen benötigt, so steigt die Zahl der Zeilen und Spalten der Confusion Matrix entsprechend. Und sollen noch Kosten verrechnet werden, so müssen für jedes Feld, die Zahl der Datensätze mit den Kosten des Feldes multipliziert werden.

Sind die Ergebnisse eines Models nicht zufriedenstellend, so kann man versuchen, dessen Parameter zu optimieren. Möglicherweise sind die ausgewählten Daten nicht repräsentativ, etwa weil die gesuchte Klasse nicht oder zu wenig darin vorkommt. Um dieses Problem zu vermeiden, sollten Trainings- und Testdaten disjunkt sein - man spricht von Holdout-Sample - und die Klassenhäufigkeit sollte in beiden Mengen (näherungsweise) gleich sein. Man spricht dann von einem Stratifizierten Holdout.

Häufig liegen zu wenige Trainingsdaten vor. Dieses Problem lässt sich durch Bootstrapping kompensieren. Dabei werden aus einer Menge von originalen Trainingsdaten eine Menge von Stichproben erstellt, indem mehrfach eine Auswahl der Länge n mit Zurücklegen gezogen wird. Empirische Untersuchen haben gezeigt, dass im Mittel ca. 37% der Datensätze gar nicht gezogen werden, was aber kein Problem darstellt.

Bootstrapping

Abbildung 4.18: Bootstrapping

Möchte man die Fehlerrate eines Modells ermitteln, so bietet sich die Kreuzvalidierung an. Man teilt die vorhandenen Daten in gleichgroße Mengen auf. Jeweils eine Teilmenge wird als Testdatensatz zurückbehalten.

Kreuzvalidierung

Abbildung 4.19: Kreuzvalidierung

Die obige Abbildung veranschaulicht die Kreuzvalidierung mit . In der Praxis hat sich aufgrund empirischer Untersuchungen etabliert. Im Ergebnis werden die Fehlerraten gemittelt, um den Gesamtfehler zu schätzen. Die Teilmengen werden vorab meist stratifiziert.

Die Receiver-Operating-Characteristic-Kurve oder kurz ROC-Kurve ist eine Methode zur Bewertung einer Klassifikation mit zwei Klassen. Die x-Achse repräsentiert die false-positive Rate (also falsch vorhergesagte positive Zuordnung), die y-Achse die true-positive Rate.

ROC-Kurve

Abbildung 4.20: ROC-Kurve

Die Eingabetabelle für eine ROC-Kurve muss eine Spalte mit den tatsächlichen Klassenwerten und eine zweite Spalte mit der Wahrscheinlichkeit dafür enthalten, dass ein Datensatz als aus der ausgewählten Klasse stammend klassifiziert wird. Um eine ROC-Kurve für ein Modell zu erstellen, wird die Eingabetabelle zuerst nach den Klassenwahrscheinlichkeiten für die positive Klasse sortiert, d. h. Zeilen, für die das Modell am sichersten ist, dass es zur positiven Klasse gehört, werden nach vorne sortiert. Dann werden die sortierten Datensätze der Reihe nach überprüft, ob der reale Klassenwert der tatsächlichen positiven Klasse entspricht. In diesem Fall steigt die ROC-Kurve um einen Schritt an, andernfalls wandert sie um einen Schritt nach rechts.

Verwendet man die ROC-Kurve als Qualitätsmaß, so berechnet man die Fläche unter der Kurve (Area under Curve, ROC AUC). Ein Wert nahe 0,5 bzw. eine ROC-Kurve nahe der Diagonalen deutet auf einen Zufallsprozess hin. ROC AUC Werte, die gegen 1 tendieren, bedeuten, dass fast alle Datensätze richtig erkannt wurden. Zum Vergleich zweier Methoden kann also die ROC AUC herangezogen werden.

ROC Kurve - Zusammenhänge

Abbildung 4.21: ROC Kurve - Zusammenhänge

Die obige Abbildung veranschaulicht den Vergleich zwischen zwei Modellen: Sind die beiden Klassen deutlich voneinander zu trennen (links oben), dann bewegt sich die ROC AUC gegen 1 (rechts daneben). Überlappen sie sich dagegen stark (links unten), so bedeutet dies, dass viele Datensätze bei der Klassifikation neuer Datensätze falsch zugeordnet werden. Entsprechend steigt die ROC Kurve von links nach rechts wenig an und die ROC AUC bewegt sich nahe 0,5.

Zusammenfassend gelten für Optimierung und Vergleich verschiedener Modelle folgende Aussagen:
- Wenn nicht genügend Daten vorliegen, dann können Stratified Sampling und Bootstrapping helfen.
- Methoden zur Bewertung von Modellen sind Confusion Matrix, Kreuzvalidierung und ROC-Kurve

Damit endet die Übersicht über die Klassifikation als wichtiges Themenfeld des maschinellen Lernens. Das vorliegende Kapitel begann mit den Prinzipien und der Bedeutung der Klassifikation. Die Klassifikationsverfahren Entscheidungsbaum, K-Nearest-Neigbor und Naive Bayes wurden eingeführt. Weiterhin wurden die Verfahren neuronale Netze, Support Vector Machine und Random Forest kurz angerissen. Und schließlich wurde die Bewertung von Klassifikationsergebnissen diskutiert.