数据归一化

数据的标准化(normalization)和归一化

在某些比较和评价的指标处理中经常会用到,去除数据的单位限制,将其转化为无量纲的纯数值,便于不同单位或量级的指标能够进行比较和加权。

目前数据标准化方法有多种,归结起来可以分为直线型方法(如极值法、标准差法)、折线型方法(如三折线法)、曲线型方法(如半正态性分布)。不同的标准化方法,对系统的评价结果会产生不同的影响,然而不幸的是,在数据标准化方法的选择上,还没有通用的法则可以遵循。

归一化的目标

  • 把数变为(0,1)之间的小数
  • 把有量纲表达式变为无量纲表达式

归一化后有两个好处

  1. 提升模型的收敛速度
  2. 提升模型的精度
  3. 防止模型梯度爆炸
数据归一化_第1张图片
收敛方向和速度
数据归一化_第2张图片
提升模型的精度
  • 计算距离,不会受到一大一小数据差异的影响
  • 多指标评价体系中相对削弱数值水平较低指标的作用

从经验上说,归一化是让不同维度之间的特征在数值上有一定比较性,可以大大提高分类器的准确性。


数据需要归一化的机器学习算法

需要归一化的模型

在各个维度进行不均匀伸缩后,最优解与原来不等价.
除非本来各维数据的分布范围就比较接近,否则必须进行标准化,以免模型参数被分布范围较大或较小的数据dominate。

有些模型在各个维度进行不均匀伸缩后,最优解与原来等价,例如logistic regression.对于这样的模型,是否标准化理论上不会改变最优解。但是,由于实际求解往往使用迭代算法,如果目标函数的形状太“扁”,迭代算法可能收敛得很慢甚至不收敛(模型结果不精确)。

有些模型/优化方法的效果会强烈地依赖于特征是否归一化,如LogisticReg,SVM,NeuralNetwork,SGD等。

不需要归一化的模型

0/1取值的特征通常不需要归一化,归一化会破坏它的稀疏性。
有些模型则不受归一化影响,如DecisionTree。
ICA好像不需要归一化(因为独立成分如果归一化了就不独立了?)。
基于平方损失的最小二乘法OLS不需要归一化。

利用z-score进行标准化的话必须要求原始数据近似正太分布

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