在执行线性 SVM 分类时,对训练数据进行归一化通常很有帮助,例如减去均值并除以标准差,然后用训练数据的均值和标准差对测试数据进行缩放。为什么这个过程会极大地改变分类性能?
为什么缩放对于线性 SVM 分类很重要?
机器算法验证
机器学习
支持向量机
标准化
2022-02-14 15:41:36
2个回答
我想通过一个例子可以更清楚地说明这一点。假设您有两个输入向量:X1 和 X2。假设 X1 的范围是(0.1 到 0.8),X2 的范围是(3000 到 50000)。现在您的 SVM 分类器将是位于 X1-X2 平面上的线性边界。我的主张是线性决策边界的斜率不应该取决于 X1 和 X2 的范围,而是取决于点的分布。
现在让我们对点 (0.1, 4000) 和 (0.8, 4000) 进行预测。该函数的值几乎没有任何差异,因此 SVM 的准确性较低,因为它对 X1 方向上的点的敏感性较低。
SVM 试图最大化分离平面和支持向量之间的距离。如果一个特征(即这个空间中的一个维度)具有非常大的值,那么在计算距离时它将支配其他特征。如果你重新调整所有特征(例如到 [0, 1]),它们对距离度量都有相同的影响。
其它你可能感兴趣的问题