Datasets: Unausgeglichene Datasets

Angenommen, ein Datensatz enthält ein kategorisches Label, dessen Wert entweder Positiv oder Negativ ist. 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:

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 Moderat
< 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.

Abbildung 5: Balkendiagramm mit zwei Balken Ein Balken zeigt etwa 200
            negative Klassen; Der andere Balken zeigt 1 positive Klasse.
Abbildung 5: Äußerst unausgeglichenes Dataset.

 

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. 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 Techniken ausprobieren, um Probleme zu lösen durch unausgeglichene Datasets verursacht.

Downsampling und Upweighting

Eine Möglichkeit, ein unausgeglichenes Dataset zu handhaben, besteht darin, das Mehrheitsklasse. 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.
  • Erweitern bedeutet, dass Sie Beispielgewichtung der Downsampling-Klasse, der dem Faktor entspricht, um den verringert werden.

Schritt 1: Mehrheitsklasse herunterskalieren Betrachten Sie das Virus-Dataset in Abbildung 5 zeigt ein Verhältnis von einem positiven Label pro 200 negativen Labels. Das Downsampling um den Faktor 10 erhöht den Kontostand auf 1 positiv auf 20 auszuschließende Keywords (5%). 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 %).

Abbildung 6. Balkendiagramm mit zwei Balken Ein Balken zeigt 20 negative
            classes; Der andere Balken zeigt 1 positive Klasse.
Abbildung 6: Downsampling.

 

Schritt 2: Gewicht der herunterskalierten Klasse erhöhen: Fügen Sie der herunterskalierten Klasse Beispielgewichte hinzu. Nach dem Downsampling um den Faktor 10 Beispielgewichtung sollte 10 sein. Das mag auf den ersten Blick widersprüchlich erscheinen, aber wir erklären das später.

Abbildung 7. Ein zweistufiges Diagramm mit Downsampling und Aufgewichtung.
            Schritt 1: Beim Downsampling werden zufällige Beispiele aus der Mehrheit extrahiert.
            . Schritt 2: Durch die Gewichtung werden die Beispiele mit reduzierter Stichprobengröße stärker gewichtet.
Abbildung 7: Gewichtung erhöhen

 

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. 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.

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 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 Trainingssatz

Idealerweise sollte jeder Batch mehrere Beispiele für Minderheitenklasse enthalten. Bei Batches, die nicht genügend Minderheitenklassen enthalten, ist das Training sehr schlecht. 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

Stellen Sie sich folgende Situation vor:

  • Das Trainings-Dataset enthält etwas über eine Milliarde Beispiele.
  • Die Batchgröße beträgt 128.
  • Das Ungleichgewichtsverhältnis beträgt 100:1, sodass das Trainings-Dataset so aufgeteilt ist:
    • ~1 Milliarde Mehrheitsklassenbeispiele.
    • ~ 10 Millionen Beispiele für Minderheitenklassen.
Welche der folgenden Aussagen sind wahr?
Wenn Sie die Batchgröße auf 1.024 erhöhen, wird das resultierende Modell verbessert.
Bei einer Batchgröße von 1.024 entspricht jeder Batch durchschnittlich etwa 10 Gruppen von Minderheiten, die Ihnen helfen sollten, besseres Modell.
Wenn Sie die Batchgröße bei 128 beibehalten, aber eine Downsampling- und Gewichtung auf 20:1 vornehmen, wird das resultierende Modell verbessert.
Dank Downsampling kann jeder Batch von 128 durchschnittlich etwa 21 Beispiele für Minderheitenklasse, die für das Training ausreichen sollten ein nützliches Modell. Durch die Downsampling-Methode wird die Anzahl der Beispiele im Trainingssatz von etwas über einer Milliarde auf etwa 60 Millionen reduziert.
Die aktuellen Hyperparameter sind in Ordnung.
Bei einer Batchgröße von 128 entspricht jeder Batch durchschnittlich etwa 1 Minderheit. Klassenbeispiel, die möglicherweise nicht ausreicht, um ein nützliches modellieren.