机器学习归一化

概念

将不同量纲的数据统一到统一数据集下,减少数据分布差异对模型的影响。

作用

(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
需要
 如果不做归一化,计算样本距离会出现“大数吃小数”的现象
逻辑回归
需要

逻辑回归是用梯度下降求解。

归一化可以让模型快速迭代,达到最优解


标签: 归一化、log10、收敛、范数、距离、面试
  • 回复
隐藏