在训练神经网络时,标准化输入可以提高训练的速度
由于训练集进行了标准化处理,测试集或在实际应用时,应该使用同样的μ\muμ和σ2\sigma^2σ2对其进行标准化处理。保证训练集和测试集的标准化操作一致
对输入进行标准化操作,是为了让所有输入归一化在同样的尺度上,方便进行梯度下降算法时能够更快更准确地找到全局最优解。假如输入特征是二维的,且x1x_1x1的范围是[1,1000],x2x_2x2的范围是[0,1]。如果不进行标准化处理,x1x_1x1与x2x_2x2之间分布极不平衡,训练得到的w1w_1w1和w2w_2w2也会在数量级上差别很大。这样导致的结果是costfunction与www和bbb的关系可能是一个非常细长的椭圆形碗。对其进行梯度下降算法时,由于w1w_1w1和w2w_2w2数值差异很大,只能选择很小的学习因子α\alphaα,来避免J发生振荡。一旦α\alphaα较大,必然发生振荡,JJJ不再单调下降。如果进行了标准化操作,x1x_1x1与x2x_2x2分布均匀,w1w_1w1和w2w_2w2数值差别不大,得到的cost function与www和bbb的关系是类似圆形碗。对其进行梯度下降算法时,α\alphaα可以选择相对大一些,且JJJ一般不会发生振荡,保证了JJJ是单调下降
如果输入特征之间的范围比较接近,不进行标准化操作没有太大影响
Last updated 6 years ago