特征缩放(用于梯度下降算法) - zLulus/My_Note GitHub Wiki

举个栗子

根据房间数量和房屋大小预测房屋销售价格
x1=房屋大小,1<=x1<=2000
x2=房间数量,1<=x2<=5
则代价函数J(θ)如下图所示
1
我们按照梯度下降的方式,从一个(θ1,θ2)出发,向J(θ)=0靠近,会非常缓慢,因为x1,x2的区间范围差距太大,图形太“扁”了
so我们需要让图形“圆”起来,像这样
2

特征缩放

特征缩放是通过使每个输入值在大致相同的范围内来加速梯度下降。
这是因为θ会在小范围内迅速下降,在大范围内缓慢下降,当变量非常不均匀时,θ会低效地下降到最佳值。
防止这种情况的方法是修改我们输入变量的范围,使它们大致相同。理想的情况是:
-1≤x(i)≤1
要么
-0.5≤x(i)≤0.5
这并不是一个硬性标准,使x(i)的范围尽量一致即可,比如
-3<=x(i)<=3
-1/3<=x(i)<=1/3
都是可以接受的

在上面的例子中,我们把x1/2000,x2/5,来加快梯度下降的计算速度