Bewältigt SVM einen unausgeglichenen Datensatz? Sind das irgendwelche Parameter (wie C oder Fehlklassifizierungskosten), die mit dem unausgeglichenen Datensatz umgehen?
Bewältigt SVM einen unausgeglichenen Datensatz? Sind das irgendwelche Parameter (wie C oder Fehlklassifizierungskosten), die mit dem unausgeglichenen Datensatz umgehen?
Antworten:
Bei unausgeglichenen Datensätzen ändern wir normalerweise die Fehlklassifizierungsstrafe pro Klasse. Dies wird als klassengewichteter SVM bezeichnet, der Folgendes minimiert:
wobei und N die positiven / negativen Trainingsinstanzen darstellen. In Standard-SVM haben wir nur einen einzelnen C- Wert, während wir jetzt 2 haben. Die Fehlklassifizierungsstrafe für die Minderheitsklasse wird größer gewählt als die für die Mehrheitsklasse.
Dieser Ansatz wurde ziemlich früh eingeführt und wird beispielsweise in einem Papier von 1997 erwähnt:
Edgar Osuna, Robert Freund und Federico Girosi. Support Vector Machines: Schulungen und Anwendungen. Technischer Bericht AIM-1602, 1997. ( pdf )
SVMs sind in der Lage, Datensätze mit unausgeglichenen Klassenfrequenzen zu verarbeiten. Bei vielen Implementierungen können Sie für positive und negative Klassen einen unterschiedlichen Wert für die Durchhangstrafe (C) festlegen (was asymptotisch einer Änderung der Klassenhäufigkeiten entspricht). Ich würde empfehlen, die Werte dieser Parameter festzulegen, um die Generalisierungsleistung bei einem Testsatz zu maximieren, bei dem die Klassenfrequenzen denjenigen entsprechen, die Sie im operativen Betrieb erwarten.
Ich war einer von vielen Leuten, die Papiere darüber geschrieben haben. Hier ist meiner . Ich werde sehen, ob ich etwas Neueres / Besseres finden kann. Probieren Sie Veropoulos, Campbell und Cristianini (1999).