Imbalanced Learning

1. Einführung

Was haben Datensätze in Bereichen wie
Betrugserkennung im Banking, Echtzeitgebote
im Marketing oder Intrusion Detection in
Netzwerken gemeinsam?

Daten, die in diesen Bereichen verwendet
werden, weisen oft weniger als 1% seltener,
aber „interessanter“ Ereignisse auf (z. B.
Betrüger, die Kreditkarten verwenden, Nutzer
klicken auf Werbung oder beschädigte Server
scannen ihr Netzwerk). Die meisten
Algorithmen zum maschinellen Lernen
funktionieren jedoch nicht gut mit
unausgewogenen Datensätzen. Die folgenden
sieben Techniken können Ihnen dabei helfen,
einen Klassifikator so zu trainieren, dass er die
abnormale Klasse erkennt.

Abbildung 1 : Unausgewogene Zielvariable

 

2. Die richtige Metriken verwenden

Die Anwendung unangemessener
Bewertungsmetriken für Modelle, die mit
unausgewogenen Daten generiert werden, kann
gefährlich sein. Gehen wir davon aus, dass die
Trainingsdaten so sind wie in der obigen Grafik.
Wenn Genauigkeit (Accuracy) verwendet wird,
um die Güte eines Modells zu messen, wird ein
Modell, das alle Testproben in „0“ klassifiziert,
eine ausgezeichnete Genauigkeit (99,8%)
aufweisen, aber offensichtlich wird dieses
Modell keine wertvollen Informationen für uns
liefern.

In diesem Fall können andere alternative
Bewertungsmetriken angewendet werden wie:
Präzision / Spezifität: Wie viele ausgewählte
Instanzen sind relevant. Recall / Sensitivity:

Wie viele relevante Instanzen sind ausgewählt.
F1-Ergebnis: harmonisches Mittel der
Präzision und des Abrufs. MCC: Korrelationskoeffizient
zwischen den beobachteten und vorhergesagten binären
Klassifikationen. AUC: Beziehung zwischen
der echt positiven Rate und der falsch positiven
Rate.

 

3. Resampeln des Trainingssatz

Neben der Verwendung verschiedener
Bewertungskriterien kann auch daran gearbeitet
werden, unterschiedliche Datensätze zu
erhalten. Zwei Ansätze, um einen ausgewogenen
Datensatz aus einem unausgewogenen
Datensatz herauszufiltern, sind Under-sampling
und Over-sampling.

Under-Sampling gleicht den Datensatz aus,
indem die Größe der reichlich vorhandenen
Klasse reduziert wird. Diese Methode wird
verwendet, wenn die Datenmenge ausreicht.
Indem alle Stichproben in der seltenen Klasse
gehalten werden und zufällig eine gleiche
Anzahl von Stichproben in der reichlich
vorhandenen Klasse ausgewählt wird, kann ein
ausgewogener neuer Datensatz zur weiteren
Modellierung abgerufen werden.

Im Gegensatz dazu wird Over-sampling
verwendet, wenn die Datenmenge nicht
ausreicht. Es versucht, den Datensatz
auszugleichen, indem die Größe seltener
Proben erhöht wird. Anstatt reichlich
vorhandene Proben zu entfernen, werden neue
seltene Proben erzeugt, durch Methoden wie
Bootstrapping oder SMOTE (Synthetic
Minority Over-Sampling Technique)

Zu beachten ist, dass es keinen absoluten
Vorteil einer Resampling-Methode gegenüber
einer anderen gibt. Die Anwendung dieser
beiden Methoden hängt vom Anwendungsfall
und dem Datensatz selbst ab. Eine Kombination
von Über- und Unterstichproben ist oft auch
erfolgreich.

 

4. K-fold Kreuzvalidierung nutzen

Es ist anzumerken, dass die Kreuzvalidierung
ordnungsgemäß angewendet werden sollte,
während die Over-sampling zur Lösung von

Ungleichgewichtsproblemen eingesetzt wird.
Auch zu beachten ist, dass bei Over-sampling
seltene Stichproben beobachtet werden und
Bootstrapping angewendet wird, um neue
Zufallsdaten basierend auf einer
Verteilungsfunktion zu generieren. Wenn die
Kreuzvalidierung nach Überabtastung
angewendet wird, überarbeiten wir unser
Modell im Grunde auf ein bestimmtes
künstliches Bootstrapping-Ergebnis.
Aus diesem Grund sollte eine
Überprüfungsvalidierung immer durchgeführt
werden, bevor die Daten überabgetastet werden,
ebenso wie die Merkmalauswahl implementiert
werden sollte. Nur durch wiederholtes Abtasten
der Daten kann eine Zufälligkeit in den
Datensatz eingeführt werden, um
sicherzustellen, dass kein Überfüllungsproblem
auftritt.

 

5. Verschiedene neu abgetastete
Datensätze erzeugen

Der einfachste Weg, ein Modell erfolgreich zu
verallgemeinern, ist die Verwendung von mehr
Daten. Das Problem besteht darin, dass Out-of-
the-Box-Klassifizierer wie logistische
Regression oder zufällige Gesamtstruktur dazu
neigen, zu verallgemeinern, indem die seltene
Klasse verworfen wird. Eine einfache Best
Practice ist die Erstellung von n Modellen, die
alle Stichproben der seltenen Klasse und n-
verschiedene Stichproben der reichlich
vorhandenen Klasse verwenden. Wenn man 10
Modelle zusammenstellen möchte, würde man
z.B. die 1.000 Fälle der seltenen Klasse und
zufällig 10.000 Fälle der reichlich vorhandenen
Klasse. Dann teilen Sie einfach die 10.000 Fälle
in 10 Stücke und trainieren 10 verschiedene
Modelle.

Dieser Ansatz ist einfach und perfekt horizontal
skalierbar, wenn man viele Daten hat, da man
seine Modelle einfach auf verschiedenen
Clusterknoten trainieren und ausführen können.
Ensemble-Modelle tendieren auch dazu, besser
zu verallgemeinern, was diesen Ansatz leicht zu
handhaben macht.

6. Die reichlich vorhandene Klasse Clustern

Anstatt sich auf Zufallsstichproben zu
verlassen, um die Vielfalt der
Trainingsstichproben abzudecken, kann man,
die reichlich vorhandene Klasse in r Gruppen zu
gruppieren, wobei r die Anzahl der Fälle in r ist.
Für jede Gruppe wird nur das Medoid (Zentrum
des Clusters) aufbewahrt. Das Modell wird
dann nur mit der seltenen Klasse und den
Medoiden trainiert.

 

7. Eigene Modelle entwerfen

Alle bisherigen Methoden konzentrieren sich
auf die Daten und behalten die Modelle als feste
Komponente bei. In der Tat ist es nicht
erforderlich, die Daten neu zu erfassen, wenn
das Modell für unausgeglichene Daten geeignet
ist. Der berühmte XGBoost ist bereits ein guter
Startpunkt, wenn die Klassen nicht zu stark
verzerrt werden, weil es intern dafür sorgt, dass
die Taschen, auf denen es trainiert, nicht
unausgeglichen sind. Aber dann werden die
Daten neu abgetastet, es passiert nur heimlich.

Durch das Entwerfen einer Kostenfunktion, die
eine falsche Klassifizierung der seltenen Klasse
mehr bestraft als falsche Klassifizierungen der
reichlich vorhandenen Klasse, ist es möglich,
viele Modelle zu entwerfen, die sich natürlich
zugunsten der seltenen Klasse verallgemeinern.
Zum Beispiel, eine SVM zu optimieren, um
falsche Klassifizierungen der seltenen Klasse
mit demselben Verhältnis zu bestrafen, in dem
diese Klasse unterrepräsentiert ist.

 

8. Quintessenz

Dies ist keine exklusive Liste von Techniken,
sondern eher ein Ausgangspunkt für den
Umgang mit unausgewogenen Daten. Es gibt
keinen besten Ansatz oder ein Modell, das für
alle Probleme geeignet ist, und es wird dringend
empfohlen, verschiedene Techniken und
Modelle auszuprobieren, um zu bewerten, was
am besten funktioniert. Kreativ zu sein und
verschiedene Ansätze kombinieren ist die beste
Lösung. Es ist auch wichtig zu wissen, dass in
vielen Bereichen (z. B. Betrugserkennung,
Echtzeitgebote), wo unausgeglichene Klassen
auftreten, sich die „Marktregeln“ ständig
ändern. Es ist also wichtig zu überprüfen, ob
frühere Daten veraltet sein könnten.