为什么缩放对于线性SVM分类很重要?


15

在执行线性SVM分类时,通常可以对训练数据进行归一化,例如通过减去平均值并除以标准偏差,然后用训练数据的平均值和标准偏差对测试数据进行缩放通常会很有帮助。为什么此过程会大大改变分类性能?



谢谢你,朱帕!但是,我仍然不太清楚,为什么需要使用训练集的均值和标准差而不是它自己的尺度来缩放测试集?在某些情况下,当两类样本在测试集中很好地平衡时,后者的表现似乎很好,甚至更好。
清华

1
因为那样你就不会保持一致。您正在测试不同的数据。想象一下,您是从高斯N(mu,sigma)中绘制样本的。您使用N(0,1)进行了训练(对中和缩放后),但是使用了N(mu,sigma)进行了测试
jpmuc

Answers:


12

我认为可以通过一个例子使其更加清晰。假设您有两个输入向量:X1和X2。假设X1的范围是(0.1到0.8),X2的范围是(3000到50000)。现在,您的SVM分类器将是位于X1-X2平面中的线性边界。我的主张是,线性决策边界的斜率不应取决于X1和X2的范围,而应取决于点的分布。

现在让我们对(0.1,4000)和(0.8,4000)进行预测。函数的值几乎不会有任何差异,因此,由于SVM对X1方向上的点的敏感性较低,因此SVM的准确性较低。


7

SVM试图最大化分离平面和支持向量之间的距离。如果一个要素(即该空间中的一个维度)的值非常大,则在计算距离时它将主导其他要素。如果重新缩放所有要素(例如缩放为[0,1]),则它们对距离度量的影响都相同。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.