Warum ist die Skalierung für die lineare SVM-Klassifizierung wichtig?

15

Bei der Durchführung der linearen SVM-Klassifizierung ist es häufig hilfreich, die Trainingsdaten zu normalisieren, indem beispielsweise der Mittelwert subtrahiert und durch die Standardabweichung dividiert wird, und anschließend die Testdaten mit dem Mittelwert und der Standardabweichung der Trainingsdaten zu skalieren. Warum ändert dieser Prozess die Klassifizierungsleistung dramatisch?

Qinghua
quelle
1
Diese Frage wurde bereits beantwortet stackoverflow.com/questions/15436367/svm-scaling-input-values
jpmuc
Vielen Dank, Juampa! Ich bin mir jedoch immer noch nicht ganz sicher, warum das Test-Set mit dem Mittelwert und dem Standard des Trainings-Sets skaliert werden muss, anstatt mit seinem eigenen? In einigen Fällen scheint die Leistung der letzteren sehr gut oder sogar noch besser zu sein, wenn die beiden Klassen der Stichproben im Testsatz gut ausbalanciert sind.
Qinghua
1
denn dann bist du nicht konsequent. Sie testen auf verschiedenen Daten. Stellen Sie sich vor, Sie zeichnen die Samples aus einem Gaußschen N (mu, sigma). Sie haben mit N (0,1) trainiert (nach Zentrierung und Skalierung), aber mit N (mu, sigma) getestet
jpmuc

Antworten:

12

Ich denke, es kann durch ein Beispiel klarer gemacht werden. Angenommen, Sie haben zwei Eingabevektoren: X1 und X2. und nehmen wir an, X1 hat einen Bereich (0,1 bis 0,8) und X2 hat einen Bereich (3000 bis 50000). Jetzt ist Ihr SVM-Klassifikator eine lineare Grenze, die in der Ebene X1-X2 liegt. Meine Behauptung ist, dass die Steigung der linearen Entscheidungsgrenze nicht vom Bereich von X1 und X2 abhängen sollte, sondern von der Verteilung der Punkte.

Lassen Sie uns nun eine Vorhersage für die Punkte (0.1, 4000) und (0.8, 4000) machen. Der Wert der Funktion wird sich kaum unterscheiden, wodurch SVM ungenauer wird, da es für Punkte in X1-Richtung weniger empfindlich ist.

Vineeth
quelle
7

SVM versucht, den Abstand zwischen der Trennebene und den Trägervektoren zu maximieren. Wenn ein Feature (dh eine Dimension in diesem Raum) sehr große Werte aufweist, dominiert es die anderen Features bei der Berechnung der Entfernung. Wenn Sie alle Features neu skalieren (z. B. auf [0, 1]), haben alle denselben Einfluss auf die Entfernungsmetrik.

jrieke
quelle