zoukankan      html  css  js  c++  java
  • 数据标准化的方法与意义

    含义

    数据标准化和归一化存在区别
    数据归一化是数据标准化的一种典型做法,即将数据统一映射到[0,1]区间上.
    数据的标准化是指将数据按照比例缩放,使之落入一个特定的区间.

    意义

    1. 求解需要
      比如在SVM中处理分类问题是又是需要进行数据的归一化处理,不然会对准确率产生很大的影响,具体点说,比如避免出现因为数值过大导致c,g取值超过寻优范围

      除此之外,最明显的是在神经网络中的影响,主要有四个层面

      • 有利于初始化的进行
      • 避免给梯度数值的更新带来数值问题
      • 有利于学习率数值的调整
      • 搜索轨迹:加快寻找最优解速度

      数据归一化 对 搜索轨迹的影响

    具体情况请参考:神经网络为什么要归一化:

    http://blog.csdn.net/fontthrone/article/details/74064971
    2. 加快寻找最优解(加快收敛速度)

    没有归一化前,寻找最优解的过程:
    归一化前求解
    归一化后的过程:
    归一化后求解
    3. 无量纲化(业务上需求上的):

    指去除数据的单位限制,将其转化为无量纲的纯数值,便于不同单位或者量级的指标能够进行和加权.
    比如身高与体重,房子数量与收入等.
    4. 数值问题

    不归一化的数值,比如浮点数可能会产生数值不相等的问题.
    5. 数值范围减小对许多算法在纯粹的数值计算上都有一定加速作用(个人看法,虽然影响不大,但效果还是有的)

    常用公式

    1. min-max标准化(Min-max normalization)

    又名离差标准化,是对原始数据的线性转化,公式如下

    离差标准化公式

    含义: max : 样本最大值; min: 样本最小值;
    问题: 当有新数据加入时需要重新进行数据归一化
    2. z-score 标准化(zero-mean normalization)

    又名标准差标准化,归一化后的数据呈正态分布,即均值为零,标准差为一公式如下:

    标准差标准化

    其中μ为所有样本数据的均值,σ为所有样本数据的标准差。与离差标准化的不同之处在于,离差标准化仅仅仅仅对原数据的的方差与均差进行了倍数缩减,而标准差标准化则使标准化的数据方差为一。这对许多的算法更加有利,但是其缺点在于假如原始数据没有呈高斯分布,标准化的数据分布效果并不好。
    3. atan反正切函数标准化

    公式如下:

    反正切函数标准化

    问题: 数据必须大于零,大于零的函数将会被映射到[-1,0]上

    atan函数图像如下:

    atan函数图像
    4. log函数标准化

    公式如下:

    log-function

    问题:
    a . 数据必须大于等于一
    b. 如果数值大于10**10(十的十次方),那么映射的数据将大于一
    解决问题b 的方案,改变公式以类似于 ” min-max标准化的方式 “, 如下:

    改进后的log标-function

    max: 样本最大值
    通过 ” /log10(max) ” 值得方式,可以保证所有样本能够正确的映射到[0,1]空间,

  • 相关阅读:
    jmeter BeanShell内置变量的基本使用
    自定义 resetCSS
    JavaScript + html 制作钟表
    JavaScript 实现放大镜效果
    JavaScript 实现拖拽
    JavaScript 阻止事件的默认行为
    JavaScript 事件冒泡
    JavaScript 鼠标事件、键盘事件
    JavaScript window.location
    JavaScript 中document.getElementsByClassName() 在ie8以下不兼容问题
  • 原文地址:https://www.cnblogs.com/fonttian/p/9162822.html
Copyright © 2011-2022 走看看