归一化的目的:将所有特征缩放到0~1之间,使梯度下降法能更快的收敛。(其中0和1并不是定值,只是一个范围。)
为什么要做归一化?
各个特征xi的θi能同步收敛,使梯度下降法能更快地收敛,从而达到快速求得MSE。
假设有一MSE有两个特征x1,x2。 y=θ1x1+θ2x2
其中x1远小于x2
g1=(y−y^)x1
g2=(y−y^)x2
(y−y^)是个定值,所以g1远小于g2
θ1t+1=θ1t−αg1
θ2t+1=θ2t−αg2
所以(a)θ1远大于θ2
⟹(b)θ1调整幅度 远小于 θ2调整幅度
由(a)可知θ1距离长θ2距离短
由(b)可知θ1步子小θ2步子大

未归一化 a<b

归一化后 a≈b
如何进行归一化?
1.最大值最小值归一化
max−minx−min
优点:所有数据都能缩放到0~1之间
缺点:当min,max为离群值或异常值时,缩放后数据分布不均匀
2.方差归一化
方差x
优点:可减小异常值当影响
缺点:不一定所有数据都缩放到0~1之间
3.均值归一化
x−均值(有正有负)
将所有数据缩放至0两边
4.标准归一化StandardScaler
方差x−均值
一般都选用标准归一化。
训练集进行归一化处理,预测集也同样要进行归一化处理!
归一化处理并不影响数据实际意义,计算机不能理解实际意义,只是进行拟合特征的权重拟合。