Wann sollte ich Klassen in einem Trainingsdatensatz ausgleichen?

29

Ich hatte einen Online-Kurs, in dem ich erfuhr, dass unausgeglichene Klassen in den Trainingsdaten zu Problemen führen können, da Klassifizierungsalgorithmen für die Mehrheitsregel gelten, da sie gute Ergebnisse liefern, wenn die Unausgeglichenheit zu groß ist. In einer Aufgabe musste man die Daten durch Unterabtastung der Mehrheitsklasse ausgleichen.

In diesem Blog behauptet jedoch jemand, dass ausgeglichene Daten noch schlimmer sind:

https://matloff.wordpress.com/2015/09/29/unbalanced-data-is-a-problem-no-balanced-data-is-worse/

Also welches ist es? Soll ich die Daten ausgleichen oder nicht? Kommt es auf den verwendeten Algorithmus an, da einige möglicherweise in der Lage sind, sich auf die unausgeglichenen Anteile von Klassen einzustellen? Wenn ja, welche sind bei unausgeglichenen Daten zuverlässig?

Zelphir Kaltstahl
quelle

Antworten:

28

Die intuitive Argumentation wurde im Blogpost erklärt:

Wenn unser Ziel die Vorhersage ist, führt dies zu einer eindeutigen Verzerrung. Schlimmer noch, es wird eine permanente Verzerrung in dem Sinne sein, dass wir mit zunehmender Stichprobengröße keine konsistenten Schätzungen haben werden.

Das Problem der (künstlich) ausgeglichenen Daten ist also wahrscheinlich schlimmer als der unausgeglichene Fall.

Ausgeglichene Daten sind gut für die Klassifizierung geeignet, aber Sie verlieren offensichtlich Informationen über Erscheinungshäufigkeiten, die sich auf die Genauigkeitsmetriken selbst und die Produktionsleistung auswirken.

Angenommen, Sie erkennen handgeschriebene Buchstaben aus dem englischen Alphabet (26 Buchstaben). Wenn Sie das Erscheinungsbild jedes Buchstabens übersteuern, wird jeder Buchstabe mit einer Wahrscheinlichkeit von ungefähr 1/26 (richtig oder nicht) klassifiziert, sodass der Klassifizierer die tatsächliche Verteilung der Buchstaben in der ursprünglichen Stichprobe vergisst. Und es ist in Ordnung, wenn der Klassifikator in der Lage ist, jeden Buchstaben mit hoher Genauigkeit zu verallgemeinern und zu erkennen .

Aber wenn Genauigkeit und vor allem Verallgemeinerung nicht "so hoch" sind (ich kann Ihnen keine Definition geben - Sie können es sich nur als "schlimmsten Fall" vorstellen), werden die falsch klassifizierten Punkte höchstwahrscheinlich gleichmäßig auf alle Buchstaben verteilt , so etwas wie:

"A" was misclassified 10 times
"B" was misclassified 10 times
"C" was misclassified 11 times
"D" was misclassified 10 times
...and so on

Im Gegensatz zu ohne Ausgleich (unter der Annahme, dass "A" und "C" viel höhere Wahrscheinlichkeiten für das Auftreten im Text haben)

"A" was misclassified 3 times
"B" was misclassified 14 times
"C" was misclassified 3 times
"D" was misclassified 14 times
...and so on

So erhalten häufige Fälle weniger Fehlklassifizierungen. Ob es gut ist oder nicht, hängt von Ihrer Aufgabe ab. Für die natürliche Texterkennung könnte man argumentieren, dass Buchstaben mit höheren Häufigkeiten praktikabler sind, da sie die Semantik des Originaltexts bewahren und die Erkennungsaufgabe näher an die Vorhersage rücken (wobei Semantik Tendenzen darstellt ). Wenn Sie jedoch versuchen, so etwas wie einen Screenshot des ECDSA-Schlüssels zu erkennen (mehr Entropie -> weniger Vorhersage), hilft es nicht, die Daten unausgeglichen zu halten. Es kommt also wieder darauf an.

Der wichtigste Unterschied besteht darin, dass die Genauigkeitsschätzung selbst voreingenommen ist (wie Sie im Beispiel für ein ausgeglichenes Alphabet sehen können), sodass Sie nicht wissen, wie sich die seltensten oder häufigsten Punkte auf das Verhalten des Modells auswirken.

PS : Sie können jederzeit die Leistung der unausgeglichenen Klassifizierung verfolgen mit Precision / Recall - Metriken ersten und entscheiden , ob Sie hinzufügen müssen oder nicht balanciert.


p(xich|θ)p(xich|θ^)θ^ich-θichEs wird manchmal empfohlen, die Klassen entweder nach der Grundgesamtheit selbst oder nach Parametern neu auszugleichen, die aus einer größeren Stichprobe bekannt sind (daher besserer Schätzer). In der Praxis gibt es jedoch keine Garantie dafür, dass "größere Stichproben" identisch verteilt werden, da die Gefahr besteht, dass bei jedem Schritt voreingenommene Daten abgerufen werden (z. B. englische Briefe aus der Fachliteratur vs. Belletristik vs. die gesamte Bibliothek).

Diese Antwort sollte auch die Anwendbarkeitskriterien für die Bilanzierung klarstellen:

Das Klassenungleichgewichtsproblem wird dadurch verursacht, dass nicht genügend Muster der Minderheitenklasse vorhanden sind, und nicht durch das Verhältnis von positiven und negativen Mustern an sich. Wenn Sie über genügend Daten verfügen, tritt im Allgemeinen das "Klassenungleichgewichtsproblem" nicht auf

Als Fazit ist künstliches Balancieren selten nützlich, wenn der Trainingssatz groß genug ist. Das Fehlen statistischer Daten aus einer größeren, identisch verteilten Stichprobe deutet auch darauf hin, dass kein künstliches Ausgleichen erforderlich ist (insbesondere für die Vorhersage), da sonst die Qualität des Schätzers so gut ist wie "Wahrscheinlichkeit, auf einen Dinosaurier zu treffen":

Wie groß ist die Wahrscheinlichkeit, einen Dinosaurier auf der Straße zu treffen?

1/2 Entweder triffst du einen Dinosaurier oder du triffst keinen Dinosaurier

dk14
quelle
5
Ich denke, neben der Erklärung des Problems, ist die wichtige Erkenntnis aus dieser Antwort, dass man zuerst eine Unwucht versuchen und die Ergebnisse überprüfen sollte, und nur dann, wenn nötig, die Auswuchtung und das Ergebnis überprüfen sollte. +1
Zelphir Kaltstahl
Mit anderen Worten, bei gleichmäßig auf die Trainingsuntermenge verteilten Klassen verliert das Modell seine Genauigkeit in unsichtbaren Daten, oder? Im umgekehrten Fall, in dem Sie versuchen, Einträge eines Datensatzes für Ihre Trainings- / Testuntermengen zufällig zu extrahieren, kann Ihr Klassifikator eine bessere Leistung erbringen?
Christos K.
@ChristosK. Wie viele sagten, ist es schwierig, Vorhersagen zu treffen, wenn man das Problem als Klassifizierung ansieht. Wenn Sie die Verzerrung entfernen (Stichprobe „zufällig“), benötigen Sie in jedem Fall eine größere Stichprobe, um die Leistung zu verbessern. Es ist nur „normalerweise“, dass das Sample groß genug ist, um die Semantik zu bewahren. Ein Überwuchten würde also nur wehtun und wie ein Regularisierungshammer wirken, der alles „abflacht“, ohne es richtig in Betracht zu ziehen. Wie aus der Dinosaurier-Metapher hervorgeht, bedeutet „ausgeglichen“ nicht „gerade“ - Sie führen nur dann einen korrekten Ausgleich durch, wenn Sie wissen, dass einige Wahrscheinlichkeiten in einer „zufälligen“ Stichprobe falsch dargestellt sind.
dk14
1
@ChristosK. Vielen Dank für einige Klarstellungen. Es ist nicht dasselbe, was ich meinte, aber der Ansatz ist sehr ähnlich. Die übliche Empfehlung für die Anwendbarkeit von k-fach ist, dies zu tun, wenn Ihre Erstprobe „ein bisschen klein“ ist. Ich bin mir nicht sicher, aber das Falten sollte nicht schaden - es sind einfach mehr Läufe erforderlich, und je weniger Sie sich um die Vorhersage kümmern, desto weniger kümmern Sie sich um die Verallgemeinerung / Leistung, so tautologisch sie sich anhört :). Insgesamt bedeutet k-fach jedoch im Wesentlichen weniger Verzerrung.
dk14
1
@ChristosK. Oh, und als Warnung kann das Spam / Nicht-Spam-Verhältnis eine instationäre Zufallsvariable sein. Bei all diesen „falschen Nachrichten“, „russischen Trollen“ und anderen Dingen wäre ich vorsichtig mit solchen Annahmen - das Verhältnis könnte auch voreingenommen sein. Vielleicht möchten Sie PrecisionRecall zuerst für Ihre Klassifikatoren schätzen, wenn eine Untererhebung vorliegt - ich möchte lieber (?) Mehr Daten sammeln / generieren.
dk14
17

In Übereinstimmung mit der Bemerkung von @ kjetil-b-halvorsen hat die rasche Übernahme des maschinellen Lernens Forscher über Vorhersage vs. Klassifizierung verwirrt. Wie ich hier ausführlicher beschrieben habe , ist eine Klassifizierung nur in wenigen Fällen angebracht. Wenn das Ergebnis selten (oder zu häufig) ist, sind Wahrscheinlichkeiten alles, weil man in diesem Fall nur vernünftigerweise über Tendenzen sprechen kann , nicht über die Vorhersage einzelner Ereignisse.

In der Statistik haben wir vor einiger Zeit erfahren, dass jede Methode, bei der ein Teil der Daten ausgeschlossen werden muss, höchst verdächtig ist. Das Ziel, die Ergebnisse auszugleichen, ist falsch. Die Vorhersage von Tendenzen (Wahrscheinlichkeiten) erfordert dies nicht. Und sobald Sie eine Wahrscheinlichkeit geschätzt haben, können Sie eine optimale Entscheidung treffen, indem Sie die Funktion Nutzen / Kosten / Verlust auf das vorhergesagte Risiko anwenden.

Frank Harrell
quelle
1

Kommt darauf an, was Sie mit der Klassifizierung erreichen wollen?

Angenommen, es handelt sich um Krebs, nicht um Krebs, dann ist die Erkennung von Krebs von entscheidender Bedeutung. Da jedoch Nicht-Krebs den Großteil Ihrer Daten ausmacht, kann der Klassifikator im Wesentlichen alle Fälle an Nicht-Krebs senden und eine sehr hohe Genauigkeit erzielen. Aber das können wir uns nicht leisten, also reduzieren wir im Wesentlichen die Anzahl der Fälle, bei denen es sich nicht um Krebs handelt, und verschieben die Entscheidungsgrenze von der Krebsregion in die Nicht-Krebsregion.

Selbst in Anwendungsfällen, in denen Genauigkeit unser einziges Ziel ist, kann das Auswuchten von entscheidender Bedeutung sein, wenn erwartet wird, dass das Testzeitgleichgewicht von der Zugzeit abweicht.

Angenommen, Sie möchten Mangos und Orangen klassifizieren. Sie haben einen Trainingsdatensatz mit 900 Mangos und 30 Orangen. Sie erwarten jedoch, dass er auf einem Markt mit gleichen Mangos und Orangen bereitgestellt wird. Im Idealfall sollten Sie die Stichproben im erwarteten Stichprobenverhältnis zur Maximierung verwenden Richtigkeit.

Amitoz Dandiana
quelle
Das habe ich aus meinen Vorträgen verstanden. Ich verstehe jedoch nicht, wann das Balancieren schlecht sein kann, wie dieser Blog-Beitrag nahelegt. Warum sollte es jemals schlecht sein, ein Gleichgewicht herzustellen, wenn für jede Klasse noch genügend Datenpunkte vorhanden sind?
Zelphir Kaltstahl
Entschuldigung, aber in Ihrer Analogie, was hat die Marktfruchtverteilung mit der Modellgenauigkeit zu tun? Entweder hast du gelernt, Mangos von Orangen zu trennen oder nicht. Mit anderen Worten, Sie sollten in der Lage sein, dasselbe Modell auf einem Markt nur für Orangen oder nur für Mangos bereitzustellen.
Fernando
3
Das Problem mit dem Krebsbeispiel ist jedoch, es als Klassifizierung zu betrachten . Es sollte als Risikoschätzung behandelt werden . Dann verschwindet das offensichtliche Problem mit unausgeglichenen Klassen, siehe stats.stackexchange.com/questions/127042/…
kjetil b halvorsen
1

Wenn Ihre Daten ausgeglichen sind, können Sie es vorziehen, die metrische Genauigkeit zu überprüfen. Wenn jedoch in einer solchen Situation Ihre Daten aus dem Gleichgewicht geraten, ist Ihre Genauigkeit für verschiedene Iterationen nicht konsistent. Sie müssen mehr Metriken wie Präzision (PPR), Rückruf (Empfindlichkeit) konzentrieren. Diese beiden Metriken sollten im Vergleich ausgeglichen sein. Außerdem sollten Sie den F1-Score überprüfen, der das harmonische Mittel der Präzision und des Rückrufs darstellt. Dies gilt für alle maschinellen Lernalgorithmen

Ravindar Madishetty
quelle