Mehrklassenklassifizierung
Hinweis
Weitere Details finden Sie auf der Registerkarte "Text und Bilder ".
Die Mehrklassenklassifizierung wird verwendet, um vorherzusagen, zu welcher von mehreren möglichen Klassen eine Beobachtung gehört. Als überwachte maschinelle Lerntechnik folgt es demselben iterativen Prozess von Training, Validierung und Bewertung wie bei Regression und binärer Klassifizierung, wobei eine Teilmenge der Trainingsdaten zurückgehalten wird, um das trainierte Modell zu validieren.
Beispiel : Klassifizierung mit mehreren Klassen
Multiklassenklassifizierungsalgorithmen werden verwendet, um Wahrscheinlichkeitswerte für mehrere Klassenbeschriftungen zu berechnen, sodass ein Modell die wahrscheinlichste Klasse für eine bestimmte Beobachtung vorhersagen kann.
Lassen Sie uns ein Beispiel untersuchen, in dem wir einige Beobachtungen von Pinguinen haben, in denen die Flipperlänge (x) jedes Pinguins aufgezeichnet wird. Für jede Beobachtung umfassen die Daten die Pinguinarten (y), die wie folgt codiert sind:
- 0: Adelie
- 1: Gentoo
- 2: Kinnriemen
Hinweis
Wie bei früheren Beispielen in diesem Modul würde ein reales Szenario mehrere Featurewerte (x) enthalten. Wir verwenden ein einzelnes Feature, um die Dinge einfach zu halten.
|
|
|---|---|
| Flipperlänge (x) | Arten (y) |
| 167 | 0 |
| 172 | 0 |
| 225 | 2 |
| 197 | 1 |
| 189 | 1 |
| 232 | 2 |
| 158 | 0 |
Schulung eines Klassifikationsmodells mit mehreren Klassen
Um ein Klassifizierungsmodell mit mehreren Klassen zu trainieren, müssen wir einen Algorithmus verwenden, um die Schulungsdaten an eine Funktion anzupassen, die einen Wahrscheinlichkeitswert für jede mögliche Klasse berechnet. Es gibt zwei Arten von Algorithmus, die Sie verwenden können, um dies zu tun:
- OvR-Algorithmen (One-vs-Rest)
- Multinomiale Algorithmen
OvR-Algorithmen (One-vs-Rest)
One-vs-Rest-Algorithmen trainieren eine binäre Klassifizierungsfunktion für jede Klasse, wobei jede die Wahrscheinlichkeit berechnet, dass die Beobachtung ein Beispiel für die Zielklasse ist. Jede Funktion berechnet die Wahrscheinlichkeit, dass die Beobachtung zu einer bestimmten Klasse gehört, verglichen mit jeder anderen Klasse. Für unser Klassifizierungsmodell für Pinguinarten würde der Algorithmus im Wesentlichen drei binäre Klassifizierungsfunktionen erstellen:
- f0(x) = P(y=0 | x)
- f1(x) = P(y=1 | x)
- f2(x) = P(y=2 | x)
Jeder Algorithmus erzeugt eine Sigmoidfunktion, die einen Wahrscheinlichkeitswert zwischen 0,0 und 1,0 berechnet. Ein Modell, das mit dieser Art von Algorithmus trainiert wird, prognostiziert die Klasse für die Funktion, die die höchste Wahrscheinlichkeitsausgabe erzeugt.
Multinomiale Algorithmen
Als alternativer Ansatz besteht die Verwendung eines multinomialen Algorithmus, der eine einzelne Funktion erstellt, die eine mehrwertige Ausgabe zurückgibt. Die Ausgabe ist ein Vektor (ein Array von Werten), der die Wahrscheinlichkeitsverteilung für alle möglichen Klassen enthält – mit einer Wahrscheinlichkeitsbewertung für jede Klasse, die bei einer Summe bis zu 1,0 addiert wird:
f(x) =[P(y=0|x), P(y=1|x), P(y=2|x)]
Ein Beispiel für diese Art von Funktion ist eine Softmax-Funktion , die eine Ausgabe wie das folgende Beispiel erzeugen könnte:
[0.2, 0.3, 0.5]
Die Elemente im Vektor stellen die Wahrscheinlichkeiten der Klassen 0, 1 bzw. 2 dar; in diesem Fall ist die Klasse mit der höchsten Wahrscheinlichkeit 2.
Unabhängig davon, welche Art von Algorithmus verwendet wird, verwendet das Modell die resultierende Funktion, um die wahrscheinlichste Klasse für einen bestimmten Satz von Features (x) zu bestimmen und die entsprechende Klassenbezeichnung (y) vorherzusagen.
Auswerten eines Mehrklassenklassifizierungsmodells
Sie können einen Klassifizierer mit mehreren Klassen auswerten, indem Sie binäre Klassifizierungsmetriken für jede einzelne Klasse berechnen. Alternativ können Sie aggregierte Metriken berechnen, die alle Klassen berücksichtigen.
Nehmen wir an, dass wir unseren Klassifizierer mit mehreren Klassen überprüft und die folgenden Ergebnisse erhalten haben:
| Flipperlänge (x) | Tatsächliche Art (y) | Vorhergesagte Arten (ŷ) |
|---|---|---|
| 165 | 0 | 0 |
| 171 | 0 | 0 |
| 205 | 2 | 1 |
| 195 | 1 | 1 |
| 183 | 1 | 1 |
| 221 | 2 | 2 |
| 214 | 2 | 2 |
Die Verwirrungsmatrix für einen Klassifizierer mit mehreren Klassen ähnelt dem eines binären Klassifizierers, mit der Ausnahme, dass die Anzahl der Vorhersagen für jede Kombination von vorhergesagten (ŷ) und tatsächlichen Klassenbeschriftungen (y) angezeigt wird:
Aus dieser Verwirrungsmatrix können wir die Metriken für jede einzelne Klasse wie folgt ermitteln:
| Klasse | Richtig positiv | Echtes Negativ | Falsch positiv | Falsch negativ | Genauigkeit | Abruf | Präzision | F1-Bewertung |
|---|---|---|---|---|---|---|---|---|
| 0 | 2 | 5 | 0 | 0 | 1,0 | 1,0 | 1,0 | 1,0 |
| 1 | 2 | 4 | 1 | 0 | 0.86 | 1,0 | 0,67 | 0,8 |
| 2 | 2 | 4 | 0 | 1 | 0.86 | 0,67 | 1,0 | 0,8 |
Um die Gesamtgenauigkeits-, Rückruf- und Genauigkeitsmetriken zu berechnen, verwenden Sie die Summe der TP-, TN-, FP- und FN-Metriken:
- Gesamtgenauigkeit = (13+6)÷(13+6+1+1) = 0,90
- Gesamtrückruf = 6÷(6+1) = 0,86
- Gesamtgenauigkeit = 6÷(6+1) = 0,86
Die F1-Gesamtbewertung wird unter Verwendung der Gesamtrückruf- und Gesamtgenauigkeitsmetriken berechnet:
- F1-Gesamtbewertung = (2x0,86x0,86)÷(0,86+0,86) = 0,86