Startseite Themen Upsampling Was ist Upsampling?
Upsampling mit watsonx.ai erkunden Für KI-Updates anmelden
Illustration mit Collage aus Piktogrammen von Computermonitor, Server, Wolken, Punkten

Veröffentlicht: 29. April 2024
Mitwirkende: Jacob Murel, Ph.D.

Upsampling erhöht die Anzahl der Datenproben in einem Datensatz. Auf diese Weise sollen unausgewogene Daten korrigiert und damit die Leistungsfähigkeit des Modells verbessert werden.

Upsampling, auch als Oversampling bekannt, ist eine Technik zur Datenverarbeitung und -optimierung, die das Ungleichgewicht zwischen den Klassen in einem Datensatz durch Hinzufügen von Daten behebt. Beim Upsampling werden Daten hinzugefügt, indem ursprüngliche Stichproben aus Minderheitsklassen verwendet werden, bis alle Klassen gleich groß sind. Sowohl Python scikit-learn als auch Matlab enthalten integrierte Funktionen zur Implementierung von Upsampling-Techniken.

Upsampling im Bereich Data Science wird oft mit Upsampling in der digitalen Signalverarbeitung (Digital Signal Processing, DSP) verwechselt. Die beiden sind einander im Geiste ähnlich, aber dennoch unterschiedlich. Ähnlich wie beim Upsampling im Bereich Data Science werden beim Upsampling für DSP künstlich mehr Stichproben in einem Frequenzbereich aus einem Eingangssignal (insbesondere einem diskreten Zeitsignal) erzeugt, indem höhere Samplingraten interpoliert werden. Diese neuen Stichproben werden erzeugt, indem Nullen in das ursprüngliche Signal eingefügt werden und ein Tiefpassfilter für die Interpolation verwendet wird. Dies unterscheidet sich von der Art und Weise, wie das Upsampling beim Data Balancing vorgenommen wird.

Das Upsampling für das Data Balancing unterscheidet sich auch vom Upsampling in der Bildverarbeitung. Bei letzterem werden hochauflösende Bilder zunächst in ihrer Auflösung reduziert (Pixel entfernt), um die Berechnungen zu beschleunigen. Anschließend wird das Bild durch eine Faltung (Konvolution) wieder auf seine ursprüngliche Größe gebracht (Pixel werden wieder hinzugefügt).

Warum KI-Governance eine geschäftliche Notwendigkeit für die Skalierung künstlicher Intelligenz im Unternehmen ist

Erfahren Sie mehr über die Hindernisse bei der Einführung von KI, insbesondere über das Fehlen von Lösungen für KI-Governance und -Risikomanagement.

Ähnliche Inhalte

Registrieren Sie sich, um den Leitfaden zu Foundation Models zu lesen

Warum Upsampling verwenden?

Upsampling ist eine effektive Methode zur Beseitigung von Ungleichgewichten innerhalb eines Datensatzes. Ein unausgewogener Datensatz ist als ein Datensatz definiert, in dem eine Klasse im Vergleich zur wahren Population stark unterrepräsentiert ist, was wiederum zu unbeabsichtigten Verzerrungen führt. Stellen Sie sich zum Beispiel Folgendes vor: Ein Modell wird darauf trainiert, Bilder zu klassifizieren, die eine Katze oder einen Hund zeigen. Der verwendete Datensatz besteht zu 90 % aus Katzen und zu 10 % aus Hunden. Katzen sind in diesem Szenario also überrepräsentiert. Und wenn wir einen Klassifikator haben, der jedes Mal Katzen vorhersagt, wird er eine Genauigkeit von 90 % bei der Klassifizierung von Katzen, aber 0 % bei der Klassifizierung von Hunden erreichen. In diesem Fall führt der unausgewogene Datensatz dazu, dass Klassifikatoren die Genauigkeit der Mehrheitsklasse auf Kosten der Minderheitsklasse bevorzugen. Das gleiche Problem kann bei Datensätzen mit mehreren Klassen auftreten.1

Der Prozess des Upsampling wirkt dem Problem der unausgewogenen Datensätze entgegen. Hierbei wird der Datensatz mit Punkten aufgefüllt, die aus Merkmalen der Minderheitenklasse des ursprünglichen Datensatzes synthetisiert wurden. Dies gleicht den Datensatz aus, indem es die Anzahl der Stichproben für eine unterrepräsentierte Minderheitenklasse effektiv erhöht, bis der Datensatz ein gleiches Verhältnis von Punkten in allen Klassen enthält.

Ungleichgewichte lassen sich durch einfaches Auftragen der Anzahl der Datenpunkte in jeder Klasse erkennen. Dies sagt jedoch nichts darüber aus, ob sie das Modell stark beeinträchtigen werden. Glücklicherweise können wir anhand von Leistungskennzahlen messen, wie gut eine Upsampling-Technik das Ungleichgewicht zwischen den Klassen korrigiert. Die meisten dieser Metriken beziehen sich auf binäre Klassifizierungen, bei denen es nur zwei Klassen gibt: eine positive und eine negative. Normalerweise ist die positive Klasse die Minderheitsklasse, während die negative Klasse die Mehrheitsklasse ist. Zwei beliebte Metriken sind ROC-Kurven (Receiver Operating Characteristic) und Precision-Recall-Kurven.1

Vorteile und Nachteile von Upsampling
Vorteile
  • Kein Informationsverlust: Im Gegensatz zum Downsampling, bei dem Datenpunkte aus der Mehrheitsklasse entfernt werden, erzeugt das Upsampling neue Datenpunkte und vermeidet so jeglichen Informationsverlust.
  • Erhöhung der Datenmenge zu geringen Kosten: Upsampling ist besonders effektiv und oft die einzige Möglichkeit, den Datensatz bei Bedarf zu vergrößern, wenn Daten nur durch Beobachtung gewonnen werden können. So sind zum Beispiel bestimmte Krankheiten einfach zu selten, um zusätzliche Daten zu erheben.
Nachteile
  • Überanpassung: Da das Upsampling neue Daten auf der Grundlage der vorhandenen Daten der Minderheitenklasse erstellt, kann der Klassifikator übermäßig an die Daten angepasst werden. Upsampling setzt voraus, dass die vorhandenen Daten die Realität angemessen abbilden. Ist dies nicht der Fall, kann der Klassifikator möglicherweise nicht sehr gut verallgemeinern.
  • Datenrauschen: Upsampling kann die Menge des Rauschens in den Daten erhöhen und die Zuverlässigkeit und Leistung des Klassifikators verringern.2
  • Rechnerische Komplexität: Durch die Erhöhung der Datenmenge wird das Training des Klassifikators rechenintensiver, was bei der Nutzung von Cloud Computing ein Problem darstellen kann.2
Upsampling-Techniken
Zufälliges Oversampling

Beim zufälligen Oversampling werden zufällige Datenpunkte in der Minderheitenklasse dupliziert, bis die Größe der Minderheitenklasse der Mehrheitsklasse entspricht.

Obwohl sie sich in ihrer Art ähneln, unterscheidet sich das zufällige Oversampling vom Bootstrapping. Bootstrapping ist eine Technik des Ensemble-Lernens, bei der aus allen Klassen erneut Stichproben gezogen werden. Im Gegensatz dazu wird beim zufälligen Oversampling nur von der Minderheitsklasse eine Stichprobe gezogen. Dementsprechend kann das zufällige Oversampling als eine speziellere Form des Bootstrappings verstanden werden.

Trotz seiner Einfachheit hat das zufällige Oversampling jedoch auch seine Grenzen. Da es lediglich duplizierte Datenpunkte hinzufügt, kann es zu einer Überanpassung führen.3 Dennoch hat es gegenüber anderen Methoden viele Vorteile: die einfache Implementierung, das Fehlen von dehnbaren Annahmen über die Daten und die geringe Zeitkomplexität aufgrund eines einfachen Algorithmus.2

SMOTE

SMOTE, was für „Synthetic Minority Oversampling Technique“ steht, ist ein Upsampling-Verfahren, das erstmals 2002 vorgestellt wurde und bei dem neue Datenpunkte aus den vorhandenen Punkten der Minderheitenklasse synthetisiert werden.4 Die Technik besteht aus dem folgenden Prozess:2

  1. Suche nach den K nächsten Nachbarn für alle Datenpunkte der Minderheitenklasse. K ist normalerweise 5.
  2. Wiederholung der Schritte 3-5 für jeden Datenpunkt der Minderheitenklasse:
  3. Auswahl eines der K nächstgelegenen Nachbarn des Datenpunkts.
  4. Auswahl eines zufälligen Punktes auf dem Liniensegment, das diese beiden Punkte im Merkmalsraum verbindet, um ein neues Ausgabebeispiel zu erzeugen. Dieser Vorgang wird als Interpolation bezeichnet.
  5. Je nachdem, wie stark das Upsampling sein soll, werden die Schritte 3 und 4 mit einem anderen nächsten Nachbarn wiederholt.

SMOTE wirkt dem Problem der Überanpassung beim zufälligen Oversampling entgegen, indem es dem Datensatz neue, zuvor nicht gesehene Daten hinzufügt, anstatt einfach bereits vorhandene Daten zu duplizieren. Aus diesem Grund halten einige Forscher SMOTE für eine bessere Upsampling-Technik als das zufällige Oversampling.

Andererseits fügt die Erzeugung künstlicher Datenpunkte durch SMOTE dem Datensatz zusätzliches Rauschen hinzu, wodurch der Klassifikator möglicherweise instabiler wird.1 Die synthetischen Punkte und das Rauschen von SMOTE können auch unbeabsichtigt zu Überschneidungen zwischen der Minderheits- und der Mehrheitsklasse führen, die nicht die Realität widerspiegeln, was wiederum zu einer so genannten Übergeneralisierung führt.5

Borderline SMOTE

Eine beliebte Erweiterung ist Borderline SMOTE. Dies Technik wird verwendet, um das Problem des künstlichen Datenrauschens zu bekämpfen und um „härtere“ Datenpunkte zu erzeugen. „Härtere“ Datenpunkte sind Datenpunkte, die nahe an der Entscheidungsgrenze liegen und daher schwieriger zu klassifizieren sind. Solche härteren Punkte eignen sich besser zum Lernen für das Modell.2

Borderline SMOTE identifiziert die Punkte der Minderheitsklasse, die sich in der Nähe vieler Punkte der Mehrheitsklasse befinden, und legt sie in einem sogenannten DANGER-Datensatz ab. Die DANGER-Punkte sind die „schwer zu lernende“ Datenpunkte. Dies liegt wiederum daran, dass sie im Vergleich zu Punkten, die von Punkten der Minderheitsklasse umgeben sind, schwerer zu klassifizieren sind. Dieser Auswahlprozess schließt Punkte aus, deren nächste Nachbarn nur Punkte der Mehrheitsklasse sind, die als Rauschen gezählt werden. Daraufhin fährt der SMOTE-Algorithmus wie gewohnt mit diesem DANGER-Datensatz fort.3

ADASYN

Der Ansatz des Adaptive Synthetic Sampling (ADASYN) ähnelt dem Borderline SMOTE insofern, als er schwierigere Daten für das zu lernende Modell erzeugt. Allerdings zielt er auch auf die Erhaltung der Verteilung der Daten der Minderheitenklasse ab.6 Dazu wird zunächst eine gewichtete Verteilung aller Minderheitenpunkte auf der Grundlage der Anzahl der Beispiele der Mehrheitsklasse in ihrer Umgebung erstellt. Von dort aus werden bei der Generierung neuer Daten häufiger Punkte der Minderheitsklasse verwendet, die näher an der Mehrheitsklasse liegen.

Der Ablauf gestaltet sich wie folgt:2

  1. Erstellung eines KNN-Modells für den gesamten Datensatz.
  2. Jedem Punkt der Minderheitsklasse wird ein „Härtefaktor“ zugewiesen, der als r bezeichnet wird und das Verhältnis der Anzahl der Punkte der Mehrheitsklasse zur Gesamtzahl der Nachbarn im KNN darstellt.
  3. Wie bei SMOTE handelt es sich bei den synthetisch erzeugten Punkten um eine lineare Interpolation zwischen den Minderheitsdaten und ihren Nachbarn. Allerdings skaliert die Anzahl der erzeugten Punkte mit dem Härtefaktor eines Punktes. Dadurch werden mehr Punkte in Bereichen mit weniger Minderheitendaten und weniger Punkte in Bereichen mit mehr Daten erzeugt.
Datenkonvertierung/-erweiterungen

Die Datenerweiterung erzeugt neue Daten, indem sie Variationen der Daten erstellt. Die Datenerweiterung findet in einer Vielzahl von Bereichen des maschinellen Lernens Anwendung.

Die grundlegendste Form der Datenerweiterung besteht in der Umwandlung der Rohdaten des Datensatzes. Im Bereich der Computer Vision können beispielsweise Bildvergrößerungen (Zuschneiden, Weichzeichnen, Spiegeln usw.) verwendet werden, um mehr Bilder zu erzeugen, die das Modell klassifizieren kann. In ähnlicher Weise kann die Datenerweiterung auch bei der Verarbeitung natürlicher Sprache eingesetzt werden, z. B. beim Ersetzen von Wörtern durch ihre Synonyme oder beim Erstellen semantisch äquivalenter Sätze.

Forscher haben herausgefunden, dass die Datenerweiterung die Modellgenauigkeit für Computer Vision und NLP-Aufgaben effektiv erhöht, da sie ähnliche Daten zu geringen Kosten hinzufügt. Vor der Anwendung dieser Techniken sollten jedoch einige Dinge bedacht werden. Bei traditionellen geometrischen Erweiterungen sollte die „Sicherheit“ der Transformationen vor der Durchführung geprüft werden. Wenn Sie beispielsweise ein Bild einer „9“ drehen, sieht es wie eine „6“ aus, wodurch sich seine semantische Bedeutung ändert.7

Aktuelle Forschung

SMOTE-Erweiterungen und Deep Learning bildeten in den letzten Jahren den Schwerpunkt der Upsampling-Techniken. Diese Methoden zielen darauf ab, die Leistung des Modells zu verbessern und einige der Mängel des Upsampling zu beheben, wie z. B. die Verzerrung der Verteilung der Minderheitenklasse.

Einige Entwicklungen im Bereich SMOTE umfassen ein SMOTE mit prädiktiver Minderheitenwahrscheinlichkeit (Minority-Predictive-Probability SMOTE oder MPP-SMOTE), bei dem das Upsampling auf der Grundlage der geschätzten Wahrscheinlichkeiten für das Auftreten der einzelnen Minderheitenklassenproben erfolgt.8 Die Technik des Multi-Label Borderline Oversampling (MLBOTE) wurde vorgeschlagen, um SMOTE auf die Klassifizierung in mehreren Klassen zu erweitern.9 Beide haben alle bestehenden SMOTE-Varianten übertroffen und die Muster in den ursprünglichen Daten beibehalten.

Auch neuronale Netze wurden zur Entwicklung von Oversampling-Techniken verwendet. Generative Adversarial Networks haben ein gewisses Interesse geweckt und vielversprechende Ergebnisse hervorgebracht, auch wenn diese Technik aufgrund der Trainingszeit langsamer ist als andere traditionelle Upsampling-Methoden.10

Zugehörige Ressourcen Was ist Downsampling?

Beim Downsampling wird die Anzahl der Datenproben in einem Datensatz verringert. Auf diese Weise sollen unausgewogene Daten korrigiert und damit die Leistung des Modells verbessert werden.

Was ist Überanpassung?

Beim maschinellen Lernen kommt es zu einer Überanpassung, wenn ein Algorithmus zu eng oder sogar genau an die Trainingsdaten angepasst wird. Das Ergebnis ist ein Modell, das keine genauen Vorhersagen oder Schlussfolgerungen aus anderen Daten als den Trainingsdaten ableiten kann.

Was ist maschinelles Lernen (ML)?

Maschinelles Lernen (ML) ist ein Zweig der KI und der Informatik, der auf der Grundlage von Daten und Algorithmen den menschlichen Lernprozess imitiert und dabei seine Genauigkeit schrittweise verbessert.

Machen Sie den nächsten Schritt

Trainieren, validieren, optimieren und implementieren Sie generative KI, Foundation Models und maschinelle Lernfunktionen mit IBM watsonx.ai, einem Studio der nächsten Generation für AI Builder in Unternehmen. Erstellen Sie KI-Anwendungen mit einem Bruchteil der Zeit und Daten.

watsonx.ai erkunden Buchen Sie eine Live-Demo
Fußnoten

1 Haobo He und Edwardo Garcia, Learning from Imbalanced Data, IEEE, September 2009, https://ieeexplore.ieee.org/document/5128907 (Link befindet sich außerhalb von ibm.com). (1,2,10)

2 Kumar Abishek und Mounir Abdelaziz, Machine Learning for Imbalanced Data, Packt, November 2023, https://www.packtpub.com/product/machine-learning-for-imbalanced-data/9781801070836 (Link befindet sich außerhalb von ibm.com). (3,4,6,8,9,12,14-17)

3 Kumar Abishek und Mounir Abdelaziz, Machine Learning for Imbalanced Data, Packt, November 2023, https://www.packtpub.com/product/machine-learning-for-imbalanced-data/9781801070836 (Link befindet sich außerhalb von ibm.com). Alberto Fernandez, et al., Learning from Imbalanced Data Sets, 2018.

4 Nitesh Chawla, et al., SMOTE: Synthetic Minority Over-sampling Technique, JAIR, 1. June 2002, https://www.jair.org/index.php/jair/article/view/10302 (Link befindet sich außerhalb von ibm.com).

5 Kumar Abishek und Mounir Abdelaziz, Machine Learning for Imbalanced Data, Packt, November 2023. Haobo He und Edwardo Garcia, Learning from Imbalanced Data, IEEE, September 2009, https://ieeexplore.ieee.org/document/5128907 (Link befindet sich außerhalb von ibm.com).

6 Alberto Fernandez, et al., Learning from Imbalanced Data Sets, Springer, 2018.

7 Connor Shorten und Taghi Khoshgoftaar, A survey on Image Data Augmentation for Deep Learning, Springer, 6. Juli 2019**,** https://journalofbigdata.springeropen.com/articles/10.1186/s40537-019-0197-0 (Link befindet sich außerhalb von ibm.com).

8 Zhen Wei, Li Zhang und Lei Zhao, Minority prediction probability based oversampling technique for imbalanced learning, Science Direct, 6. Dezember 2022, https://www.sciencedirect.com/science/article/abs/pii/S0020025522014578?casa_token=TVVIEM3xTDEAAAAA:LbzQSgIvuYDWbDTBKWb4ON-CUiTUg0EUeoQf9q12IjLgXFk0NQagfh0bU3DMUSyHL_mjd_V890o (Link befindet sich außerhalb von ibm.com).

9 Zeyu Teng, et al., Multi-label borderline oversampling technique, ScienceDirect, 14. September 2023, https://www.sciencedirect.com/science/article/abs/pii/S0031320323006519?casa_token=NO8dLh60_vAAAAAA:AWPCvCP8PQG43DvkQFChZF2-3uzB1GJBBtgPURevWe_-aR0-WTbLqOSAsiwxulNAuh_4mIDZx-Y (Link befindet sich außerhalb von ibm.com).

10 Justin Engelmann and Stefan Lessmann, Conditional Wasserstein GAN-based oversampling of tabular data for imbalanced learning, 15. Juli 2021, ScienceDirect, https://www.sciencedirect.com/science/article/abs/pii/S0957417421000233?casa_token=O0d1BtspA8YAAAAA:n2Uv3v2yHvjl9APVU9V_13rQ9K_KwT0P__nzd6hIngNcZJE-fmQufDgR6XT1uMmDBHx8bLXPVho (Link befindet sich außerhalb von ibm.com). Shuai Yang, et al., Fault diagnosis of wind turbines with generative adversarial network-based oversampling method, IOP Science, 12. Januar 2023, https://iopscience.iop.org/article/10.1088/1361-6501/acad20/meta (Link befindet sich außerhalb von ibm.com).