文章目录
为什么要进行归一化?
机器学习模型被互联网行业广泛应用,一般做机器学习应用的时候大部分时间是花费在特征处理上,其中很关键的一步就是对特征数据进行归一化,为什么要归一化呢?
维基百科给出的解释:
- 归一化后加快了梯度下降求最优解的速度;
如果机器学习模型使用梯度下降法求最优解时,归一化往往非常有必要,否则很难收敛甚至不能收敛。
- 归一化有可能提高精度;
一些分类器需要计算样本之间的距离(如欧氏距离),例如KNN。如果一个特征值域范围非常大,那么距离计算就主要取决于这个特征,从而与实际情况相悖(比如这时实际情况是值域范围小的特征更重要)。
我的理解:
- 去掉量纲,使得各指标之间具有可比性
- 将数据先知道一定区间内,使得运算便捷
下面再以房价预测的例子来说明一下归一化的作用。以预测房价为例,自变量为房间数(x1)、面积大小(x2),因变量为房价。那么可以得到的公式为:
y=θ1x1+θ2x2
y=θ1x1+θ2x2
其中,x1代表房间数,θ1代表x1变量前面的系数;x2代表面积,θ2代表x2变量前面的系数。
下面两张图(损失函数的等高线)代表