为什么要进行特征缩放

比如说我们这里有一个函数:

y=b+w1x1+w2x2y=b+w_1x_1+w_2x_2

接下来我们分两种情况来对比一下,从而说明我们为什么要进行特征缩放:
李宏毅深度学习笔记(三) 特征缩放(Feature Scaling)
左上角的框图和右上角的框图都能表示我们在最开始提出的函数,不同的是左上角的框图中x1x_1的取值是1,2····;x2x_2的取值是100,200······;右上角的框图中x1x_1的取值是1,2······;x2x_2的取值是1,2······。将左上角所示的式子的等高图画出来如左下角所示,因为在左上角的情况下随着w1w_1的改变,yy的变化比较小,而随着w2w_2的变化yy的变化会比较大,因此形成了左下角所示的椭圆形状。将右上角所示的式子的等高图画出来如右下角所示,因为在右上角的情况下随着w1w_1w2w_2的改变,yy的变化基本相同,因此形成了右下角所示的圆形。

我们知道梯度下降的方向是沿着等高线的法线方向的如图中红色箭头所示,可以看到右下角的红色箭头几乎是沿一条直线朝着最低点运动过去的,而左下角的红色箭头是改变了多次方向才朝着最低点运动过去的。

所以当特征值有相似的范围的话梯度下降会比较快。

怎么进行特征缩放

李宏毅深度学习笔记(三) 特征缩放(Feature Scaling)
也就是说要对红色框里面的xirx_i^r进行特征缩放的话,就要先求出绿框里面元素的平均值mim_i,再求出绿框里面元素的标准差σi\sigma_i,最后代入xirmiσi\frac{x_i^r-m_i}{\sigma_i}就可以求出缩放后的特征值了。

相关文章: