特征缩放(feature scaling)
其中,特征缩放(feature scaling)大致的思路是这样的:梯度下降算法中,在有多个特征的情况下,如果你能确保这些不同的特征都处在一个相近的范围,这样梯度下降法就能更快地收敛。
举个例子来说明:
x1=size(0−2000)feet2x1=size(0−2000)feet2
x2=卧室的数量(1−5)x2=卧室的数量(1−5)
假如你有一个具有两个特征的问题,其中x1x1是房屋面积大小,它的取值在0到2000之间;x2x2是卧室的数量,可能这个值的取值范围在1到5之间。其代价函数J(θ)J(θ)是一个关于参数θ0,θ1和θ2θ0,θ1和θ2的函数。但这里我们暂时不考虑θ0θ0并假想一个函数的变量只有θ1和θ2θ1和θ2。
如果x1x1的取值范围远远大于x2x2的取值范围的话,那么最终画出来的代价函数J(θ)J(θ)的轮廓图就会呈现出这样一种非常偏斜并且椭圆的形状:
如果你用这个代价函数来运行梯度下降的话,你要得到梯度值最终可能需要花很长一段时间,并且可能会来回波动,然后会经过很长时间最终才收敛到全局最小值。
事实上如果这些轮廓再被放大一些的话,如果你画的再夸张一些把它画的更细更长,那