Ein Klassifizierungs-Dataset mit verzerrten Klassenanteilen wird unausgeglichen. Klassen, die einen großen Teil des Datasets ausmachen, werden als Hauptklassen bezeichnet. Die kleineren Gruppen bilden die untergeordneten Klassen.
Was zählt als unausgeglichen? Die Antwort reicht von leicht bis extrem, wie die folgende Tabelle zeigt.
Grad des Ungleichgewichts | Anteil der Minderheitsklasse |
---|---|
Niedrig | 20–40% des Datensatzes |
Mittel | 1–20% des Datenpools |
Extrem | < 1% des Datensatzes |
Warum sollten Sie nach unausgeglichenen Daten suchen? Wenn Sie eine Klassifizierungsaufgabe mit einem unausgeglichenen Dataset haben, müssen Sie möglicherweise eine bestimmte Stichprobentechnik anwenden.
Im folgenden Beispiel sehen Sie ein Modell, das Betrug erkennt. Bei 200 Transaktionen in diesem Datensatz kommt es zu einer Betrugsinstanz, d. h., bei der tatsächlichen Verteilung sind etwa 0,5% der Daten positiv.
Warum könnte das problematisch sein? Bei so vielen positiven Ergebnissen nimmt das Trainingsmodell den Großteil seiner Zeit mit negativen Beispielen zu und lernt nicht genug von positiven. Wenn Ihre Batchgröße beispielsweise 128 beträgt, haben viele Batches keine positiven Beispiele, sodass die Gradienten weniger informativ sind.
Wenn Sie einen unausgeglichenen Datensatz haben, versuche es zuerst mit dem Training der tatsächlichen Verteilung. Wenn das Modell gut funktioniert und generalisiert wird, sind Sie fertig. Falls nicht, versuchen Sie es mit dem folgenden Sampling und der Gewichtung.
Downsampling und Schwergewicht
Ein wirksamer Weg, um unausgeglichene Daten zu verarbeiten, besteht darin, die Hauptklasse zu reduzieren und zu gewichten. Definieren wir zuerst diese beiden neuen Begriffe:
- Downsampling (in diesem Kontext) bezeichnet das Training mit einer überproportional kleinen Teilmenge der meisten Beispiele.
- Gewichtung bedeutet, dass der heruntergerechneten Klasse eine Beispielgewichtung hinzugefügt wird, die dem Faktor entspricht, um den ein Upsampling durchgeführt wurde.
Schritt 1: Stichproben der Mehrheitsklasse reduzieren Sehen wir uns noch einmal unser Betrüger-Datenbestand mit 1 positiven bis 200 auszuschließenden Negativen an. Bei einer Verkleinerung um einen Faktor von 10 erhöht sich der Kontostand auf 1 positive auf 20 negative (5%). Obwohl das resultierende Trainings-Dataset immer noch mäßig unausgeglichen ist, ist der Anteil von positiven zu negativen Werten viel besser als der ursprüngliche Extrem-ausgeglichene Anteil (0,5%).
Schritt 2: Upsampling-Klasse gewichten: Im letzten Schritt werden der Sampled Sampled Class Beispielgewichten hinzugefügt. Da wir einen Faktor von 10 als Stichproben verwendet haben, sollte das Beispielgewicht 10 betragen.
Es kann sein, dass Sie den Begriff Gewichtung kennen, wenn es sich um Modellparameter handelt, zum Beispiel um Verbindungen in einem neuronalen Netzwerk. Hier geht es um Beispielgewichtungen, d. h., ein einzelnes Beispiel wird während des Trainings wichtiger gezählt. Eine Beispielgewichtung von 10 bedeutet, dass das Modell das Beispiel als zehnmal (beim Computing-Verlust) behandelt wie ein Beispiel für Gewichtung 1.
Die Gewichtung sollte dem Faktor entsprechen, den Sie für die Verringerung der Daten verwendet haben:
\[\text{ \{example weight\} = \{original example weight\} × \{downsampling factor\} }\]
Vorteile von „Downsample“ und „Upweight“
Es mag seltsam erscheinen, nach dem Sampling Beispielgewichte hinzuzufügen. Wir haben versucht, unser Modell im Hinblick auf die Minderheitsklasse zu verbessern. Warum sollten wir einen Großteil der Mehrheit messen? Das sind die sich daraus ergebenden Änderungen:
- Schnellere Konvergenz: Während des Trainings sehen wir die Klasse der Minderheit häufiger, sodass das Modell schneller konvergiert.
- Laufwerksspeicher: Durch die Konsolidierung der Mehrheit der Klasse in weniger Beispiele mit höheren Gewichtungen wird weniger Speicherplatz benötigt. Diese Einsparungen ermöglichen mehr Speicherplatz für die Minderheitsklasse, sodass wir eine größere Anzahl und eine größere Auswahl von Beispielen aus dieser Klasse erfassen können.
- Kalibrierung: Durch die Gewichtung bleibt unser Modell immer kalibriert. Die Ausgaben können trotzdem als Wahrscheinlichkeiten interpretiert werden.