Binäre Klassifikation mit stark unausgeglichenen Klassen

52

Ich habe einen Datensatz in Form von (Features, Binärausgang 0 oder 1), aber 1 kommt ziemlich selten vor. Wenn ich also immer 0 vorhersage, erhalte ich eine Genauigkeit zwischen 70% und 90% (abhängig von den jeweiligen Daten, die ich betrachte) ). Die ML-Methoden geben mir ungefähr die gleiche Genauigkeit, und ich bin der Meinung, dass es in dieser Situation einige Standardmethoden geben sollte, die die Genauigkeit gegenüber der offensichtlichen Vorhersageregel verbessern würden.

Faule Katze
quelle
3
Ich fand diesen Artikel zu diesem Thema sehr hilfreich: svds.com/learning-imbalanced-classes
J. O'Brien Antognini
@ J.O'BrienAntognini Das ist ein wirklich schöner Artikel!
Jinhua Wang

Antworten:

30

Sowohl hxd1011 als auch Frank haben Recht (+1). Resampling und / oder kostensensitives Lernen sind die beiden Hauptmethoden, um das Problem unausgeglichener Daten zu umgehen. Drittens werden Kernel-Methoden verwendet, die unter Umständen weniger vom Klassenungleichgewicht betroffen sind. Lassen Sie mich betonen, dass es keine Patentlösung gibt. Per Definition haben Sie eine Klasse, die in Ihren Stichproben nicht ausreichend vertreten ist.

Trotzdem glaube ich, dass Sie die Algorithmen SMOTE und ROSE sehr hilfreich finden werden. SMOTE verwendet effektiv einen nahe Nachbarn-Ansatz, um Mitglieder der Mehrheitsklasse auszuschließen, während auf ähnliche Weise synthetische Beispiele für eine Minderheitenklasse erstellt werden. ROSE versucht, mithilfe eines geglätteten Bootstrap-Ansatzes Schätzungen der zugrunde liegenden Verteilungen der beiden Klassen zu erstellen und diese für synthetische Beispiele zu verwenden. Beide sind in R, SMOTE im Paket DMwR und ROSE im Paket mit dem gleichen Namen verfügbar . Sowohl SMOTE als auch ROSE führen zu einem Trainingsdatensatz, der kleiner als der ursprüngliche ist.k

Ich würde wahrscheinlich argumentieren, dass eine bessere (oder weniger schlechte) Metrik für den Fall von unausgeglichenen Daten die Verwendung von Cohensk und / oder Receiver-Betriebskennlinien Fläche unter der Kurve ist . Cohens Kappa regelt direkt die erwartete Genauigkeit. Die AUC ist eine Funktion der Sensitivität und Spezifität. Die Kurve ist unempfindlich gegenüber Disparitäten in den Klassenanteilen. Beachten Sie auch hier, dass dies nur Metriken sind, die mit einem großen Salzkorn verwendet werden sollten. Sie sollten sie idealerweise an Ihr spezifisches Problem anpassen und dabei die Gewinne und Kosten berücksichtigen, die korrekte und falsche Klassifizierungen in Ihrem Fall vermitteln. Das habe ich bei Auftriebskurven festgestelltist eigentlich eher informativ in dieser Angelegenheit. Unabhängig von Ihrer Metrik sollten Sie versuchen, einen separaten Test zu verwenden, um die Leistung Ihres Algorithmus zu bewerten. Gerade wegen der Klassenunausgewogenheit ist eine Überanpassung noch wahrscheinlicher, so dass ein Test außerhalb der Stichprobe entscheidend ist.

Die wahrscheinlich beliebteste aktuelle Veröffentlichung zu diesem Thema ist Lernen aus unausgeglichenen Daten von He und Garcia. Es gibt einen sehr schönen Überblick über die Punkte, die ich selbst und in anderen Antworten angesprochen habe. Darüber hinaus halte ich die von Max Kuhn im Rahmen des Caret- Pakets vorgestellte Einführung in die Unterabtastung für Klassenungleichgewichte für eine hervorragende Ressource, um ein Strukturbeispiel dafür zu erhalten, wie Unter- / Überabtastung sowie die Erstellung synthetischer Daten gemessen werden können gegen einander.

usεr11852 sagt Reinstate Monic
quelle
Eine dritte, etwas populäre (und ebenfalls nicht allzu geeignete) Metrik ist die Fläche unter der Kurve der Präzisionsrückrufkurve. Das Papier von Davis & James aus dem Jahr 2006 gilt als Klassiker in dieser Angelegenheit. CV hat einen guten Faden zu . Ich habe kürzlich eine Zeitung mit dem etwas hammigen Titel " Der Precision-Recall-Plot ist informativer als der ROC-Plot bei der Bewertung von Binärklassifikatoren auf unausgeglichenen Datensätzen " gesehen, daher sollte man das auch überprüfen.
usεr11852 sagt Reinstate Monic
1
Für eine Python-Implementierung einer Vielzahl von Daten-Neuabtastungstechniken empfehle ich das Imbalance-Learn-Paket: github.com/scikit-learn-contrib/imbalanced-learn
Vadim Smolyakov
Bei stark unausgewogenen Klassenverteilungen ist AUPRC informativer als AUROC. Details hier nicht enthalten, da dies ein Kommentar ist. Unter vielen Quellen ist eine hier .
Zhubarb
15

Erstens wäre die Bewertungsmetrik für unausgeglichene Daten nicht genau. Angenommen, Sie führen eine Betrugserkennung durch, bei der 99,9% Ihrer Daten kein Betrug sind. Wir können einfach ein Dummy-Modell mit einer Genauigkeit von 99,9% herstellen. (prognostizieren Sie einfach alle Daten ohne Betrug).

Sie möchten Ihre Bewertungsmetrik von Genauigkeit auf etwas anderes ändern, z. B. F1-Punktzahl oder Genauigkeit und Rückruf . Im zweiten Link habe ich bereitgestellt. Es gibt Details und Intuitionen, warum der Präzisionsrückruf funktioniert.

Bei sehr unausgeglichenen Daten kann das Erstellen eines Modells sehr schwierig sein. Sie können mit der Weighted-Loss-Funktion spielen oder nur eine Klasse modellieren. wie eine Klasse SVM oder passen ein Multi-Variate Gaussian (Wie der Link, den ich zuvor bereitgestellt habe.)

Haitao Du
quelle
2
F1
Der Link zu "Präzision und Rückruf" ist tot?
Jason
13

Probleme mit dem Klassenungleichgewicht können entweder durch kostensensitives Lernen oder Resampling behoben werden. Siehe Vor- und Nachteile von kostensensitiven Lernen vs. Probenahme , copypasted unter:


{1} enthält eine Liste der Vor- und Nachteile des kostensensitiven Lernens im Vergleich zur Stichprobe:

2.2 Probenahme

Über- und Unterabtastung können verwendet werden, um die Klassenverteilung der Trainingsdaten zu ändern, und beide Methoden wurden verwendet, um das Klassenungleichgewicht zu behandeln [1, 2, 3, 6, 10, 11]. Der Grund, warum das Ändern der Klassenverteilung der Trainingsdaten das Lernen mit stark verzerrten Datensätzen unterstützt, ist, dass es effektiv ungleichmäßige Fehlklassifizierungskosten verursacht. Wenn man beispielsweise die Klassenverteilung des Trainingssatzes so ändert, dass das Verhältnis von positiven zu negativen Beispielen von 1: 1 zu 2: 1 geht, hat man effektiv ein Fehlklassifizierungskostenverhältnis von 2: 1 zugewiesen. Diese Äquivalenz zwischen der Änderung der Klassenverteilung der Trainingsdaten und der Änderung der Fehlklassifizierungskostenquote ist bekannt und wurde von Elkan formell beschrieben [9].

Es sind Nachteile bekannt, die mit der Verwendung von Stichproben zur Implementierung von kostensensitivem Lernen verbunden sind. Der Nachteil bei Unterabtastung besteht darin, dass potenziell nützliche Daten verworfen werden . Der Hauptnachteil bei der Überabtastung besteht aus unserer Sicht darin, dass durch exakte Kopien vorhandener Beispiele eine Überanpassung wahrscheinlich wird . In der Tat ist es bei Überabtastungen üblich, dass ein Lernender eine Klassifizierungsregel generiert, die ein einzelnes, repliziertes Beispiel abdeckt. Ein zweiter Nachteil der Überabtastung ist, dass sie die Anzahl der Trainingsbeispiele erhöht und somit die Lernzeit verlängert .

2.3 Warum Sampling verwenden?

In Anbetracht der Nachteile der Stichprobenerfassung lohnt es sich zu fragen, warum jemand sie anstelle eines kostensensitiven Lernalgorithmus für den Umgang mit Daten mit einer verzerrten Klassenverteilung und ungleichmäßigen Fehlklassifizierungskosten verwenden würde. Dafür gibt es mehrere Gründe. Der offensichtlichste Grund dafür ist, dass nicht alle Lernalgorithmen kostensensitiv implementiert sind. Daher ist ein wrapperbasierter Ansatz mit Stichproben die einzige Option. Während dies heute sicherlich weniger wahr ist als in der Vergangenheit, behandeln viele Lernalgorithmen (z. B. C4.5) die Kosten im Lernprozess immer noch nicht direkt.

Ein zweiter Grund für die Verwendung von Stichproben ist, dass viele stark verzerrte Datensätze enorm sind und die Größe des Trainingssatzes reduziert werden muss, damit das Lernen möglich ist. In diesem Fall scheint Unterabtastung eine vernünftige und gültige Strategie zu sein. In diesem Artikel wird die Notwendigkeit, die Größe des Trainingssatzes zu reduzieren, nicht berücksichtigt. Wir möchten jedoch darauf hinweisen, dass es für den Fall, dass einige Trainingsdaten verworfen werden müssen, dennoch von Vorteil sein kann, einige der Beispiele der Mehrheitsklassen zu verwerfen, um die Größe des Trainingssatzes auf die erforderliche Größe zu reduzieren, und dann auch einen Kostenfaktor zu verwenden. sensibler Lernalgorithmus, so dass die Menge der verworfenen Trainingsdaten minimiert wird.

Ein letzter Grund, der möglicherweise eher zur Verwendung von Stichproben als zu einem kostensensitiven Lernalgorithmus beigetragen hat, ist, dass Fehlklassifizierungskosten häufig nicht bekannt sind. Dies ist jedoch kein triftiger Grund für die Verwendung von Stichproben über einen kostensensitiven Lernalgorithmus, da das analoge Problem bei Stichproben auftritt - wie sollte die Klassenverteilung der endgültigen Trainingsdaten sein? Wenn diese Kosteninformation nicht bekannt ist, könnte ein Maß wie die Fläche unter der ROC-Kurve verwendet werden, um die Klassifikatorleistung zu messen, und beide Ansätze könnten dann empirisch das richtige Kostenverhältnis / Klassenverteilung bestimmen.

Sie führten auch eine Reihe von Experimenten durch, die nicht schlüssig waren:

Basierend auf den Ergebnissen aller Datensätze gibt es keinen endgültigen Gewinner zwischen kostensensitivem Lernen, Über- und Unterabtastung

Sie versuchen dann zu verstehen, welche Kriterien in den Datensätzen möglicherweise darauf hindeuten, welche Technik besser geeignet ist.

Sie bemerken auch, dass SMOTE einige Verbesserungen bringen kann:

Es gibt eine Vielzahl von Verbesserungen, die Menschen vorgenommen haben, um die Wirksamkeit der Probenahme zu verbessern. Einige dieser Verbesserungen umfassen die Einführung neuer „synthetischer“ Beispiele beim Überabtasten [5 -> SMOTE], das Löschen weniger nützlicher Mehrheitsbeispiele beim Unterabtasten [11] und die Verwendung mehrerer Unterabtastwerte, wenn in mindestens einem Beispiel ein Unterabtasten verwendet wird Unterprobe [3]. Während diese Techniken mit Über- und Unterabtastung verglichen wurden, wurden sie im Allgemeinen nicht mit kostensensitiven Lernalgorithmen verglichen. Dies wäre in Zukunft ein Studium wert.


{1} Weiss, Gary M., Kate McCarthy und Bibi Zabar. "Kostensensitives Lernen im Vergleich zur Stichprobe: Welche Methode eignet sich am besten zur Behandlung von unausgeglichenen Klassen mit ungleichen Fehlerkosten?" DMIN 7 (2007): 35 & ndash; 41. https://scholar.google.com/scholar?cluster=10779872536070567255&hl=de&as_sdt=0,22 ; https://pdfs.semanticscholar.org/9908/404807bf6b63e05e5345f02bcb23cc739ebd.pdf

Franck Dernoncourt
quelle
1
Zusammenfassend lässt sich sagen, dass die Ergebnisse, welche Methode besser ist, nicht schlüssig sind und es einfacher ist, die Unter- / Überabtastung zu verwenden. Richtig?
LazyCat,
1
@ LazyCat richtig.
Franck Dernoncourt
Ja, die Plattform hat Einschränkungen. Aber viele von ihnen sind auch Merkmale. Zum Beispiel würde ich annehmen, dass wenn eine lange, detaillierte Antwort wie diese zwei Fragen angemessen beantworten könnte, diese Fragen Duplikate sein müssen. Und wenn es sich nicht um Duplikate handelt, sollte es möglich sein, die Antworten sinnvoll zu variieren, damit sie nicht nur kopiert werden. Welche Maßnahme sollte in diesem Fall ergriffen werden? (cc @gung)
whuber
@whuber Die andere Frage wurde bereits geschlossen :-)
Franck Dernoncourt
1
Okay - das ist ein überzeugendes Argument!
whuber
6

Mehrere Antworten auf diese Frage haben bereits mehrere verschiedene Ansätze geliefert, die alle gültig sind. Dieser Vorschlag stammt aus einem Artikel und einer zugehörigen Software von Gary King, einem angesehenen Politikwissenschaftler in Harvard. Er hat einen Artikel mit dem Titel " Logistic Regression in Rare Events Data" mitverfasst, der einige ziemlich schlüssige Lösungen bietet.

Hier ist die Zusammenfassung:

Wir untersuchen Daten zu seltenen Ereignissen, binär abhängige Variablen mit Dutzenden bis Tausenden von Einsen (Ereignisse wie Kriege, Vetos, Fälle von politischem Aktivismus oder epidemiologische Infektionen) als Nullen ("Nichtereignisse"). In vielen Literaturstellen erwiesen sich diese Variablen als schwierig zu erklären und vorherzusagen, ein Problem, das mindestens zwei Ursachen zu haben scheint. Erstens können beliebte statistische Verfahren wie die logistische Regression die Wahrscheinlichkeit seltener Ereignisse stark unterschätzen. Wir empfehlen Korrekturen, die die bestehenden Methoden übertreffen und die Schätzungen des absoluten und relativen Risikos um so viel wie einige in der Literatur angegebene geschätzte Auswirkungen ändern. Zweitens sind häufig verwendete Datenerfassungsstrategien für Daten zu seltenen Ereignissen äußerst ineffizient. Die Angst, Daten mit zu wenigen Ereignissen zu sammeln, hat zu Datenerhebungen mit sehr vielen Beobachtungen geführt, aber relativ wenigen und schlecht gemessenen erklärenden Variablen, wie in internationalen Konfliktdaten mit mehr als einer Viertelmillion Dyaden, von denen nur einige wenige sind im Krieg. Wie sich herausstellt, gibt es effizientere Stichprobenentwürfe, um gültige Schlussfolgerungen zu ziehen, beispielsweise Stichproben für alle variablen Ereignisse (z. B. Kriege) und einen winzigen Bruchteil von Nichtereignissen (Frieden). Dies ermöglicht es Wissenschaftlern, bis zu 99% ihrer (nicht fixierten) Datenerfassungskosten einzusparen oder viel aussagekräftigere erklärende Variablen zu erfassen. Wir bieten Methoden, die diese beiden Ergebnisse verknüpfen, sodass beide Arten von Korrekturen gleichzeitig ausgeführt werden können, sowie Software, die die entwickelten Methoden implementiert. und schlecht gemessene, erklärende Variablen, wie in internationalen Konfliktdaten mit mehr als einer Viertelmillion Dyaden, von denen sich nur wenige im Krieg befinden. Wie sich herausstellt, gibt es effizientere Stichprobenentwürfe, um gültige Schlussfolgerungen zu ziehen, beispielsweise Stichproben für alle variablen Ereignisse (z. B. Kriege) und einen winzigen Bruchteil von Nichtereignissen (Frieden). Dies ermöglicht es Wissenschaftlern, bis zu 99% ihrer (nicht fixierten) Datenerfassungskosten einzusparen oder viel aussagekräftigere erklärende Variablen zu erfassen. Wir bieten Methoden, die diese beiden Ergebnisse verknüpfen, sodass beide Arten von Korrekturen gleichzeitig ausgeführt werden können, sowie Software, die die entwickelten Methoden implementiert. und schlecht gemessene, erklärende Variablen, wie in internationalen Konfliktdaten mit mehr als einer Viertelmillion Dyaden, von denen sich nur wenige im Krieg befinden. Wie sich herausstellt, gibt es effizientere Stichprobenentwürfe, um gültige Schlussfolgerungen zu ziehen, beispielsweise Stichproben für alle variablen Ereignisse (z. B. Kriege) und einen winzigen Bruchteil von Nichtereignissen (Frieden). Dies ermöglicht es Wissenschaftlern, bis zu 99% ihrer (nicht fixierten) Datenerfassungskosten einzusparen oder viel aussagekräftigere erklärende Variablen zu erfassen. Wir bieten Methoden, die diese beiden Ergebnisse verknüpfen, sodass beide Arten von Korrekturen gleichzeitig ausgeführt werden können, sowie Software, die die entwickelten Methoden implementiert. Es gibt effizientere Stichprobenentwürfe, um gültige Schlussfolgerungen zu ziehen, z. B. Stichproben aller variablen Ereignisse (z. B. Kriege) und einen winzigen Bruchteil von Nichtereignissen (Frieden). Dies ermöglicht es Wissenschaftlern, bis zu 99% ihrer (nicht fixierten) Datenerfassungskosten einzusparen oder viel aussagekräftigere erklärende Variablen zu erfassen. Wir bieten Methoden, die diese beiden Ergebnisse verknüpfen, sodass beide Arten von Korrekturen gleichzeitig ausgeführt werden können, sowie Software, die die entwickelten Methoden implementiert. Es gibt effizientere Stichprobenentwürfe, um gültige Schlussfolgerungen zu ziehen, z. B. Stichproben aller variablen Ereignisse (z. B. Kriege) und einen winzigen Bruchteil von Nichtereignissen (Frieden). Dies ermöglicht es Wissenschaftlern, bis zu 99% ihrer (nicht fixierten) Datenerfassungskosten einzusparen oder viel aussagekräftigere erklärende Variablen zu erfassen. Wir bieten Methoden, die diese beiden Ergebnisse verknüpfen, sodass beide Arten von Korrekturen gleichzeitig ausgeführt werden können, sowie Software, die die entwickelten Methoden implementiert.

Hier ist ein Link zum Artikel ... http://gking.harvard.edu/files/abs/0s-abs.shtml

Mike Hunter
quelle
Vielen Dank, - wenn Sie die Zeitung lesen, schlagen sie etwas Wichtiges vor, das über die oben vorgeschlagene Untererhebung hinausgeht?
LazyCat
4
Dies ist eine gute Zeitung, ich habe sie mehr als einmal gelesen! (+1) Ich denke, Sie sollten jedoch darauf hinweisen, dass das Papier auch an Schlussfolgerungen interessiert ist. Aus diesem Grund wäre ein GBM für einen Politikwissenschaftler weniger nützlich als ein GLM. Zum Beispiel, wenn Baummethoden verwendet werden: " ... können zwei rekursive Partitionierungsalgorithmen die gleiche Vorhersagegenauigkeit erzielen, aber gleichzeitig strukturell unterschiedliche Regressionsbeziehungen darstellen, dh unterschiedliche Modelle und somit zu unterschiedlichen Schlussfolgerungen über den Einfluss führen von bestimmten Kovariaten auf die Antwort. "(Hothorn et al. 2006)
usεr11852 sagt Reinstate Monic
2

Die Entwicklung von Klassifikatoren für Datensätze mit unausgeglichenen Klassen ist ein häufiges Problem beim maschinellen Lernen. Dichtebasierte Methoden können in einer solchen Situation erhebliche Vorteile gegenüber "traditionellen Klassifikatoren" haben.

p^(X|yC)CC={X:yich=0}

Xy^(X)Cy^(X)C

Sie können sich auf das folgende Papier beziehen:

"Ein berechenbarer Plug-in-Schätzer für Mindestvolumensätze zur Erkennung von Neuheiten", C. Park, J. Huang und Y. Ding, Operations Research, 58 (5), 2013.

Rodrigo
quelle
2

Dies ist ein Problem, bei dem die Erkennung von Anomalien ein nützlicher Ansatz ist. Dies ist im Grunde das, was Rodrigo in seiner Antwort beschrieben hat, in der Sie das statistische Profil Ihrer Trainingsklasse bestimmen und einen Wahrscheinlichkeitsschwellenwert festlegen, ab dem zukünftige Messungen als nicht zu dieser Klasse gehörend bestimmt werden. Hier ist ein Video-Tutorial , das Ihnen den Einstieg erleichtern soll. Sobald Sie dies aufgegriffen haben, würde ich empfehlen, die Schätzung der Kerneldichte nachzuschlagen.

DrMcCleod
quelle