Multiklassen-Klassifizierung

Unter Multiklassen-Klassifizierung (Multiclass Classification) versteht man Klassifizierungsprobleme, bei denen Daten in genau eine von drei oder mehr möglichen Klassen eingeordnet werden sollen. Versucht man beispielsweise Bildern von Äpfeln, Birnen, und Orangen die jeweils korrekte Frucht zuzuordnen, so steht man vor einem Multiklassen-Klassifizierungsproblem.

Strategien zur Multiklassen-Klassifizierung

Es gibt natürlich verschiedene Strategien und Verfahren um ein Multiklassen-Klassifizierungsproblen anzugehen. Einige Verfahren, z.B. SVC oder auch ein einfaches Perzeptron, sind speziell für binäre Klassifizierungsprobleme ausgelegt, können aber auch zur Multiklassen-Klassifzierung verwendet werden indem wir das Problem auf mehrere binäre Klassifizierungen reduzieren (siehe Einer gegen alle und nachfolgende Abschnitte). Andere Verfahren können bereits inhärent mit mehr als zwei Klassen umgehen. Zu diesen Verfahren zählen unter anderem:

Im Folgenden stellen wir kurz einige Strategien vor, um ein Multiklassen-Klassifizierungsproblem in mehrere binäre Klassifizierungsprobleme zu überführen.

Einer gegen alle (One-vs.-all, OvA)

Bei "Einer gegen alle" (One-vs.-all, OvA) wird für jede Klasse ein binärer Klassifikator trainiert, der die gegebene Klasse von allen anderen Klassen unterscheiden können soll. Am Ende wird dann die Klasse gewählt, deren binärer Klassifikator "ausschlägt". In der Praxis können mehrere der Klassifikatoren (oder auch gar keiner) ein positives Ergebnis liefern. Daher ist ein nachgelagerter Prozess notwendig, der beispielsweise anhand von Klassifikationswahrscheinlichkeiten (Wie sicher sind sich die einzelnen Klassifikatoren jeweils mit ihrer Zuordnung?) eine abschließende eindeutige Entscheidung trifft.

Potenzielle Nachteile:

Einer gegen einen (One-vs.-One, OvO)

Bei "Einer gegen einen" (One-vs.-One, OvO) wird für jedes Paar von Klassen ein binärer Klassifikator trainiert, der zwischen den beiden Klassen unterscheiden können soll. Am Ende wird dann die Klasse gewählt, für die sich die meisten Klassifikatoren entscheiden. In der Praxis können mehrere Klassen gleich viele "Stimmen" erhalten, weshalb eine Quantifizierung des Vertrauens in die Entscheidung der Klassifikatoren notwendig ist um eine eindeutige Entscheidung treffen zu können.

Potenzielle Nachteile:

Fehlerkorrigierender Output Code

Die verschiedenen Klassen werden durch Binärfolgen einer festen Länge codiert (Codewörter), wobei die Anzahl der Bits in den Binärfolgen i.d.R. größer ist als die Zahl der Klassen. Pro Bit in der Binärfolge wird ein binärer Klassifikator trainiert. Einem neuen Objekt wird dann diejenige Klasse zugeordnet, deren Binärcode am nächsten an der vorhergesagten Binärfolge liegt. Die Motivation hinter dieser Strategie ist, dass bei einer Binärfolgenlänge, die größer als die Anzahl der Klassen ist, Fehler einzelner Klassifikatoren von den anderen Klassifikatoren korrigiert werden können. Damit diese fehlerkorrigierende Funktion auch tatsächlich zum Tragen kommt, ist es wichtig, dass die verschiedenen Klassifikatoren unkorreliert sind, also unterschiedliche Eigenschaften der Objekte erlernen. Unkorrelierte Klassifikatoren werden z.B. durch eine geschickte Wahl der Codewörter begünstigt.

Potenzielle Nachteile:

Hierarchische Klassifizierung

Die Idee hinter hierarchischer Klassifizierung ist, einen Baum zu konstruieren, dessen Blätter die verschiedenen Klassen sind. Ein möglicher Aufbau wäre z.B. auf der ersten Ebene zwischen Klasse A und den restlichen Klassen, dann auf der zweiten Ebene zwischen Klasse B und den verbleibenden restlichen Klassen, usw. zu unterscheiden, was dann einer Art OvA mit Hierarchie entsprechen würde. Es sind aber auch ganz andere Baumstrukturen vorstellbar und der konkrete Anwendungsfall könnte eine bestimmte Baumstruktur nahelegen: Wenn wir z.B. verschiedene Hunde- und Katzenarten klassifizieren wollten, könnten wir in der ersten Ebene zwischen Hunden und Katzen unterscheiden und in der zweiten Ebene die konkrete Gattung bestimmen.

Evaluation von Multiklassen-Klassifikatoren

Die Konfusionsmatrix zeigt den Zusammenhang zwischen den vom Klassifikator bestimmten Klassenzugehörigkeiten und den tatsächlichen Klassenzugehörigkeiten auf. Im nachfolgenden Beispiel beziehen sich die Spalten auf die vom Klassifikator vergebenen Klassenzugehörigkeiten und die Zeilen auf die tatsächlichen Klassenzugehörigkeiten am Beispiel eines Klassifikators für den MNIST-Datensatz von handgeschriebenen Ziffern 0-9.

0 (Klassifikator) 1 (Klassifikator) 2 (Klassifikator) 3 (Klassifikator) 4 (Klassifikator) 5 (Klassifikator) 6 (Klassifikator) 7 (Klassifikator) 8 (Klassifikator) 9 (Klassifikator)
0 (Wirklichkeit) 970 1 1 0 0 2 2 1 3 0
1 (Wirklichkeit) 0 1124 2 3 0 2 3 0 1 0
2 (Wirklichkeit) 6 0 999 3 4 0 4 8 7 1
3 (Wirklichkeit) 0 0 11 973 0 7 0 8 7 4
4 (Wirklichkeit) 1 0 1 0 957 0 5 0 2 16
5 (Wirklichkeit) 5 0 0 11 2 859 7 2 4 2
6 (Wirklichkeit) 7 3 1 0 5 5 935 0 2 0
7 (Wirklichkeit) 1 3 21 1 2 0 0 989 4 7
8 (Wirklichkeit) 3 1 4 3 5 6 3 4 935 10
9 (Wirklichkeit) 6 5 2 12 10 3 1 5 4 961

Die Zahl in der i-ten Zeile und j-ten Spalte der Matrix gibt an, wie oft der Klassifikator die j-te Klasse vorhergesagt hat für Objekte, die in Wirklichkeit der Klasse i angehören. Insbesondere erhalten wir also die Gesamtzahl der richtig klassifizierten Objekte indem wir die Diagonaleinträge summieren.

Wie bei binären Klassifizierungen sind Präzision und Sensitivität wichtige Metriken, um die Güte eines Klassifikators zu quantifizieren. Allerdings gibt es im Multiklassen-Fall nicht nur einen Wert für Präzision und Sensitivität, sondern die beiden Größen sind pro Klasse definiert. Als skalare Kenngröße, die sowohl Präzision als auch Sensitivität berücksichtigt, wird häufig der F1-Wert betrachtet. Möchte man hierbei Präzision und Sensitivität unterschiedlich gewichten, so kann man den Fbeta-Wert als Verallgemeinerung des F1-Werts verwenden.

Da Präzision, Sensitivität und F1-Wert (oder allgemeiner Fbeta-Wert) pro Klasse definiert sind, müssen wir die Werte mitteln um auf eine einzige skalare Kenngröße für die Güte des Klassifikators zu kommen. Hier wird zwischen dem Makro-Mittel und dem gewichteten Mittel unterschieden.

Haben wir für Äpfel eine Präzision von 80%, für Orangen eine von 70%, und für Birnen eine Präzision von 90%, so ist das Makro-Mittel für die Sensitivität also 80%. Das gewichtete Mittel erhalten wir, wenn wir die Kenngröße pro Klasse durch die Anzahl der Beobachtungen pro Klasse teilen. Haben wir also 20 Äpfel, 30 Orangen und 50 Birnen, und sind die Präzisionen so wie eben, dann berechnet sich das gewichtete Mittel zu (20x80% + 30x70% + 50x90%)/(20+30+50) = 82%. Auf selbige Art können wir das Makro-Mittel und das gewichtete Mittel für die Sensitivität und den F1-Wert berechnen.

Die Genauigkeit (Accuracy) ist übrigens über alle Klassen hinweg der Anteil der Objekte, die der Klassifikator richtig klassifiziert hat.

Umgang mit unbalancierten Datensätzen

Enthalten in einem Datensatz für ein Multiklassen-Klassifizierungsproblem nicht alle Klassen (in etwa) gleich viele Objekte, sondern einige Klassen wesentlich mehr als andere, so sprechen wir von einem unbalancierten Datensatz. Ein unbalancierter Datensatz kann beim Trainieren eines Klassifikators Probleme bereiten, da häufig Klassen mit mehr Objekten bevorzugt werden. Liegen für einen Datensatz etwa 99% der Beobachtungen in Klasse A und nur 1% der Beobachtungen in Klasse B, so hat der Klassifikator, der jedem Objekt die Klasse A zuordnet, bereits eine Genauigkeit von 99% und wird damit bei einer naiven Bewertungsstrategie vermutlich besser bewertet als viele Klassifikatoren, die auch häufiger mal Klasse B auswählen.

Die folgenden Strategien werden häufig zum Umgang mit unbalancierten Datensätzen verwendet:

Sie sind dabei, unsere Webseite über einen externen Link zu verlassen. Bitte beachten Sie, dass der Inhalt der verlinkten Seite außerhalb unserer Kontrolle liegt.

Cookies und andere (Dritt-)Dienste

Diese Website speichert Cookies auf Ihrem Computer nur, wenn Sie dem ausdrücklich zustimmen. Bei Zustimmung werden insbesondere auch Dritt-Dienste eingebunden, die zusätzliche Funktionalitäten, wie beispielsweise die Buchung von Terminen, bereitstellen. Diese Cookies und Dienste werden verwendet, um Informationen darüber zu sammeln, wie Sie mit unserer Website interagieren, und um Ihre Browser-Erfahrung zu verbessern und anzupassen. Zudem nutzen wir diese Informationen für Analysen und Messungen zu unseren Besuchern auf dieser Website und anderen Medien. Weitere Informationen zu den von uns verwendeten Cookies und Dritt-Diensten finden Sie in unseren Datenschutzbestimmungen.