归一化在梯度下降中的作用

    在梯度下降中多数时候原始数据若没经过特征处理,数据的各个维度是存在着量级的差别,假如线性函数Ax+By+b=C,X维度数量级是十,Y的数量级是万,那么求出的A就比B大,那么在用梯度下降求解最优解过程中,对A求偏导每次变化是和X成线性的(结果只和x相关),对B求偏导是和B成线性的(结果只与y相关),这样就造成两个维度下降速度不一致的问题,在图像上面显示就是A每次走的step很小,B的step很大,可能导致某一个维度由于数量级较大已经到达最低点,而其他维度由于数量级的差异未到达最低点,先到达最低点的维度需要等待其他维度,走出的曲线是震荡性较大图像:

归一化在梯度下降中的作用

一.方差归一化

方差归一化就是在训练模型之前对各个维度的数据除以方差,使各维度数量级相同。这样就不至于谁去等谁,可以走出较平滑的曲线,加快收敛速度。缺点:不能保证数据有正有负

归一化在梯度下降中的作用

二.均值归一化

方差归一化不能保证数据有正有负,使各维度的梯度方向不能朝着不同的方向前进,假如如下情形,随机梯度初始点为A点,最优解在B点,需要x变小,y变大,如果两个维度全为正数或全为负数,就不能朝着反方向变化,y需要先到C点,再有C到A,均值归一化可以加快梯度收敛的速度。

归一化在梯度下降中的作用

总结:归一化操作能够加快梯度下降的速度,方差归一化能够使各维度有相同的数量级,但是不能像均值归一化那样保证数据有正有负,所以在应用中经常使用的是方差均值归一化。