归一化

归一化
1)归一化后加快了梯度下降求最优解的速度;2)归一化有可能提高精度。

提高梯度下降法求解最优解的速度

归一化有可能提高精度
一些分类器需要计算样本之间的距离(如欧氏距离),例如KNN。如果一个特征值域范围非常大,那么距离计算就主要取决于这个特征,从而与实际情况相悖(比如这时实际情况是值域范围小的特征更重要)。

归一化的类型
1)线性归一化

归一化_第1张图片
这种归一化方法比较适用在数值比较集中的情况。这种方法有个缺陷,如果max和min不稳定,很容易使得归一化结果不稳定,使得后续使用效果也不稳定。实际使用中可以用经验常量值来替代max和min。

2)标准差标准化
经过处理的数据符合标准正态分布,即均值为0,标准差为1,其转化函数为:

在这里插入图片描述
其中μ为所有样本数据的均值,σ为所有样本数据的标准差。

3)非线性归一化
经常用在数据分化比较大的场景,有些数值很大,有些很小。通过一些数学函数,将原始值进行映射。该方法包括 log、指数,正切等。需要根据数据分布的情况,决定非线性函数的曲线,比如log(V, 2)还是log(V, 10)等。

哪些机器学习算法不需要做归一化处理?
概率模型不需要归一化,因为它们不关心变量的值,而是关心变量的分布和变量之间的条件概率,如决策树、RF。而像Adaboost、GBDT、XGBoost、SVM、LR、KNN、KMeans之类的最优化问题就需要归一化。

为什么要做数据归一化,在梯度下降时有什么好处
加速梯度下降,减少梯度下降时的摆动,根据下降曲线进行讲解,很容易得出

你可能感兴趣的:(归一化)