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?
machine-learning
svm
standardization
Qinghua
quelle
quelle
Antworten:
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.
quelle
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.
quelle