美文网首页
标准化 / 归一化

标准化 / 归一化

作者: 文均 | 来源:发表于2019-02-28 16:27 被阅读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}}

    • 缺陷:有新数据加入时,可能导致 max 和 min 的变化。
    • 线性变换后,协方差产生了倍数缩放,对 PCA 结果有显著影响

    z-score 标准化

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

    • 适用于属性的最大值和最小值未知的情况,或有超出范围的离群数据的情况
    • 要求原始数据的分布近似为高斯分布
    • 在分类、聚类算法中,使用距离来度量相似性时、或使用PCA降维时,z-score 表现比 min-max 更好
    • 在不涉及距离度量、协方差计算,或数据不符合正态分布时,min-max 更好

    归一化与标准化面试问题

    参考链接: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集的信息引入到训练集中

    相关文章

      网友评论

          本文标题:标准化 / 归一化

          本文链接:https://www.haomeiwen.com/subject/zyhkuqtx.html