Datasets: Unausgeglichene Datasets

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.

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

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

 

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

Abbildung 7. Diagramm mit zwei Schritten zum Herunter- und Hochgewichten
            Schritt 1: Beim Downsampling werden zufällige Beispiele aus der Mehrheit extrahiert.
            . Schritt 2: Durch die Hochgewichtung wird das verringerte Gewicht erhöht.
            Beispiele.
Abbildung 7: Gewichtung.

 

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.
Welche der folgenden Aussagen sind wahr?
Das Erhöhen der Batchgröße auf 1.024 verbessert die Modell.
Bei einer Batchgröße von 1.024 entspricht jeder Batch durchschnittlich etwa 10 Beispiele für Minderheitenklasse, die für das Training ausreichen sollten. Ohne Downsampling enthält das Trainings-Dataset weiterhin einen Wert Milliarden Beispiele.
Downsampling (und Hochgewichtung) auf 20:1 unter Beibehaltung der Batchgröße bei 128 verbessert das Modell.
Jeder Batch umfasst durchschnittlich etwa 9 Minderheitenklassenbeispiele, was für das Training ausreichen. Durch das Downsampling die Anzahl der Beispiele im Trainings-Dataset von 1 Milliarde bis 40 Millionen.
Die aktuelle Situation ist gut.
Die meisten Batches enthalten nicht genügend Minderheitenklassen, um eine nützliche Modell.