博客
关于我
深度学习_深度学习基础知识_数据归一化
阅读量:543 次
发布时间:2019-03-08

本文共 1426 字,大约阅读时间需要 4 分钟。

归一化主要公式

数据归一化是将数据转换到一个特定的范围内,常见的范围有[0,1]、[-1,1]以及均值为0、标准差为1的标准正态分布。以下是常用的几种归一化方法:

  • 将数据归一到[0,1]:x' = (x - min(x)) / (max(x) - min(x))
  • 其中,max(x)和min(x)分别是数据的最大值和最小值。

    1. 将数据归一到[-1,1]:x' = (x - mean(x)) / (max(x) - min(x))
    2. 其中,mean(x)是数据的均值。

      1. 将数据归一化到均值为0,标准差为1的标准正态分布:x' = (x - μ) / σ
      2. 其中,μ是数据的均值,σ是数据的标准差。

        1. 将数据归一化到[a,b]:首先计算归一化系数k:k = (b - a) / (max(x) - min(x))
        2. 然后进行归一化:x' = a + k × (x - min(x))或者x' = b + k × (x - max(x))

          归一化的作用

          归一化能够有效消除数据量纲的影响,使数据具有更一致的分布特点。具体来说,归一化能带来以下多方面的优势:

          · 干净化数据,减少异常值的影响。异常样本常常会对模型训练造成干扰,甚至造成收敛不稳定。

          · 提高训练效率。归一化可以让数据更新速度更加均匀,减缓梯度消失或爆炸的问题,使得模型更快地找到最优解。

          · 保持不同量纲特征的有效性。归一化能让低值和高值特征都获得充分表达,不会因量纲差异影响特征的学习效果。

          · 差异化处理。比如使用Sigmoid激活函数时,归一化能够避免输入的正负区域导致的梯度消失问题。

          归一化的应用场景

          在需要使用梯度下降法求解的模型中,归一化常常是一个重要步骤。例如:

          · 线性回归:归一化是线性回归中的常见处理方法,有助于加快收敛速度。

          · 罢似回归(Logistic Regression):归一化能避免特征稀疏性问题,提升模型性能。

          · 支持向量机(SVM):归一化能在训练过程中保持类别平衡,有助于模型的稳定性。

          · 神经网络:归一化是防止深度网络训练时梯度 explodes或消失的关键措施。

          需要注意的是,不同模型对归一化的适用性有所差异。例如,在决策树中,归一化不影响特征的信息增益比,因此决策树通常不进行归一化处理。

          不进行归一化的后果

          如果不进行归一化处理,模型训练可能会出现以下问题:

          · 梯度消失或爆炸。由于网络层数增加,权重参数的数量通常会呈指数级增长。而随着深度增加,梯度的尺度差异会变得更加明显。如果输入特征的尺度差异较大,权重参数的梯度不一致,导致下层网络的学习效率低下甚至无法有效学习。

          · 不同特征的训练难度不一致。比如,一个特征的参数更新步长可能很大,而另一个特征的更新却微乎其微,这样会导致参数难以充分收敛。

          · 凸差距扩大。在有多个特征的情况下,特征间的差异会因为尺度差异导致触发阈值的难度不同,从而影响模型性能。

          举个例子,考虑两个权重参数w1和w2的范围分别在[-10,10]和[-100,100]之间。在没有归一化的情况下,w1的梯度变化每次只能前进1/20,而w2的梯度变化则每次只前进1/200。这导致search process中,更偏向于优化w1参数,而忽视w2参数的更新,走出一种“L”型,甚至出现之字型的问题。

          归一化是一个在模型训练中常用的预处理步骤,有助于模型训练的效果和收敛速度。选择合适的归一化方法,对模型性能有着重要影响。

    转载地址:http://ijbiz.baihongyu.com/

    你可能感兴趣的文章
    Opencv中KNN背景分割器
    查看>>
    OpenCV中基于已知相机方向的透视变形
    查看>>
    opencv保存图片路径包含中文乱码解决方案
    查看>>
    opencv图像分割2-GMM
    查看>>
    OpenCV(1)读写图像
    查看>>
    OpenCV:概念、历史、应用场景示例、核心模块、安装配置
    查看>>
    Openlayers中点击地图获取坐标并输出
    查看>>
    Openlayers图文版实战,vue项目从0到1做基础配置
    查看>>
    Openlayers高级交互(10/20):绘制矩形,截取对应部分的地图并保存
    查看>>
    Openlayers高级交互(16/20):两个多边形的交集、差集、并集处理
    查看>>
    Openlayers高级交互(17/20):通过坐标显示多边形,计算出最大幅宽
    查看>>
    Openlayers高级交互(19/20): 地图上点击某处,列表中显示对应位置
    查看>>
    openlayers:圆孔相机根据卫星经度、纬度、高度、半径比例推算绘制地面的拍摄的区域
    查看>>
    OpenLDAP(2.4.3x)服务器搭建及配置说明
    查看>>
    OpenMCU(一):STM32F407 FreeRTOS移植
    查看>>
    OpenMCU(二):GD32E23xx FreeRTOS移植
    查看>>
    OpenMMLab | S4模型详解:应对长序列建模的有效方法
    查看>>
    OpenMMLab | 【全网首发】Llama 3 微调项目实践与教程(XTuner 版)
    查看>>
    OpenMMLab | 面向多样应用需求,书生·浦语2.5开源超轻量、高性能多种参数版本
    查看>>
    OpenObserve云原生可观测平台本地Docker部署与远程访问实战教程
    查看>>