スケーリングが線形SVM分類にとって重要なのはなぜですか?


15

線形SVM分類を実行する場合、たとえば平均を減算して標準偏差で除算するなどして、トレーニングデータを正規化し、その後、トレーニングデータの平均と標準偏差でテストデータをスケーリングすることが役立ちます。このプロセスが分類パフォーマンスを劇的に変える理由は何ですか?


1
この質問はすでに回答済みですstackoverflow.com/questions/15436367/svm-scaling-input-values
jpmuc

ありがとう、ジャンパ!ただし、テストセットをトレーニングセットの平均値と標準値でスケーリングする必要がある理由は、それ自体ではなく、まだ明確ではありませんか?場合によっては、テストセットで2つのクラスのサンプルのバランスがよくとれている場合、後者の方が優れたパフォーマンスを示します。
清華

1
なぜならあなたは一貫していないからです。異なるデータでテストしています。ガウスN(mu、sigma)からサンプルを描画すると想像してください。N(0,1)でトレーニング(センタリングおよびスケーリング後)したが、N(mu、sigma)でテストした
-jpmuc

回答:


12

例を通してより明確にできると思います。X1とX2の2つの入力ベクトルがあるとします。X1の範囲(0.1〜0.8)とX2の範囲(3000〜50000)があるとします。これで、SVM分類器はX1-X2平面にある線形境界になります。私の主張は、線形決定境界の勾配はX1とX2の範囲に依存するのではなく、点の分布に依存するということです。

次に、ポイント(0.1、4000)および(0.8、4000)について予測を行います。関数の値にほとんど違いはありません。したがって、X1方向のポイントに対する感度が低くなるため、SVMの精度が低下します。


7

SVMは、分離平面とサポートベクトル間の距離を最大化しようとします。1つのフィーチャ(つまり、この空間の1つの次元)の値が非常に大きい場合、距離を計算するときに他のフィーチャを支配します。すべてのフィーチャを([0、1]などに)再スケーリングすると、それらはすべて距離メトリックに同じ影響を及ぼします。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.