zoukankan      html  css  js  c++  java
  • 归一化与标准化区别

    归一化与标准化区别

    归一化

    常用的方法是通过对原始数据进行线性变换把数据映射到[0,1]之间,变换函数为:

    image-20200916103724244

    不同变量往往量纲不同,归一化可以消除量纲对最终结果的影响,使不同变量具有可比性。在不涉及距离度量、协方差计算、数据不符合正太分布的时候,可以使用归一化方法。比如图像处理中,将RGB图像转换为灰度图像后将其值限定在[0 255]的范围。

    ( transfroms.Normalize)

    标准化

    常用的方法是z-score标准化,经过处理后的数据均值为0,标准差为1,公式是:

    image-20200916103823127

    (BatchNorm2d)

    如果对输出结果范围有要求,用归一化
    如果数据较为稳定,不存在极端的最大最小值,用归一化
    如果数据存在异常值和较多噪音,用标准化,可以间接通过中心化避免异常值和极端值的影响

    我们在对输⼊数据做标准化处理:处理后的任意⼀个特征在数据集中所有样本上的均值为0、标准差为1。标准化处理输⼊数据使各个特征的分布相近:这往往更容易训练出有效的模型。
    通常来说,数据标准化预处理对于浅层模型就⾜够有效了。随着模型训练的进⾏,当每层中参数更新时,靠近输出层的输出较难出现剧烈变化。但对深层神经⽹络来说,即使输⼊数据已做标准化,训练中模型参数的更新依然很容易造成靠近输出层输出的剧烈变化。这种计算数值的不稳定性通常令我们难以训练出有效的深度模型。
    批量归⼀化的提出正是为了应对深度模型训练的挑战。在模型训练时,批量归⼀化利⽤⼩批量上的均值和标准差,不断调整神经⽹络中间输出,从⽽使整个神经⽹络在各层的中间输出的数值更稳定

  • 相关阅读:
    Java之final关键字
    Java之代码块
    Java之单例设计模式
    Java之数组
    python基础知识第九篇(函数)
    css--属性
    css-选择器
    css--引入css的3种方法
    html--多选
    python-列表--处理
  • 原文地址:https://www.cnblogs.com/Jason66661010/p/13677779.html
Copyright © 2011-2022 走看看