每天五分钟机器学习:为什么需要对数值类型的特征做归一化?

本文重点

梯度下降算法在多特征情况下,使用特征缩放技巧,可以使梯度下降算法更快,梯度下降所需循环的次数更小。

如果有一个机器学习的问题是多特征值,我们要保证这些特征都具有相近的尺度,这将帮助梯度下降算法更快地收敛。

举一个例子

假如房价问题中有两个特征,特征x1表示面积取值(01000),特征x2表示卧室的数目(15),我们可以看出特征x1的取值是远远大于x2的,那么此时我们画出这个机器学习问题的轮廓图它是这样的:每天五分钟机器学习:为什么需要对数值类型的特征做归一化?_第1张图片

我们可以看出损失函数的图像会显得很扁,梯度下降算法需要非常多次的迭代才能收敛。那么要想解决这个问题,我们需要使用一个技巧就是特征缩放。

特征缩放

特征缩放是尝试将所有特征的尺度都尽量缩放到-1 到 1 之间(当然-1.5到0.5也行,这要是这个小范围的都可以,当然如果是0.00000001到0.00001这也不是一个非常好的特征缩放)。 具体方案就是让我们定义x1=房屋面积/2000、x2=卧室数目/5

你可能感兴趣的:(每天五分钟玩转机器学习算法,机器学习,人工智能,算法)