Angenommen, ein Datensatz enthält ein kategorisches Label, dessen Wert entweder Positiv oder Negativ ist. In einem ausgewogenen Dataset ist die Anzahl der Positiven und Negativen Labels ungefähr gleich. Wenn ein Label jedoch häufiger vorkommt als das andere, ist das Dataset nicht ausgewogen. Das vorherrschende Label in einem unbalancierten Datensatz wird als Mehrheitsklasse bezeichnet. Das weniger häufige Label wird als Minderheitsklasse bezeichnet.
In der folgenden Tabelle finden Sie allgemein anerkannte Namen und Bereiche für verschiedene Ungleichgewichte:
Prozentsatz der Daten, die zur Minderheitsklasse gehören | Grad des Ungleichgewichts |
---|---|
20–40% des Datasets | Niedrig |
1–20% des Datasets | Mittel |
< 1% des Datasets | Extrem |
Angenommen, Sie haben ein Dataset zur Virenerkennung, in dem die Minderheitenklasse 0,5% des Datasets und die Mehrheitsklasse 99,5 % ausmacht. Extrem unausgewogene Datensätze wie dieser sind in der Medizin üblich, da die meisten Testpersonen nicht infiziert sind.
Ungleichgewichtige Datasets enthalten manchmal nicht genügend Beispiele der Minderheitenklasse, um ein Modell richtig zu trainieren. Das bedeutet, dass das Modell bei so wenigen positiven Labels fast ausschließlich mit negativen Labels trainiert wird und nicht genug über positive Labels lernen kann. Wenn die Batchgröße beispielsweise 50 beträgt, enthalten viele Batches keine positiven Labels.
Oft ist eine Ungleichverteilung kein Problem, insbesondere bei leicht und mäßig ungleich verteilten Datensätzen. Sie sollten also zuerst mit dem ursprünglichen Datensatz trainieren. Wenn das Modell gut funktioniert, sind Sie fertig. Andernfalls bietet das suboptimale Modell zumindest eine gute Baseline für zukünftige Tests. Anschließend können Sie die folgenden Methoden ausprobieren, um Probleme zu beheben, die durch ungleichmäßige Datensätze verursacht werden.
Downsampling und Upweighting
Eine Möglichkeit, mit einem unausgewogenen Dataset umzugehen, besteht darin, die Stichprobe zu verkleinern und die Mehrheitsklasse zu gewichten. Hier sind die Definitionen dieser beiden neuen Begriffe:
- Downsampling bedeutet in diesem Zusammenhang, dass das Training auf einer unverhältnismäßig kleinen Teilmenge der Beispiele der Mehrheitsklasse erfolgt.
- Aufgewichten bedeutet, der herunterskalierten Klasse ein Beispielgewicht hinzuzufügen, das dem Faktor entspricht, um den Sie die Stichprobe herunterskaliert haben.
Schritt 1: Mehrheitsklasse herunterskalieren Betrachten Sie den in Abbildung 5 dargestellten Virendatensatz mit einem Verhältnis von 1 positivem Label zu 200 negativen Labels. Durch eine zehnfache Downsampling wird das Gleichgewicht auf 1 Positiv zu 20 Negativ (5%) verbessert. Obwohl das resultierende Trainingsset immer noch mäßig ungleichgewichtig ist, ist das Verhältnis von positiven zu negativen Beispielen viel besser als das ursprüngliche extrem ungleichgewichtige Verhältnis (0,5%).
Schritt 2: Gewicht der herunterskalierten Klasse erhöhen: Fügen Sie der herunterskalierten Klasse Beispielgewichte hinzu. Nach der Downsampling-Verfahren mit einem Faktor von 10 sollte das Beispielgewicht 10 betragen. Das mag auf den ersten Blick widersprüchlich erscheinen, aber wir erklären das später.
Der Begriff Gewicht bezieht sich nicht auf Modellparameter wie w1 oder w2. Hier bezieht sich Gewicht auf Beispielgewichte, die die Bedeutung eines einzelnen Beispiels während des Trainings erhöhen. Ein Beispielgewicht von 10 bedeutet, dass das Modell das Beispiel bei der Berechnung des Verlusts als zehnmal so wichtig behandelt wie ein Beispiel mit dem Gewicht 1.
Der Wert für weight sollte dem Faktor entsprechen, den Sie für die Downsampling-Operation verwendet haben:
\[\text{ \{example weight\} = \{original example weight\} × \{downsampling factor\} }\]
Es mag seltsam erscheinen, Beispielgewichte nach dem Downsampling hinzuzufügen. Schließlich möchten Sie, dass das Modell die Leistung bei der Minderheitsklasse verbessert. Warum sollten Sie also die Mehrheitsklasse gewichten? Tatsächlich verringert eine höhere Gewichtung der Mehrheitsklasse in der Regel den Vorhersagebias. Das heißt, dass eine Aufwertung nach dem Downsampling in der Regel das Delta zwischen dem Durchschnitt der Vorhersagen Ihres Modells und dem Durchschnitt der Labels Ihres Datensatzes verringert.
Proportionen für den Neuausgleich
Wie stark sollten Sie die Stichprobe verkleinern und die Gewichtung erhöhen, um den Datensatz auszugleichen? Um die Antwort zu ermitteln, sollten Sie mit dem Verhältnis für die Neuausrichtung experimentieren, genau wie Sie es mit anderen Hyperparametern tun würden. Die Antwort hängt jedoch letztendlich von den folgenden Faktoren ab:
- Batchgröße
- Das Ungleichgewichtsverhältnis
- Die Anzahl der Beispiele im Trainingssatz
Idealerweise sollte jeder Batch mehrere Beispiele der Minderheitenklasse enthalten. Bei Batches, die nicht genügend Minderheitenklassen enthalten, ist das Training sehr schlecht. Die Batchgröße sollte mehrmals größer als das Ungleichgewichtsverhältnis sein. Wenn das Ungleichgewicht beispielsweise 100:1 beträgt, sollte die Batchgröße mindestens 500 betragen.
Übung: Wissen testen
Stellen Sie sich folgende Situation vor:
- Der Trainingssatz enthält etwas mehr als eine Milliarde Beispiele.
- Die Batchgröße beträgt 128.
- Das Ungleichgewichtsverhältnis beträgt 100:1. Daher wird der Trainingssatz so aufgeteilt:
- ~ 1 Milliarde Beispiele für die Mehrheitsklasse
- ~ 10 Millionen Beispiele für Minderheitenklassen