机器学习--特征缩放/均值归一化

特征缩放(feature scaling)

其中,特征缩放(feature scaling)大致的思路是这样的:梯度下降算法中,在有多个特征的情况下,如果你能确保这些不同的特征都处在一个相近的范围,这样梯度下降法就能更快地收敛。

举个例子来说明:

x1=size(02000)feet2
x2=(15)

假如你有一个具有两个特征的问题,其中 x1 是房屋面积大小,它的取值在0到2000之间; x2 是卧室的数量,可能这个值的取值范围在1到5之间。其代价函数 J(θ) 是一个关于参数 θ0θ1θ2 的函数。但这里我们暂时不考虑 θ0 并假想一个函数的变量只有 θ1θ2

如果 x1 的取值范围远远大于 x2 的取值范围的话,那么最终画出来的代价函数 J(θ) 的轮廓图就会呈现出这样一种非常偏斜并且椭圆的形状:

机器学习--特征缩放/均值归一化_第1张图片

如果你用这个代价函数来运行梯度下降的话,你要得到梯度值最终可能需要花很长一段时间,并且可能会来回波动,然后会经过很长时间最终才收敛到全局最小值。

机器学习--特征缩放/均值归一化_第2张图片

事实上如果这些轮廓再被放大一些的话,如果你画的再夸张一些把它画的更细更长,那么可能情况会更糟糕,梯度下降的过程可能更加缓慢,需要花更长的时间反复来回振荡,最终才找到一条正确通往全局最小值的路。

在这样的情况下一种有效的方法是进行特征缩放(feature scaling)。

具体来说把特征

你可能感兴趣的:(机器学习,机器学习)