将不同量纲的数据统一到统一数据集下,减少数据分布差异对模型的影响。
(1)归一化可以提高模型估算的精度
(2)归一化可以提升优化算法的收敛速度
方法 |
概念 |
应用场景 |
线性归一化(Max-Min) |
|
适合在不涉及距离度量、协方差计算、数据不符合正太分布的时候。 如:图像处理中,将RGB图像转换为灰度图像后将其值限定在[0 255]的范围 |
标准差标准化(Z-Score) |
|
在分类、聚类算法中,需要使用距离来度量相似性的时候、或者使用PCA技术进行降维的时候,Z-score standardization表现更好。 |
非线性归一化 |
通过一些数学函数,将原始值进行映射 如: x' = log10(x) /log10(max) x' = atan(x)*(2/pi) L2范数归一化就是特征向量中每个元素均除以向量的L2范数: |
经常用在数据分化比较大的场景,有些数值很大,有些很小。 |
模型类型 |
是否需要归一化 |
理由 |
概率模型(决策树、朴素贝叶斯、随机森林) |
不需要 |
不关心变量取值,而关心变量之间的条件概率 |
支持向量机SVM |
需要 |
不归一化特征分布呈椭圆状,不仅会影响模型预测精度,甚至会使模型训练跳入死循环,无法收敛 |
神经网络 |
需要 |
(1)激活函数需要,防止产生神经元饱和 (2)可以加快随机梯度优化收敛速度 |
KNN |
需要 |
如果不做归一化,计算样本距离会出现“大数吃小数”的现象 |
逻辑回归 |
需要 |
逻辑回归是用梯度下降求解。 归一化可以让模型快速迭代,达到最优解 |