Was ist die Hauptursache für das Problem des Klassenungleichgewichts?


30

Ich habe in letzter Zeit viel über das "Klassenungleichgewichtsproblem" beim maschinellen / statistischen Lernen nachgedacht und gehe immer tiefer in das Gefühl ein, dass ich einfach nicht verstehe, was los ist.

Lassen Sie mich zuerst meine Begriffe definieren (oder versuchen, sie zu definieren):

Das Problem des Klassenungleichgewichts beim maschinellen / statistischen Lernen ist die Beobachtung, dass einige Algorithmen für die binäre Klassifizierung (*) nicht gut funktionieren, wenn das Verhältnis von 0 Klassen zu 1 Klassen stark verzerrt ist.

Also, in den oben genannten, zum Beispiel, wenn es ein-hundert 0 Klassen für jede einzelne 1 - Klasse, würde ich sagen , die Klasse Ungleichgewicht ist 1 zu 100 oder 1% .

Den meisten Aussagen zu dem Problem, die ich gesehen habe, fehlt das, was ich für eine ausreichende Qualifikation halte (welche Modelle kämpfen, wie unausgewogen ein Problem ist), und dies ist eine Quelle meiner Verwirrung.

Eine Übersicht über die Standardtexte im maschinellen / statistischen Lernen ergibt wenig:

  • Elemente des statistischen Lernens und der Einführung in das statistische Lernen enthalten kein "Klassenungleichgewicht" im Index.
  • Maschinelles Lernen für Predictive Data Analytics enthält im Index auch kein "Klassenungleichgewicht".

  • Murphy Machine Learning: Eine probabilistische Perspektive hat „Klasse Ungleichgewicht * im Index enthalten Der Verweis auf einen Abschnitt über die SVM ist ist, wo ich die folgende verlockende Kommentar vorhanden.:

    Es sei daran erinnert, dass all diese Schwierigkeiten und die Fülle von Heuristiken, die vorgeschlagen wurden, um sie zu beheben, im Wesentlichen darauf zurückzuführen sind, dass SVMs Unsicherheiten nicht anhand von Wahrscheinlichkeiten modellieren, sodass ihre Output-Scores nicht klassenübergreifend vergleichbar sind.

Dieser Kommentar steht in Einklang mit meiner Intuition und Erfahrung: Bei meinem vorherigen Job haben wir routinemäßig logistische Regressionen und gradientenverstärkte Baummodelle (um die Wahrscheinlichkeit von binomialen Logarithmen zu minimieren) mit unausgeglichenen Daten (in der Größenordnung eines Klassenungleichgewichts von 1% ) in Einklang gebracht offensichtliche Probleme bei der Leistung.

Ich habe (irgendwo) gelesen, dass auf Klassifikationsbäumen basierende Modelle (Bäume selbst und zufällige Wälder) ebenfalls unter dem Problem des Klassenungleichgewichts leiden. Dies trübt das Wasser ein wenig, Bäume geben in gewisser Weise Wahrscheinlichkeiten zurück: Der Abstimmungsdatensatz für die Zielklasse in jedem Endknoten des Baums.

Um es zusammenzufassen, ich bin wirklich auf der Suche nach einem konzeptionellen Verständnis der Kräfte, die zum Problem des Klassenungleichgewichts führen (falls vorhanden).

  • Tun wir uns das mit schlecht gewählten Algorithmen und faulen Standardklassifizierungsschwellen?
  • Verschwindet es, wenn wir immer Wahrscheinlichkeitsmodelle anpassen, die die richtigen Bewertungskriterien optimieren? Anders gesagt, ist die Ursache einfach eine schlechte Wahl der Verlustfunktion, dh die Bewertung der Vorhersagekraft eines Modells auf der Grundlage strenger Klassifizierungsregeln und der Gesamtgenauigkeit?
  • Wenn ja, sind Modelle, die die richtigen Bewertungsregeln nicht optimieren, dann nutzlos (oder zumindest weniger nützlich)?

(*) Mit Klassifizierung meine ich jedes statistische Modell, das an binäre Antwortdaten angepasst ist. Ich gehe nicht davon aus, dass mein Ziel eine schwere Aufgabe für die eine oder andere Klasse ist, auch wenn es so sein mag.


1
Ein offensichtliches Problem kann entstehen, wenn der Lernende den Verlust jeder Klasse gleich bestraft. Die Rückgabe derselben Klasse kann theoretisch den Gesamtverlust minimieren.
Firebug

1
Ich habe vergessen, poor choice of loss functionin meine Liste aufzunehmen. Glauben Sie also, dass dies auch für ordnungsgemäße Bewertungsregeln als Verlustfunktionen zutrifft?
Matthew Drury

Ich glaube schon. Ich denke, wir können ein Problem formulieren, bei dem die Minimierung des Verlusts der größeren Klasse nur den Verlust des gesamten Problems minimiert, während im Allgemeinen die Minderheitenklasse von größerem Interesse ist.
Firebug

3
Ich stimme den Ansichten der Frage zu. Ich hatte eine Arbeitshypothese (die ich gerne ablehne), dass es kein Klassenungleichgewichtsproblem per se gibt, nur dass wir mit Verlustfunktionen trainieren, die nicht das darstellen, was wir zur Messung des Erfolgs an Testdaten verwenden werden. Und es ist schwer, dies als Fehler zu bezeichnen, da es fast Standardpraxis ist: Beispielsweise ist es nicht Standard, die AUC- oder F1-Punktzahl direkt zu optimieren, aber dies sind übliche Erfolgsmetriken für Probleme mit dem Klassenungleichgewicht. Vielleicht ist das das Problem des Klassenungleichgewichts?
DavidR

9
Die Ursache für das Klassenungleichgewichtsproblem ist die Konvention, Genauigkeit als Verlustfunktion zu verwenden. Klassenungleichgewicht ist ein Problemmerkmal (z. B. Diagnose seltener Krankheiten), das mit verschiedenen Strategien behandelt werden kann. Die Verwendung eines Klassengewichts, das umgekehrt proportional zur Klassengröße ist, wenn die Verlustfunktion berechnet wird, ist eine davon. Davon abgesehen ist AUC als Verlustfunktion eine gute Idee, da speziell zwischen wahr-positiv und falsch-positiv unterschieden wird. Daher ist das Kernproblem des Klassenungleichgewichts die Verlustfunktion. Tolle Frage, die ich nicht zu beantworten wage.
Nikolas Rieble

Antworten:


4

Ein Eintrag aus der Enzyklopädie des maschinellen Lernens ( https://cling.csd.uwo.ca/papers/cost_sensitive.pdf ) erklärt hilfreich, dass das, was als "Klassenungleichgewichtsproblem" bezeichnet wird, besser als drei separate Probleme verstanden wird:

 (1) assuming that an accuracy metric is appropriate when it is not

 (2) assuming that the test distribution matches the training 
     distribution when it does not

 (3) assuming that you have enough minority class data when you do not

Die Autoren erklären:

Die klassenunausgeglichenen Datasets treten in vielen realen Anwendungen auf, in denen die Klassenverteilungen von Daten stark unausgeglichen sind. Ohne den Verlust der Allgemeinheit nehmen wir wieder an, dass die Minderheit oder die seltene Klasse die positive Klasse ist und die Mehrheitsklasse die negative Klasse. Häufig ist die Minderheitenklasse sehr klein, z. B. 1% des Datensatzes. Wenn wir die meisten herkömmlichen (kostenunabhängigen) Klassifikatoren auf das Dataset anwenden, werden sie wahrscheinlich alles als negativ vorhersagen (die Mehrheitsklasse). Dies wurde oft als Problem beim Lernen aus stark unausgeglichenen Datensätzen angesehen.

Wie jedoch in (Provost, 2000) ausgeführt, werden bei den traditionellen kostenunempfindlichen Klassifikatoren häufig zwei grundlegende Annahmen getroffen. Das erste ist, dass das Ziel der Klassifizierer darin besteht, die Genauigkeit zu maximieren (oder die Fehlerrate zu minimieren); Das zweite ist, dass die Klassenverteilung der Trainings- und Testdatensätze gleich ist. Unter diesen beiden Voraussetzungen ist es häufig richtig, alles als negativ für einen stark unausgeglichenen Datensatz vorherzusagen. (Drummond und Holte, 2005) zeigen, dass es in dieser Situation normalerweise sehr schwierig ist, diesen einfachen Klassifikator zu übertreffen.

Somit wird das Problem der unausgewogenen Klassen nur dann von Bedeutung, wenn eine oder beide der beiden oben genannten Annahmen nicht zutreffen. Das heißt, wenn die Kosten für verschiedene Fehlertypen (falsch positiv und falsch negativ in der binären Klassifikation) nicht gleich sind oder wenn sich die Klassenverteilung in den Testdaten von der der Trainingsdaten unterscheidet. Der erste Fall kann mit Methoden des kostensensitiven Meta-Lernens effektiv behandelt werden.

In dem Fall, dass die Fehlklassifizierungskosten nicht gleich sind, ist es normalerweise teurer, ein (positives) Beispiel einer Minderheit in die Mehrheits- (negative) Klasse zu klassifizieren, als ein Beispiel einer Mehrheit in die Minderheitsklasse (ansonsten ist es plausibler, alles als zu prognostizieren) Negativ). Das heißt, FN> FP. Angesichts der Werte von FN und FP können und wurden verschiedene kostensensitive Methoden des Meta-Lernens eingesetzt, um das Problem des Klassenungleichgewichts zu lösen (Ling und Li, 1998; Japkowicz und Stephen, 2002). Wenn die Werte von FN und FP nicht explizit unbekannt sind, können FN und FP proportional zu p (-) zugewiesen werden: p (+) (Japkowicz und Stephen, 2002).

Wenn die Klassenverteilungen von Trainings- und Testdatensätzen unterschiedlich sind (z. B. wenn die Trainingsdaten stark unausgewogen sind, die Testdaten jedoch ausgewogener), besteht ein offensichtlicher Ansatz darin, die Trainingsdaten so abzutasten, dass ihre Klassenverteilung gleich ist wie die Testdaten (durch Überabtastung der Minderheitsklasse und / oder Unterabtastung der Mehrheitsklasse) (Provost, 2000).

Beachten Sie, dass die Anzahl der Beispiele für die Minderheitenklasse manchmal zu gering ist, um von den Klassifizierern angemessen gelernt zu werden. Dies ist das Problem unzureichender (kleiner) Trainingsdaten, die sich von denen der unausgeglichenen Datensätze unterscheiden.

Wie Murphy andeutet, ist die Verwendung von unausgeglichenen Klassen nicht grundsätzlich problematisch, vorausgesetzt, Sie vermeiden diese drei Fehler. Modelle, die posteriore Wahrscheinlichkeiten liefern, erleichtern die Vermeidung von Fehlern (1) als diskriminante Modelle wie SVM, da Sie mit ihnen Rückschlüsse von Entscheidungen trennen können. (Weitere Informationen zu diesem letzten Punkt finden Sie in Bischofs Abschnitt 1.5.4 Schlussfolgerung und Entscheidung .)

Hoffentlich hilft das.


1
Ich würde etwas Ähnliches posten. Ein kleiner Kommentar - Ich finde es verrückt, die größere Klasse zu unterbemustern. Dies wirft Ihre Daten weg und wird mit Sicherheit kein besseres Ergebnis liefern. Ich mag den Gedanken, Inferenz und Klassifikation aufzuteilen. Der Inferenzteil ist nicht von einem Ungleichgewicht betroffen, aber die Entscheidungsfindung (Klassifizierung) kann stark beeinflusst werden.
Wahrscheinlichkeitsrechnung

@probabilityislogic (und Bill Vander Lugt): Es gibt ein weiteres mögliches Problem, das in diesem Text nicht erörtert wird: ob ein diskriminierender Ansatz angemessen ist. Wenn ein diskriminierendes Modell, bei dem eine Klasse angemessener wäre, nicht ausreichend gewählt wird, kann dies auch zu "Problemen mit dem Klassenungleichgewicht" führen.
cbeleites unterstützt Monica

8

Alles, was eine Optimierung zur Minimierung einer Verlustfunktion beinhaltet, ergibt, wenn es ausreichend konvex ist, eine Lösung, die ein globales Minimum dieser Verlustfunktion darstellt. Ich sage "ausreichend konvex", da tiefe Netzwerke nicht im Großen und Ganzen konvex sind, sondern in der Praxis angemessene Mindestwerte angeben, mit sorgfältiger Auswahl der Lernrate usw.

Daher wird das Verhalten solcher Modelle durch das definiert, was wir in die Verlustfunktion einfügen.

F

yf=f(x)

FGbFFbG

yg={Bif f(x)>bAotherwise

bG

FGG

Nehmen wir nun an, wir haben eine Verlustfunktion, die lautet:

L=1Nn=1NIyig(xi)

Ic1c0yiig(xi)i

990.9=89.1990.1=9.910.9=0.910.1=0.1

L=(9.9+0.1)/100=0.1

G1/100

L=0.01

Zehnmal niedriger als der Verlust, wenn der Schwellenwert so eingestellt wird, dass jeder Klasse der gleiche Erinnerungswert und die gleiche Genauigkeit zugewiesen werden.

GG

G

Alternativ können wir den Datensatz durch 99-maliges Klonen jedes B-Beispiels modifizieren, wodurch auch die Verlustfunktion an einer Position, die sich von unserer früheren idealen Schwelle unterscheidet, kein Minimum mehr aufweist.


4
Können Sie bitte versuchen, Ihre Antwort auf die gestellten Fragen etwas genauer zu formulieren? Während es klar nachdenklich ist, liest es sich hauptsächlich als Kommentar und nicht als Antwort. Beispielsweise könnte man nur zu Kommentierungszwecken argumentieren, dass die Verwendung einer falschen Bewertungsregel wie der definierten Verlustfunktion grundsätzlich falsch ist und daher die nachfolgende Analyse ungültig ist.
usεr11852 sagt Reinstate Monic

G

2
FPTPk

FFGFFG

3
Dies setzt implizit voraus, (1) dass der KPI, den wir zu maximieren versuchen, Genauigkeit ist, und (2) dass Genauigkeit ein geeigneter KPI für die Bewertung des Klassifizierungsmodells ist. Ist es nicht.
S. Kolassa - Wiedereinsetzung von Monica

0

Beachten Sie, dass Ein-Klassen-Klassifizierer kein Ungleichgewichtsproblem haben, da sie jede Klasse unabhängig von allen anderen Klassen betrachten und "Nicht-Klassen" bewältigen können, indem sie sie einfach nicht modellieren. (Möglicherweise haben sie natürlich ein Problem mit zu kleinen Stichproben).

Viele Probleme, die von Ein-Klassen-Klassifizierern besser modelliert würden, führen zu unklaren Modellen, wenn diskriminative Ansätze verwendet werden, von denen "Klassenungleichgewichtsprobleme" ein Symptom sind.

Betrachten Sie als Beispiel ein Produkt, das gut verkauft werden kann oder nicht. Eine solche Situation ist in der Regel gekennzeichnet durch

class         | "good"                        | "not good"
--------------+-------------------------------+------------------------------------------
sample size   | large                         | small
              |                               |
feature space | single, well-delimited region | many possibilities of *something* wrong 
              |                               | (possibly well-defined sub-groups of
              |                               |    particular fault reasons/mechanisms) 
              |                               | => not a well defined region, 
              |                               | spread over large parts of feature space
              |                               |
future cases  | can be expected to end up     | may show up *anywhere* 
              | inside modeled region         | (except in good region)

Somit ist die Klasse "gut" gut definiert, während die Klasse "nicht gut" schlecht definiert ist. Wenn eine solche Situation von einem diskriminierenden Klassifikator modelliert wird, haben wir ein zweifaches "Ungleichgewichtsproblem": Die kleine Stichprobengröße der Klasse "nicht gut" hat nicht nur eine noch geringere Stichprobendichte (weniger Stichproben verteilt auf a größerer Teil des Merkmalsraums).

Diese Art von "Klassenungleichgewichtsproblem" verschwindet, wenn die Aufgabe als eine Klassenerkennung der genau definierten "guten" Klasse modelliert wird.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.