Was ist Upsampling?

Mitarbeiter des Unternehmens, die in den Bereichen Softwareentwicklung und Designerbüros arbeiten

Autoren

Jacob Murel Ph.D.

Senior Technical Content Creator

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

3D-Design aus Kugeln, die auf einer Schiene rollen

Die neuesten Erkenntnisse und Insights zu KI

Entdecken Sie von Experten kuratierte Erkenntnisse und Neuigkeiten zu KI, Cloud und mehr im wöchentlichen Newsletter Think. 

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

Mixture of Experts | 28. August, Folge 70

KI entschlüsseln: Wöchentlicher Nachrichtenüberblick

Schließen Sie sich unserer erstklassigen Expertenrunde aus Ingenieuren, Forschern, Produktführern und anderen an, die sich durch das KI-Rauschen kämpfen, um Ihnen die neuesten KI-Nachrichten und Erkenntnisse zu liefern.

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 das Rauschen 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 seine Grenzen. Da das zufällige Oversampling lediglich doppelte Datenpunkte hinzufügt, kann es zu einer Überanpassung führen.3 Dennoch hat es viele Vorteile gegenüber anderen Methoden: 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. Diese 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 lernenden“ 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 Adaptive Synthetic Sampling Approach (ADASYN) ähnelt dem Borderline-SMOTE insofern, als er schwieriger zu erlernende Daten für das Modell generiert. Er zielt aber auch darauf ab, die Verteilung der Daten der Minderheitenklassen zu erhalten.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

Weiterführende Lösungen
IBM watsonx.ai

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
Lösungen im Bereich künstlicher Intelligenz

Setzen Sie KI in Ihrem Unternehmen ein
– mit branchenführendem Fachwissen im Bereich KI und dem umfassenden Lösungsportfolio von IBM an Ihrer Seite.

Erkunden Sie KI-Lösungen
Beratung und Services zu künstlicher Intelligenz (KI)

Die KI-Services von IBM Consulting unterstützen Sie dabei, die Art und Weise, wie Unternehmen mit KI arbeiten, neu zu denken.

KI-Services entdecken
Machen Sie den nächsten Schritt

Profitieren Sie von einem einheitlichen Zugriff auf Funktionen, die den gesamten Lebenszyklus der KI-Entwicklung abdecken. Erstellen Sie leistungsstarke KI-Lösungen mit benutzerfreundlichen Oberflächen, Workflows und Zugriff auf branchenübliche APIs und SDKs.

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