假设我有两个值,如下所示:
x1 x2 x3 y
1 40 0.9 1
0.9 80 0.5 1
0.6 50 0.6 0
0.4 30 0.7 0
使值看起来像:
x1 x2 x3 y
1 0.5 0.9 1
0.9 1 0.5 1
0.6 0.7 0.6 0
0.4 0.8 0.7 0
列y是输出。如果我沿着列x2(轴=0)而不是沿着行(轴=1)进行归一化,会有什么不同吗
预测会有变化吗?
有人能解释一下背后的数学原理吗?
预测会有所不同。此外,为了更好地预测,建议对数据进行缩放。SVM使用特征向量之间的距离函数(例如欧几里得距离)。如果一个特征具有不同的值范围,则可能会产生不必要的高效果。
考虑以下示例:我们有3个实例:A=(0,80,0),B=(1,40,0.9)和C=(0.1,50,0)。如果我们期望所有特征都将被平等对待,那么我们希望A和C之间的距离小于B和C。然而,距离函数将导致B和C之间更小的距离。
取自文件:
支持向量机算法不是尺度不变的,因此它是强烈建议扩展您的数据。例如,缩放每个输入向量X上的属性设置为[0,1]或[-1,+1],或将其标准化平均值为0,方差为1。请注意,必须使用相同的缩放比例应用于测试向量以获得有意义的结果。参见第节预处理数据以获取有关缩放和规范化的更多详细信息。