标准化 / 归一化

2019-02-28  本文已影响0人  文均

参考链接:https://blog.csdn.net/pipisorry/article/details/52247379

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

数据的标准化(normalization)

数据标准化方法

其中最典型的是归一化,即将数据映射到 (0,1) 区间。

归一化的目标

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

归一化的好处

  1. 提升模型的收敛速度

    如下图,x1的取值为0-2000,而x2的取值为1-5,优化时会得到一个窄长的椭圆形,导致在梯度下降时,很有可能走"之字型"路线(垂直等高线走)。

    image
  2. 提升模型的精度

    • 数据同趋化处理(各指标对结果有同向作用力)
    • 无量纲化处理
    • 分类器需要计算样本之间的距离(如欧氏距离),如果一个特征范围非常大,那么距离计算就主要取决于这个特征,从而与实际情况相悖。
  3. 深度学习中归一化可防止梯度爆炸

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

常见归一化方法

min-max 标准化

x^* = \frac{x - x_{min}}{x_{max} - x_{min}}

z-score 标准化

x^* = (x - \mu) / \sigma

归一化与标准化面试问题

参考链接:https://www.jianshu.com/p/4c3081d40ca6

定义

归一化

x^* = \frac{x - x_{min}}{x_{max} - x_{min}}

标准化

x^* = (x - \mu) / \sigma

定义的注意点:

  1. 归一化和标准化都是对某个特征(column)进行缩放(scaling)而不是对某个样本的特征向量(row)进行缩放。
  2. 对特征向量进行缩放是毫无意义的,比如三列特征:身高、体重、血压。
  3. 在线性代数中,将一个向量除以向量的长度,也被称为标准化,不过这里的标准化是将向量变为长度为1的单位向量。

标准化和归一化的对比分析

  1. 标准化更好保持了样本间距。
    • 当样本中有异常点时,归一化有可能将正常的样本"挤"到一起去。
  2. 标准化更符合统计学假设

逻辑回归必须要进行标准化吗?

  1. 如果不用正则,标准化不是必须的;如果用正则,标准化是必须的
    • 不用正则时,损失函数仅仅在度量预测与真实的差距
    • 加上正则后,损失函数还要度量参数值是否足够小
    • 参数值的大小级别与特征的数值范围相关
  2. 进行标准化后,参数值大小可以反映不同特征对样本label的贡献度
  3. 不要在整个数据集上做标准化,那样会将test集的信息引入到训练集中
上一篇下一篇

猜你喜欢

热点阅读