本文重点
梯度下降算法在多特征情况下,使用特征缩放技巧,可以使梯度下降算法更快,梯度下降所需循环的次数更小。
如果有一个机器学习的问题是多特征值,我们要保证这些特征都具有相近的尺度,这将帮助梯度下降算法更快地收敛。
举一个例子
假如房价问题中有两个特征,特征x1表示面积取值(01000),特征x2表示卧室的数目(15),我们可以看出特征x1的取值是远远大于x2的,那么此时我们画出这个机器学习问题的轮廓图它是这样的:
我们可以看出损失函数的图像会显得很扁,梯度下降算法需要非常多次的迭代才能收敛。那么要想解决这个问题,我们需要使用一个技巧就是特征缩放。
特征缩放
特征缩放是尝试将所有特征的尺度都尽量缩放到-1 到 1 之间(当然-1.5到0.5也行,这要是这个小范围的都可以,当然如果是0.00000001到0.00001这也不是一个非常好的特征缩放)。 具体方案就是让我们定义x1=房屋面积/2000、x2=卧室数目/5