Ist es beim maschinellen Lernen besser, die Klassenverhältnisse ausgewogen oder repräsentativ für die Bevölkerung zu haben?

9

Nehmen wir im Zusammenhang mit maschinellem Lernen an, Sie haben ein Problem, bei dem Klassen in der realen Bevölkerung nicht ausgewogen sind - z. B. tritt Klasse A in 80% der Fälle und Klasse B in 20% der Fälle auf.

Ist es in einem solchen Fall im Allgemeinen besser, wenn ein bestimmter ML-Algorithmus auf Daten mit demselben Klassenverhältnis von 80/20 oder Daten mit einem ausgeglichenen Verhältnis (50/50) basiert? a) in Bezug auf Trainingsdaten b) in Bezug auf Testdaten

Eine Folgefrage: Falls die Antwort für (a) oder (b) zufällig mit dem ausgeglichenen 50/50-Verhältnis übereinstimmt, bleibt diese Präferenz im Allgemeinen auch im praktischen Kontext bestehen, in dem sich die Daten befinden, auf die man Zugriff hat des 80/20 Verhältnisses? Mit anderen Worten, würde der Vorteil der Verwendung eines ausgeglichenen Verhältnisses zum Trainieren und / oder Testen die Kosten für die Durchsetzung dieses Verhältnisses überwiegen (z. B. durch Verwerfen von Instanzen aus der Mehrheitsklasse oder durch Generieren neuer synthetischer Stichproben der Minderheitsklasse)?

blau
quelle

Antworten:

1

Markieren Sie dieses Papier für eine gute Bewertung mit inbalanced Datensätze zu lernen.

Eine Möglichkeit, mit dem Problem umzugehen, besteht darin, eine künstliche Unter- oder Aufwärtsabtastung im Trainingssatz durchzuführen, um die Datensätze auszugleichen.

Ich denke, es ist normalerweise besser, ein ausgewogenes Trainingsset zu haben, da sonst die Entscheidungsgrenze der größeren Klasse zu viel Platz einräumt und Sie die kleine Klasse zu sehr falsch klassifizieren. Das ist normalerweise schlecht. (Denken Sie an die Krebserkennung, bei der die kleinere Klasse am teuersten ist, nämlich einen Tumor).

Wenn Sie keine Stichprobenmethoden verwenden möchten, können Sie kostenbasierte Methoden verwenden, bei denen Sie die Wichtigkeit jeder Stichprobe gewichten, damit die Verlustfunktion mehr Beitrag von den Stichproben der wichtigsten Klasse leistet. Bei der Krebserkennung würden Sie die Kosten für das Training von Proben der positiven Klasse (mit einem Tumor) stärker gewichten.

Denken Sie schließlich daran, dass die Klassifizierungsgenauigkeit bei einem sehr unausgeglichenen Testsatz kein gutes Maß für die Leistung ist. Sie sind besser dran, wenn Sie Präzision / Rückruf und den f-Score verwenden, der leicht aus der Verwirrungsmatrix berechnet werden kann. In diesem Dokument finden Sie Hinweise zu Klassifizierungsleistungsmessungen für viele verschiedene Szenarien.

Eine weitere gute Lektüre zu diesem Thema ist diese.

Steve3nto
quelle
0

Korrigieren Sie mich, wenn ich falsch liege, aber der tatsächliche Anteil der Klassen in der Bevölkerung spielt für ML in Bezug auf die Klassifizierung keine Rolle. Es kommt darauf an, die Trainingsdaten für beide Klassen zu erhalten, die sich über den gesamten Funktionsbereich erstrecken. Wenn Sie also eine 80/20-Aufteilung für die Klassen A / B hatten, ist es im Allgemeinen viel wahrscheinlicher, dass Sie eine repräsentative Stichprobe für die Klasse A im Vergleich zur Klasse B finden.

Bei der Frage, ob es besser ist, ein 50/50-Verhältnis zu haben, gehe ich intuitiv davon aus, dass es möglicherweise nicht so wichtig ist wie ein größeres Trainingsset unter Verwendung aller Daten. Dies ist jedoch der Teil, bei dem ich mir nicht sicher bin ... auf diese Weise könnten die ungleichen Verhältnisse möglicherweise die Fehlklassifizierungsraten beeinflussen, insbesondere an der Grenze der Trennung. Für den Testsatz sollten die Proportionen nicht relevant sein.

ashokragavendran
quelle
Siehe auch diesen Thread auf Stapelüberlauf stats.stackexchange.com/questions/63740/…
ashokragavendran