Stellen Sie sich ein Dataset mit einem kategorialen Label vor, dessen Wert entweder Positiv oder Negativ: In einem ausgeglichenen Dataset ist die Anzahl der Positiven und Negative Labels sind in etwa gleich. Wenn jedoch ein Label häufiger auftritt, als das andere Label, ist das Dataset Unausgeglichen. Das vorherrschende Label in einem unausgeglichenen Dataset Mehrheitsklasse; Das seltener verwendete Label heißt Minderheitenklasse:
Die folgende Tabelle enthält allgemein akzeptierte Namen und Bereiche für verschiedene Grad des Ungleichgewichts:
Prozentsatz der Daten, die zur Minderheitsklasse gehören | Grad des Ungleichgewichts |
---|---|
20–40% des Datasets | Niedrig |
1–20% des Datasets | Moderat |
<1% des Datasets | Extrem |
Nehmen wir als Beispiel ein Dataset zur Virenerkennung, in dem die Minderheitenklasse stellt 0,5% des Datasets und die Mehrheitsklasse 99,5 % dar. Extrem unausgeglichene Datasets wie dieses kommen in der Medizin häufig vor, bei den meisten Probanden das Virus nicht.
Unausgeglichene Datasets enthalten manchmal nicht genügend Minderheitenklasse um ein Modell richtig zu trainieren. Das heißt, mit so wenigen positiven Labels wird das Modell fast ausschließlich auf negative Labels anwenden und nicht genug über positive Labels erfahren können. Beispiel: Wenn die Batchgröße 50 beträgt, enthalten viele Batches keine positiven Labels.
Oft, besonders bei leichten und mäßig unausgewogenen Verhältnissen ist Ungleichgewicht kein Problem. Sie sollten also zuerst versuchen, das Training mit dem ursprünglichen Dataset. Wenn das Modell gut funktioniert, sind Sie fertig. Wenn nicht, liefert zumindest das suboptimale Modell eine gute Ausgangsbasis für zukünftige Tests. Anschließend können Sie die folgenden Techniken ausprobieren, um Probleme zu lösen durch unausgeglichene Datasets verursacht.
Downsampling und Hochgewichtung
Eine Möglichkeit, ein unausgeglichenes Dataset zu handhaben, besteht darin, das Mehrheitsklasse. Im Folgenden finden Sie Definitionen für diese beiden neuen Begriffe:
- Downsampling (in diesem Kontext) Trainings für eine unverhältnismäßig niedrige Untergruppe der Mehrheitsklasse Beispiele.
- Erweitern bedeutet, dass Sie Beispielgewichtung der Downsampling-Klasse, der dem Faktor entspricht, um den verringert werden.
Schritt 1: Downsampling der Mehrheitsklasse Bedenken Sie, dass Virus-Dataset mit einem Verhältnis von 1 positivem Label pro 200 negative Labels. Downsampling um den Faktor 20 erhöht die Bilanz auf 1 positive auf 10 negative (10%). Obwohl die resultierender Trainingssatz immer noch mäßig unausgewogen ist, der Anteil der Positives zum Negativen ist viel besser als das ursprüngliche extrem ungleichmäßige Ergebnis. (0,5%).
Schritt 2: Downsampled-Klasse hochskalieren: Beispiel hinzufügen mit der Downsampled-Klasse zu vergleichen. Nach dem Downsampling um den Faktor 20 Beispielgewichtung sollte 20 sein. (Das mag widersprüchlich erscheinen, erklären Sie später die Gründe.)
Der Begriff Gewichtung bezieht sich nicht auf Modellparameter wie w1 oder w2). Gewicht bezieht sich hier auf Beispielgewichtungen, die die Bedeutung eines einzelnen Beispiels erhöhen während des Trainings. Eine Beispielgewichtung von 10 bedeutet, dass das Modell das Beispiel so behandelt: 10-mal so wichtig (bei Computing-Verlust) als ein Beispiel für eine Gewichtung 1.
Die Gewichtung sollte dem Faktor entsprechen, den Sie für das Downsampling verwendet haben:
\[\text{ \{example weight\} = \{original example weight\} × \{downsampling factor\} }\]
Es mag seltsam erscheinen, nach dem Downsampling Beispielgewichtungen hinzuzufügen. Schließlich sind Sie und versuchen, das Modell gegenüber der Minderheitenklasse zu verbessern. Mehrheitsklasse? Tatsächlich führt die Hochgewichtung der Mehrheitsklasse tendenziell Vorhersageverzerrung. Das heißt: Die Hochgewichtung nach dem Downsampling verringert in der Regel das Delta zwischen dem Durchschnitt der Vorhersagen Ihres Modells und des Durchschnitts der Labels Ihres Datasets.
Verhältnisse ausgleichen
Wie viel sollten Sie reduzieren und hochgewichten, um Ihr Dataset neu auszubalancieren? Experimentieren Sie mit dem Ausgleichsverhältnis, genau wie Sie mit anderen Hyperparameter: Die Antwort hängt letztendlich von den folgenden Faktoren ab:
- Die Batchgröße
- Das Ungleichgewichtsverhältnis
- Die Anzahl der Beispiele im Trainings-Dataset
Idealerweise sollte jeder Batch mehrere Beispiele für Minderheitenklasse enthalten. Batches, die nicht genügend Minderheitenklassen enthalten, werden sehr schlecht trainiert. Die Batchgröße sollte um ein Vielfaches größer sein als das Ungleichgewichtsverhältnis. Wenn das Ungleichgewichtsverhältnis beispielsweise 100:1 beträgt, sollte die Batchgröße mindestens 500 sein.
Übung: Wissenstest
Betrachten Sie die folgende Situation:
- Die Batchgröße beträgt 128.
- Das Ungleichgewichtsverhältnis beträgt 100:1.
- Das Trainings-Dataset enthält eine Milliarde Beispiele.