23.11.2013 Aufrufe

Generative oversampling for mining imbalanced data sets

Generative oversampling for mining imbalanced data sets

Generative oversampling for mining imbalanced data sets

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

Westfälische Wilhelms-Universität Münster<br />

Thema:<br />

<strong>Generative</strong> <strong>oversampling</strong> <strong>for</strong> <strong>mining</strong> <strong>imbalanced</strong> <strong>data</strong> <strong>sets</strong><br />

Ausarbeitung<br />

im Rahmen des Seminars:<br />

Ausgewählte Kapitel aus dem Bereich Softcomputing<br />

im Fachgebiet In<strong>for</strong>matik<br />

Themensteller:<br />

Betreuer:<br />

vorgelegt von:<br />

Prof. Dr. Wolfram-M. Lippe<br />

Dr. Dietmar Lammers<br />

Marcel Heddier<br />

Hollandtstraße 42<br />

48161 Münster<br />

m.heddier@uni-muenster.de<br />

Abgabetermin: 2008-01-31


- II -<br />

Inhaltsverzeichnis<br />

Inhaltsverzeichnis ............................................................................................................. II<br />

1 Einleitung ...................................................................................................................... 1<br />

2 Grundlagen .................................................................................................................... 2<br />

2.1 Klassifikationsproblem .......................................................................................... 2<br />

2.2 Imbalanced <strong>data</strong> <strong>sets</strong> / Nicht-balancierte Datensätze ............................................. 2<br />

3 Resampling ................................................................................................................... 5<br />

3.1 Undersampling ....................................................................................................... 5<br />

3.1.1 Random Undersampling ............................................................................... 6<br />

3.1.2 NearMiss ...................................................................................................... 6<br />

3.1.3 Cost-proportionate rejection sampling ......................................................... 6<br />

3.2 Oversampling ......................................................................................................... 7<br />

3.2.1 Random Oversampling ................................................................................. 8<br />

3.2.2 Synthetic Minority Oversampling TEchnique (SMOTE) ............................ 8<br />

4 <strong>Generative</strong> Oversampling ........................................................................................... 10<br />

4.1 Motivation ............................................................................................................ 10<br />

4.2 Algorithmus ......................................................................................................... 10<br />

4.3 Empirische Forschungsergebnisse ....................................................................... 12<br />

5 Zusammenfassung ...................................................................................................... 14<br />

Literaturverzeichnis ......................................................................................................... 15


Westfälische Wilhelms-Universität Münster<br />

1 Einleitung<br />

Wenn im Bereich des Data-Mining mithilfe von Klassifikationsalgorithmen Datensätze<br />

klassiert werden sollen, deren A-Priori-Verteilung auf die Klassen oder deren Fehlklassifizierungskosten<br />

sehr unausgeglichen sind, dann entstehen Probleme beim überwachten Anlernen<br />

der Klassifikationsalgorithmen. Eine Art diesen Problemen zu begegnen ist das Resampling<br />

der Trainingsdaten. Dabei werden Daten dem Trainingsdatensatz auf bestimmte<br />

Art und Weise hinzugefügt oder aus diesem entfernt, um so die A-Priori-Verteilung auf die<br />

Klassen auszugleichen. Es existiert eine Reihe von Resampling Algorithmen, die diesen<br />

Ansatz verfolgen. Einer dieser Ansätze ist das <strong>Generative</strong> Oversampling, das in dieser Arbeit<br />

beschrieben wird.<br />

Die Arbeit ordnet den Resampling-Algorithmus <strong>Generative</strong> Oversampling in den Kontext<br />

der bereits vorhandenen Resampling-Algorithmen ein. Es werden zunächst die Grundlagen<br />

eines Klassifikationsproblems und des Problems der nicht-balancierten Datensätze vermittelt.<br />

Anschließend wird in Kapitel 3 ein Überblick über eine Auswahl von Resampling Algorithmen<br />

und deren Funktionsweise gegeben. Dabei werden die Vor- und Nachteile der<br />

jeweiligen Algorithmen aufgezeigt.<br />

Darauf folgend wird in Kapitel 4 der Resampling Algorithmus <strong>Generative</strong> Oversampling<br />

detailliert betrachtet. Es wird zunächst die Motivation zur Entwicklung dieses Algorithmus<br />

erläutert. Anschließend wird auf die Funktionsweise und die Restriktionen des Algorithmus<br />

eingegangen. Die Effektivität des <strong>Generative</strong> Oversampling im Vergleich zu anderen<br />

Resampling Algorithmen wird im letzten Teil durch die Ergebnisse einer empirischen Studie<br />

belegt.


- 2 -<br />

2 Grundlagen<br />

2.1 Klassifikationsproblem<br />

Im Data Mining stellt sich häufig das Problem der Klassierung von Daten. Hierbei soll eine<br />

Menge von N Daten einer Menge von M Klassen eindeutig zugeordnet werden. Die Zuordnung<br />

der Daten erfolgt dabei anhand der Merkmalsausprägungen der einzelnen Datensätze.<br />

Daten innerhalb einer Klasse sollen möglichst homogen sein, während Daten aus unterschiedlichen<br />

Klassen möglichst heterogen sein sollen.<br />

Es existiert eine Reihe von Klassifikationsalgorithmen, die in der Lage sind, eine solche<br />

Zuordnung vorzunehmen. Zu nennen sind in diesem Zusammenhang das k-Nearest-<br />

Neighbor-Verfahren (kNN), die Support-Vector-Machines (SVM), der Multinomiale Naive<br />

Bayes-Algorithmus und künstliche Neuronale Netze (KNN).<br />

Diese Algorithmen werden mithilfe von Trainingsdaten angelernt. Dafür unterteilt man die<br />

zu klassierenden Daten in einen Trainings- und einen Testdatensatz. Der Trainingsdatensatz<br />

dient zur Anpassung der Parameter eines Klassifikationsalgorithmus, während der<br />

Testdatensatz zur Kontrolle und zur Messung der Güte eines Klassifikationsalgorithmus<br />

herangezogen wird.<br />

Oft wird eine Einteilung in lediglich zwei Klassen vorgenommen. Bei diesem sogenannten<br />

Zwei-Klassen-Klassifikationsproblem werden also alle Daten entweder der einen oder der<br />

anderen Klasse zugeordnet. Im Folgenden wird ausschließlich das Zwei-Klassen-<br />

Klassifikationsproblem betrachtet.<br />

2.2 Imbalanced <strong>data</strong> <strong>sets</strong> / Nicht-balancierte Datensätze<br />

Von einem nicht-balancierten Datensatz spricht man, wenn die Verteilung der Daten auf<br />

die Klassen in einem Zwei-Klassen Klassifikationsproblem ungleichmäßig geschieht. Dabei<br />

wird ein Großteil der Daten nur einer Klasse zugeordnet, der sogenannten Majority<br />

Class. Der verbleibende Rest wird der anderen Klasse, der sogenannten Minority Class,<br />

zugeordnet.<br />

Eine solche nicht-balancierte Verteilung der Daten auf die beiden Klassen findet sich in<br />

der Praxis in zahlreichen Anwendungskontexten wieder. Es ist z. B. sehr schwer bei der<br />

automatisierten Erkennung von Ölteppichen nach einen Tankerunglück anhand von Satelli-


- 3 -<br />

tenbildern die wenigen Pixel (Daten) korrekt zu erkennen, die nicht den Ozean, sondern<br />

ausgelaufenes Öl darstellen. 1<br />

Ein weiterer Anwendungsbereich ist die automatisierte Textklassierung. Hierbei möchte<br />

man eine Vielzahl von Texten und Dokumenten jeweils einer bestimmten Textkategorie<br />

(z. B. Wissenschaftlicher Text, Zeitungsartikel, Sportartikel, etc.) zuordnen. Um aus diesem<br />

Multi-Klassen Klassierungsproblem ein Zwei-Klassen Klassierungsproblem zu machen<br />

deklariert man die am wenigsten vorkommende Klasse als Minority Class während<br />

man alle anderen Klassen zur Majority Class zusammenfasst. So entsteht ein nichtbalanciertes<br />

Klassierungsproblem, bei dem ein Großteil der Daten der Majority Class und<br />

der kleine Rest der Minority Class zugeordnet wird. 2<br />

Auch im Bereich der medizinischen Diagnose finden sich Klassierungsprobleme mit nichtbalancierten<br />

Datensätzen. Das automatisierte Erkennen von Krebszellen auf Mammographiebildern<br />

ist ein solches Problem. Ein Großteil der Zellen auf den Bildern ist gesund und<br />

fällt somit in die Majority Class. Die wenigen kranken Krebszellen werden in die Minority<br />

Class eingeordnet. Hier wird klar, von welcher Relevanz eine korrekte Klassierung der<br />

Minority Class Daten ist. Eine Fehldiagnose in der Krebserkennung kann zu fatalen Folgen<br />

für die Gesundheit des Patienten führen. 3<br />

Wie durch die Beispiele klar wurde, ist es in vielen Anwendungsbereichen enorm wichtig,<br />

die Daten, die in die Minority Class gehören, mit den Klassifikationsalgorithmen auch korrekt<br />

zu klassieren. Die ungleiche Verteilung der Daten führt allerdings zu einer Reihe von<br />

Problemen für die korrekte Klassierung der Daten:<br />

• Genauigkeit<br />

Die meisten Klassifikationsalgorithmen basieren auf der Minimierung eines Gesamtfehlers<br />

im Modell. Die wenigen Daten der Minority Class steuern zum Gesamtfehler<br />

relativ wenig In<strong>for</strong>mationen bei und dadurch kann es vorkommen, dass<br />

ein Klassifikationsalgorithmus so trainiert wird, dass er bspw. alle Daten in die Majority<br />

Class einordnet. Da es aber wichtig ist, die wenigen Daten der Minority Class<br />

korrekt zu erkennen, wird ein so trainierter Algorithmus unbrauchbar für die Klassierung<br />

nicht-balancierter Datensätze. 4<br />

1 Vgl. Brekke, Solberg (2005).<br />

2 Vgl. Liu, Ghosh, Martin (2007).<br />

3 Vgl. Böhm et. Al. (2007).<br />

4 Vgl. Visa, Ralescu (2005).


- 4 -<br />

• Verteilung der Daten<br />

Ein Klassifikationsalgorithmus geht implizit davon aus, dass die Trainings- und<br />

Testdaten derselben Verteilung unterliegen. Es kann jedoch vorkommen, dass die<br />

Trainingsdaten nicht-balanciert und die Testdaten balanciert sind oder umgekehrt.<br />

Das hängt ganz davon ab, nach welchem Verfahren die Test- und Trainingsdaten<br />

ausgewählt werden. 5<br />

Wählt man beispielsweise die Trainingsdaten so aus, dass gleichviele Elemente aus<br />

der Minority Class und aus der Majority Class zum Training des Klassifikationsalgorithmus<br />

verwendet werden, so umgeht man zwar einige Probleme, die nichtbalancierte<br />

Datensätze mit sich bringen, jedoch wird so auch ein Unterschied in der<br />

Verteilung von Test- und Trainingsdaten erreicht der unerwünscht ist und bei der<br />

Klassierung zu fehlerhaften Ergebnissen führen kann.<br />

Es hat sich bei experimentellen Studien gezeigt, dass eine balancierte Verteilung<br />

der Trainingsdaten nicht zwangsläufig zum besten Ergebnis führt. 6<br />

• Fehlerkosten<br />

Die Kosten (finanziell oder in Form von Nutzenverlust) für eine fehlerhafte Prognose<br />

von Daten der Minority Class sind i.d.R. sehr hoch. Das Beispiel der Krebszellenerkennung<br />

zeigt deutlich, dass eine Fehldiagnose bei einem krebskranken Patienten<br />

zu schwerwiegenden Folgen führen kann.<br />

Es ist jedoch selbst für Experten auf dem entsprechenden Gebiet nicht immer einfach,<br />

die Kosten einer solchen fehlerhaften Prognose korrekt zu quantifizieren und<br />

sie so in ein entsprechendes Modell einfließen zu lassen. Dennoch gibt es einige<br />

Ansätze die versuchen, die unterschiedlichen Fehlerkosten zu berücksichtigen 7<br />

(Vgl. Kapitel 3.1.3).<br />

5 Vgl. Visa, Ralescu (2005).<br />

6 Vgl. Weiss, Provost (2003).<br />

Vgl. Visa, Ralescu (2005).<br />

7 Vgl. Visa, Ralescu (2005).


- 5 -<br />

3 Resampling<br />

Um den in Kapitel 2.2 genannten Problemen entgegenzuwirken, bedient man sich einer<br />

Methode, welche das ungleiche Verhältnis von Minority und Majority Class relativiert,<br />

dem sogenannten Resampling der Daten.<br />

Dabei unterscheidet man zwei verschiedene Arten des Resamplings. Zum einen lässt sich<br />

durch das Entfernen von Datensätzen aus der Majority Class eine Verschiebung der A-<br />

Priori-Wahrscheinlichkeit zugunsten der Minority Class erreichen. Dieses Vorgehen heißt<br />

Undersampling. Dabei gibt es verschiedene Strategien auf welche Art und Weise Daten<br />

aus der Majority Class entfernt werden (Vgl. Kap. 3.1).<br />

Zum anderen erreicht man durch das Hinzufügen neuer Datensätze zur Minority Class<br />

ebenfalls eine Verschiebung der A-Priori-Wahrscheinlichkeit zugunsten der Minority<br />

Class. Dieses Vorgehen nennt sich Oversampling. Auch hier existiert eine Reihe von verschiedenen<br />

Methoden, die die Daten auf unterschiedliche Weise generieren (Vgl. Kap.<br />

3.2). Zu dieser Klasse der Resampling Algorithmen gehört auch das <strong>Generative</strong> Oversampling.<br />

3.1 Undersampling<br />

Durch das Undersampling wird die Anzahl der Elemente in der Majority Class mithilfe<br />

einer vorher festgelegten Reduktionsstrategie verringert. Dieses Vorgehen hat sowohl Vorals<br />

auch Nachteile:<br />

Durch die kleinere Datenmenge ergeben sich Vorteile im Bereich Per<strong>for</strong>mance und Speicherbedarf<br />

der verwendeten Klassifikationsalgorithmen. Das kann vor allem bei sehr großen<br />

Datenmengen einen erheblichen Unterschied ausmachen.<br />

Jedoch gehen durch das wahllose Entfernen von Daten gegebenenfalls auch wichtige In<strong>for</strong>mationen<br />

über die Entscheidungsgrenze verloren. 8 Diesem Problem versucht man durch<br />

spezielle Heuristiken entgegenzuwirken. Einige der populärsten Undersampling Algorithmen<br />

werden im Folgenden vorgestellt.<br />

8 Vgl. Liu (2004).


- 6 -<br />

3.1.1 Random Undersampling<br />

Durch das Anwenden des Random Undersampling Algorithmus werden zufällig ausgewählte<br />

Elemente der Majority Class entfernt. Durch die Willkür dieses Verfahrens steht<br />

man vor dem o.g. Problem des nicht-steuerbaren Verlustes von relevanten In<strong>for</strong>mationen.<br />

Dennoch hat sich in der Praxis gezeigt, dass das Random Undersampling bis zu einer gewissen<br />

Rate des Resamplings durchaus sehr gute Ergebnisse liefert. 9<br />

Der Vorteil des Random Undersamplings liegt in der einfachen Implementierung des Algorithmus.<br />

Er lässt sich durch einen einfachen Zufallszahlengenerator realisieren und erzielt<br />

so eine gute Per<strong>for</strong>mance.<br />

3.1.2 NearMiss<br />

Der NearMiss Algorithmus 10 versucht den In<strong>for</strong>mationsverlust beim Löschen von Daten so<br />

zu steuern, dass relevante In<strong>for</strong>mationen über die Entscheidungsgrenze erhalten bleiben.<br />

Es werden diejenigen Elemente der Majority Class in den neuen Trainingsdatensatz übernommen,<br />

deren durchschnittlicher Abstand zu den drei nächstgelegenen Elementen der<br />

Minority Class am kleinsten ist. Für die Berechnung des Abstands zwischen den Elementen<br />

kann ein beliebiges Distanzmaß, z. B. der euklidische Abstand, verwendet werden. Das<br />

hat zur Folge, dass die Elemente der Majority Class, die denen aus der Minority Class am<br />

ähnlichsten sind, erhalten bleiben. Es kann davon ausgegangen werden, dass gerade diese<br />

Elemente wichtige In<strong>for</strong>mationen über die Entscheidungsgrenze liefern.<br />

Es existieren noch einige Variationen des NearMiss Algorithmus, welche alle darauf abzielen,<br />

In<strong>for</strong>mationen über die Entscheidungsgrenze im neuen Trainingsdatensatz zu erhalten.<br />

11<br />

3.1.3 Cost-proportionate rejection sampling<br />

Dieser Undersampling Algorithmus versucht die in Kap. 2.2 beschriebenen Fehlklassifizierungskosten<br />

in das Resampling mit einzubringen. Dafür werden jedem Element der Majority<br />

Class Fehlklassifizierungskosten in Höhe von c zugeordnet. Anschließend werden<br />

Elemente zufällig aus der Majority Class gezogen. Jedes gezogene Element wird nun mit<br />

einer Wahrscheinlichkeit von c/z in den neuen Trainingsdatensatz übernommen. Der Pa-<br />

9 Vgl. Liu (2004).<br />

10 Vgl. Zhang, Mani (2003).<br />

11 Vgl. Zhang, Mani (2003).


- 7 -<br />

rameter z ist dabei frei wählbar. Wählt man beispielsweise z so, dass es den Kosten des<br />

Elements der Majority Class entspricht, welches die höchsten Kosten hat, also z = max(c),<br />

so wird gerade dieses Element, sofern es denn gezogen wurde, mit einer Wahrscheinlichkeit<br />

von 1 in den neuen Trainingsdatensatz übernommen. 12<br />

Das hat zur Folge, dass Elemente mit hohen Fehlklassifizierungskosten mit größerer Wahrscheinlichkeit<br />

im neuen Trainingsdatensatz vorhanden sind. Dahinter steht die Annahme,<br />

dass gerade diese Elemente einen hohen In<strong>for</strong>mationsgehalt für die Klassifizierung beinhalten.<br />

Das Problem dieses Vorgehens liegt allerdings darin, die passenden Kosten für die Elemente<br />

zu ermitteln. Eine Quantifizierung von Nutzenverlust ist in der Praxis oftmals sehr<br />

schwierig.<br />

3.2 Oversampling<br />

Im Gegensatz zum Undersampling wird beim Oversampling versucht, die A-Priori-<br />

Wahrscheinlichkeiten zugunsten der Minority Class zu verschieben, indem neue Elemente<br />

in diese Klasse eingefügt werden.<br />

Dabei unterteilen sich die hierfür entwickelten Oversampling Algorithmen in zwei grundlegende<br />

Klassen. Zum einen werden Elemente durch Duplikation bereits vorhandener Minority<br />

Class Elemente erzeugt. Zum anderen werden aufgrund verschiedener Strategien<br />

völlig neue Elemente generiert und der Minority Class hinzugefügt. Das <strong>Generative</strong> Oversampling<br />

fällt unter die Klasse der Algorithmen, die neue Elemente generieren.<br />

Durch das künstliche Aufblähen der Minority Class erhöht sich die Datenmenge des Trainingsdatensatzes.<br />

Das hat zur Folge, dass Klassifikationsalgorithmen weniger per<strong>for</strong>mant<br />

arbeiten und einen höheren Speicherbedarf haben. Allerdings gehen so, anders als beim<br />

Undersampling, eventuell relevante In<strong>for</strong>mationen über die Entscheidungsgrenze nicht<br />

verloren. 13<br />

Im Folgenden werden einige Oversampling Algorithmen vorgestellt und verdeutlicht inwieweit<br />

sich die Duplikation und die Generierung neuer Elemente voneinander unterscheiden.<br />

12 Vgl. Zadrozny, Lang<strong>for</strong>d, Abe (2003).<br />

13 Vgl. Liu (2004).


- 8 -<br />

3.2.1 Random Oversampling<br />

Beim Random Oversampling werden zufällig Elemente aus der Minority Class ausgewählt<br />

und dupliziert. Das geschieht solange, bis ein gewünschtes Verhältnis von Minority und<br />

Majority Class erreicht wurde. Dabei bleibt ein gezogenes Element weiterhin in dem ursprünglichen<br />

Datensatz vorhanden und kann mehrmals gezogen werden. 14<br />

Die Vorteile liegen ähnlich wie beim Random Undersampling in der einfachen Implementierung<br />

des Algorithmus. Durch die bloße Duplikation der Elemente werden hier jedoch<br />

nur vorhandene In<strong>for</strong>mationen dupliziert und keine zusätzlichen generiert. Die künstliche<br />

Gewinnung neuer In<strong>for</strong>mationen aus den bestehenden Daten kann jedoch dafür sorgen,<br />

dass ein Klassifikationsalgorithmus besser angelernt wird.<br />

3.2.2 Synthetic Minority Oversampling TEchnique (SMOTE)<br />

Der SMOTE Algorithmus dupliziert nicht nur einfach die Daten der Minority Class, sondern<br />

er generiert neue Datenpunkte und fügt diese in die Minority Class ein. Dabei geht er<br />

wie folgt vor:<br />

Für ein Element der Minority Class werden die n nächstgelegenen Elemente innerhalb der<br />

Minority Class ausgewählt. Die Konstante n ist dabei ein vorher festzulegender Wert, mit<br />

dem sich die Streuung der neu zu generierenden Datenpunkte beeinflussen lässt. Aus diesen<br />

n Nachbarn werden nun m Elemente zufällig ausgewählt.<br />

Nun wird zwischen dem ausgewählten Minority Class Element und jedem der ausgewählten<br />

m Nachbarn ein Distanzmaß, z. B. der euklidische Abstand, ermittelt. Anschließend<br />

werden neue Datenpunkte generiert, die jeweils zwischen dem Minority Class Element und<br />

einem der m Nachbarn liegen. Dafür wird der ermittelte Abstand mit einer Zufallszahl zwischen<br />

0 und 1 multipliziert und anschließend auf den Merkmalsvektor des Minority Class<br />

Elementes addiert. So entsteht ein neuer Datenpunkt, der auf der Strecke zwischen dem<br />

Minority Class Element und dem Nachbarn liegt. 15<br />

Das geschieht für jedes Element der Minority Class m Mal. Der Wert m legt also fest mit<br />

welcher Rate die Minority Class gesampelt werden soll. Ein Wert von 2 bedeutet bspw.<br />

dass die Minority Class auf 300% der ursprünglichen Größe anwächst. 16<br />

14 Vgl. Liu (2004).<br />

15 Vgl. Chawla et. Al. (2002).<br />

16 Vgl. Chawla et. Al. (2002).


- 9 -<br />

Durch dieses Vorgehen werden der Minority Class künstlich generierte zusätzliche In<strong>for</strong>mationen<br />

hinzugefügt. Dadurch erreicht man eine bessere Anpassung eines Klassifikationsalgorithmus<br />

an den Trainingsdatensatz.<br />

Der Nachteil des SMOTE-Algorithmus liegt darin, dass die neuen Elemente immer zwischen<br />

zwei vorhandenen Elementen der Minority Class liegen und so keine Elemente außerhalb<br />

der konvexen Hülle generiert werden, die durch die Elemente der Minority Class<br />

beschrieben wird. 17 Das hat zur Folge, dass sich die Entscheidungsgrenze in Richtung der<br />

Minority Class verschiebt. Genau dieser Effekt ist aber unerwünscht, da so weniger Daten<br />

in die Minority Class klassiert werden.<br />

Um diesem Effekt entgegenzuwirken, bedarf es der Generierung von Elementen auch außerhalb<br />

der konvexen Hülle der Minority Class-Daten. Im Folgenden wird beschrieben,<br />

wie diese An<strong>for</strong>derung durch das <strong>Generative</strong> Oversampling erfüllt wird.<br />

17 Vgl. Liu, Ghosh, Martin (2007).


- 10 -<br />

4 <strong>Generative</strong> Oversampling<br />

Das <strong>Generative</strong> Oversampling ist ein von LIU, GHOSH und MARTIN entwickelter Oversampling<br />

Algorithmus, der versucht die Probleme bei der Klassierung von nichtbalancierten<br />

Datensätzen zu lösen, indem er neue Datenpunkte aufgrund der vorhandenen<br />

Daten generiert. Die neuen Datenpunkte werden anschließend der Minority Class zugeordnet<br />

und verschieben so die A-Priori-Wahrscheinlichkeit zugunsten der Minority Class.<br />

4.1 Motivation<br />

Die verschiedenen Oversampling Algorithmen unterscheiden sich in der Art und Weise,<br />

wie zusätzliche Datenpunkte erstellt und dem Trainingsdatensatz hinzugefügt werden.<br />

Geht man davon aus, dass die Daten in der Minority Class einer bestimmten aber unbekannten<br />

Verteilung unterliegen, dann sollten die neuen Datenpunkte idealerweise aufgrund<br />

dieser Verteilung generiert werden. Da jedoch diese ursprüngliche Verteilung unbekannt<br />

ist, lässt sich dieses Vorgehen nicht realisieren. Aus diesem Grund werden Heuristiken<br />

verwendet (z. B. Random Oversampling und SMOTE), die versuchen ein ähnliches Ergebnis<br />

zu erzielen.<br />

Das <strong>Generative</strong> Oversampling versucht nun, die natürliche Verteilung der Daten aus der<br />

Minority Class näherungsweise zu modellieren und anschließend anhand dieser Verteilungsannahme<br />

neue Datenpunkte zu generieren. 18<br />

4.2 Algorithmus<br />

Der Algorithmus des <strong>Generative</strong> Oversampling lässt sich in drei Schritte unterteilen.<br />

• Schritt 1<br />

Da die natürliche Verteilung der Daten unbekannt ist, muss ein Verteilungsmodell<br />

gefunden werden, das die Daten in einer geeigneten Art und Weise abbildet. Dabei<br />

macht sich der Algorithmus zunutze, dass in vielen Anwendungsbereichen eine solche<br />

Verteilungsannahme bereits bekannt ist. So lassen sich bspw. viele niedrigdimensionale<br />

Datensätze mit der Normalverteilung und Text-Datensätze mit einer<br />

Multinomialverteilung modellieren. 19<br />

18 Vgl. Liu, Ghosh, Martin (2007).<br />

19 Vgl. Liu, Ghosh, Martin (2007).


- 11 -<br />

Falls jedoch keine geeignete Verteilungsannahme getroffen werden kann, lässt sich<br />

das <strong>Generative</strong> Oversampling nicht anwenden. In diesem Fall muss auf einen anderen<br />

Resampling Algorithmus zurückgegriffen werden.<br />

• Schritt 2<br />

Wurde eine geeignete Verteilung gefunden, so müssen nun die Parameter dieser<br />

Verteilung mithilfe des Trainingsdatensatzes angelernt werden. Unterstellt man<br />

bspw., dass die Daten normalverteilt sind, so sind die Parameter µ und σ aus den<br />

vorhandenen Daten zu berechnen.<br />

Das setzt voraus, dass in der Minority Class absolut gesehen ausreichend Daten<br />

vorhanden sind, denn das Erlernen von Parametern, die die Daten näherungsweise<br />

beschreiben sollen, benötigt aufgrund des zentralen Grenzwertsatzes eine ausreichende<br />

Anzahl Eingabedaten. Bei normalverteilten Daten kann bereits eine Anzahl<br />

von 12 Daten ausreichen (Zwölferregel 20 ). Je mehr Eingabedaten vorhanden sind,<br />

desto besser lassen sich jedoch die Parameter einer Verteilung bestimmen. Bei dem<br />

Problem der nicht-balancierten Datensätze enthält die Minority Class im Verhältnis<br />

zur Majority Class jedoch definitionsgemäß wenige Daten.<br />

<strong>Generative</strong> Oversampling lässt sich also nur anwenden, wenn die Minority Class<br />

lediglich im Verhältnis zur Majority Class klein ist, jedoch absolut gesehen immer<br />

noch ausreichend Daten enthält.<br />

• Schritt 3<br />

Wurde eine geeignete Verteilung gefunden und deren Parameter mithilfe der vorhanden<br />

Daten aus dem Trainingsdatensatz bestimmt, so können nun zufällig Punkte<br />

aus dieser Verteilung gezogen werden und als neue Datenpunkte in die Minority<br />

Class eingefügt werden. Dies geschieht solange, bis das gewünschte Verhältnis von<br />

Minority und Majority Class erreicht wurde.<br />

Der Vorteil dieses Verfahrens gegenüber den anderen Oversampling Algorithmen liegt<br />

darin, dass nun auch Datenpunkte generiert werden können, die außerhalb der konvexen<br />

Hülle liegen, die durch die Daten der Minority Class beschrieben wird. Das hat zur Folge,<br />

dass sich die Entscheidungsgrenze nicht ungewollt zur Minority Class hin verschiebt. Die<br />

Entscheidungsgrenze wird sogar von der Minority Class wegbewegt. 21<br />

20 Vgl. http://de.wikipedia.org/wiki/Zw%C3%B6lferregel – Stand: 26.01.2008<br />

21 Vgl. Liu, Ghosh, Martin (2007).


- 12 -<br />

Ein weiterer Vorteil dieser Methode liegt darin, dass durch die Erzeugung von Datenpunkten,<br />

die bislang noch nicht im Trainingsdatensatz vorhanden waren, die Gefahr des Overfitting<br />

beim Anlernen eines Klassifikationsalgorithmus verringert wird.<br />

4.3 Empirische Forschungsergebnisse<br />

In einer Studie haben LIU, GHOSH und MARTIN das <strong>Generative</strong> Oversampling mit den Resampling<br />

Algorithmen Random Oversampling, Random Undersampling und SMOTE in<br />

der Domäne Textklassifizierung verglichen. Dabei wurden Textdatensätze 22 mit den jeweiligen<br />

Resampling Algorithmen bearbeitet und anschließend klassiert. Der dafür verwendete<br />

Klassifikationsalgorithmus ist der SVM 23 (Support Vector Machines) Algorithmus. Als<br />

Gütekriterium wurde der F-Measure Wert 24 verwendet. 25<br />

Abbildung 1 steht exemplarisch für das Ergebnis der Studie. Hier wurde ein Textdatensatz<br />

aus dem Bereich Sport klassiert und anschließend die Güte mithilfe des F-Measure Werts<br />

bestimmt.<br />

Quelle: Liu, Ghosh, Martin (2007).<br />

Abb. 1: Klassierung eines Sport-Datensatzes<br />

Auf der Ordinate wurde der F-Wert und auf der Abszisse der Grad des Resamplings, also<br />

das Verhältnis von Minority Class und Majority Class nach dem Resampling, abgetragen.<br />

Das <strong>Generative</strong> Oversampling (rote Kurve) erzielte durchgehend die besten Gütewerte.<br />

Desweiteren zeigte sich der Algorithmus robust gegenüber einem hohen Grad des<br />

Resamplings. Der starke Abfall des Random Undersampling (grüne Kurve) bei steigender<br />

22 Die verwendeten Datensätze finden sich unter http://www.ideal.ece.utexas.edu/<strong>data</strong>/doc<strong>data</strong>.tar.gz<br />

23 Vgl. http://de.wikipedia.org/wiki/Support_Vector_Machine - Stand: 16.01.2008<br />

24 Vgl. http://en.wikipedia.org/wiki/Sensitivity_(tests) – Stand: 16.01.2008<br />

25 Vgl. Liu, Ghosh, Martin (2007).


- 13 -<br />

Resamplingrate erklärt sich durch den hohen In<strong>for</strong>mationsverlust, der bei so starkem Undersampling<br />

entsteht. Das <strong>Generative</strong> Oversampling wies ähnliche Gütewerte bei anderen<br />

Textarten auf und hat somit bewiesen, das es im Vergleich zu anderen Resampling Algorithmen<br />

gleichauf bzw. überlegen ist.


- 14 -<br />

5 Zusammenfassung<br />

Die Arbeit hat einen Überblick über das Problem der Klassierung von nicht-balancierten<br />

Datensätzen und die daraus resultierenden Gefahren für das Anlernen eines Klassifikationsalgorithmus<br />

gegeben. Desweiteren wurde eine Reihe von Resampling Algorithmen<br />

vorgestellt und deren Vor- und Nachteile verdeutlicht.<br />

Es wurde gezeigt, dass das <strong>Generative</strong> Oversampling ein relativ einfach zu implementierender<br />

Resampling Algorithmus ist und im Vergleich zu anderen Resampling Algorithmen<br />

gute bzw. bessere Gütewerte erzielt. Dabei ist deutlich geworden, dass sich das <strong>Generative</strong><br />

Oversampling nur unter bestimmten Voraussetzungen anwenden lässt. Es muss eine geeignete<br />

Verteilungsannahme für die Daten der Minority Class existieren und dabei darf die<br />

Minority Class absolut gesehen nicht zu wenige Daten enthalten. Sind diese Voraussetzungen<br />

gegeben, dann lässt sich das <strong>Generative</strong> Oversampling anwenden.<br />

Anhand einer empirischen Studie zur Per<strong>for</strong>manz des <strong>Generative</strong> Oversamplings wurde<br />

gezeigt, dass der Algorithmus, zumindest in der Domäne der Textklassifizierung durch den<br />

Klassifikationsalgorithmus SVM, sehr gute Werte erzielt.<br />

Die Vorteile des <strong>Generative</strong> Oversamplings liegen in der Generierung neuer Datenpunkte<br />

anhand einer Verteilungsannahme. Dadurch werden Punkte auch außerhalb der, durch die<br />

Trainingsdaten beschriebenen konvexen Hülle erzeugt und verhindern so eine unerwünschte<br />

Verschiebung der Entscheidungsgrenze in Richtung der Minority Class. Die Erzeugung<br />

völlig neuer Datenpunkte vermindert außerdem die Gefahr des Overfitting beim Anlernen<br />

der Klassifikationsalgorithmen.


- 15 -<br />

Literaturverzeichnis<br />

Böhm, H., Britsch, S., Fischer, T., Reiser, M. F.: Digitale Mammographie: Klassifikation<br />

der Textur des Brustdrüsengewebes durch topologische Analyse der<br />

Grauwertverteilung mit Minkowski-Funktionalen, In: RöFo - Fortschritte auf dem<br />

Gebiet der Röntgenstrahlen und der bildgebenden Verfahren, Heft S1, 2007.<br />

Brekke, C., Solberg, A. H.: Oil spill detection by satellite remote sensing, In: Remote<br />

Sensing of Environment, Vol. 95, 1/2005, S. 1-13.<br />

Chawla, N., Bowyer, K. W., Hall, L. O., Kegelmeyer, W. P.: SMOTE: Synthetic Minority<br />

Oversampling Technique, In: Journal of Artificial Intelligence Research 16/2002,<br />

S. 341-378.<br />

Liu, A., Ghosh, J., Martin, C.: <strong>Generative</strong> Oversampling <strong>for</strong> Mining Imbalanced Data<strong>sets</strong>,<br />

In: Proceedings of the 2007 International Conference on Data<br />

Mining, DMIN 2007, June 25-28, 2007, Las Vegas, Nevada,<br />

USA, S. 66-72.<br />

Liu, A.: The Effect of Oversampling and Undersampling on Classifying Imbalanced Text<br />

Data<strong>sets</strong>, Thesis 2004 Austin, Texas.<br />

Visa, S., Ralescu, A.: Issues in Mining Imbalanced Data Sets - A Review Paper, In:<br />

Proceedings of the Sixteen Midwest Artificial Intelligence and Cognitive Science<br />

Conference, MAICS-2005, Dayton, April 16-17, 2005, S. 67-73.<br />

Weiss, G., Provost, F.: Learning when training <strong>data</strong> are costly: The effect of class<br />

distribution on tree induction, In: Journal of Artificial Intelligence Research<br />

19/2003, S. 315-354.<br />

Zadrozny, B., Lang<strong>for</strong>d, J., Abe, N.: Cost-sensitive learning by cost-proportionate example<br />

weighting, In: ICDM 2003, Proceeding of the 3 rd IEEE International Conference<br />

on Data Mining, 2003.<br />

Zhang, J., Mani, I.: kNN Approach to Unbalanced Data Distributions: A Case Study<br />

involving In<strong>for</strong>mation Extraction, In: Proceedings of the Workshop on Learning<br />

from Imbalanced Data<strong>sets</strong> II, ICML, Washington DC, 2003.


- 16 -<br />

Abschließende Erklärung<br />

Ich versichere hiermit, dass ich meine Ausarbeitung <strong>Generative</strong> Oversampling <strong>for</strong> <strong>mining</strong><br />

<strong>imbalanced</strong> <strong>data</strong> <strong>sets</strong> selbstständig und ohne fremde Hilfe angefertigt habe, und dass ich<br />

alle von anderen Autoren wörtlich übernommenen Stellen wie auch die sich an die Gedankengänge<br />

anderer Autoren eng anlehnenden Ausführungen meiner Arbeit besonders gekennzeichnet<br />

und die Quellen zitiert habe.<br />

Münster, den 26. Januar 2008

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!