假设有两个特征,也就是x1,x2。当x1的取值范围远比x2的取值范围大的多的时候,代价函数J会变成一个特别瘦高的等值线图
像。
此时梯度下降会反复震荡,变得特别特别缓慢,可能需要很长的时间才能达到最优点。所以使用特征缩放,将它们的范围按比例缩放成近似成一个圆 ,就可以解决这个问题了。
如果将x1,x2按照区间范围缩放。像图中的例子,如果将房子的尺寸先预先除以它的定义域范围,将卧室数也除以它的定义域范围,那么最后新得到得x1,x2得变化范围其实是一样的,两个的参数变化范围也是一样,最后形成一个圆形,这样就不会来回振荡,减少了梯度下降的时间,提高训练速度。
特征缩放是一个优化梯度下降的小方法。
目的就是让变量的取值范围尽量在-1~1之间,太大了会影响下降的速度。
还可以用“均值归一化”方法控制变量的范围在-0.5~+0.5之间
具体操作是将新的变量x1赋值为当前x1-均值/原范围大小。
最后,特征缩放的作用就是让特征范围变为差不多。