数据归一化和两种常用的归一化方法

数据归一化和两种常用的归一化方法数据标准化(归一化)处理是数据挖掘的一项基础工作,不同评价指标往往具有不同的量纲和量纲单位,这样的情况会影响到数据分析的结果,为了消除指标之间的量纲影响,需要进行数据标准化处理,以解决数据指标之间的可比性。原始数据经过数据标准化处理后,各指标处于同一数量级,适合进行综合对比评价。以下是两种常用的归一化方法:一、min-max标准化(Min-MaxNormalization)也称为离差标准…

大家好,又见面了,我是你们的朋友全栈君。

数据标准化(归一化)处理是数据挖掘的一项基础工作,不同评价指标往往具有不同的量纲和量纲单位,这样的情况会影响到数据分析的结果,为了消除指标之间的量纲影响,需要进行数据标准化处理,以解决数据指标之间的可比性。原始数据经过数据标准化处理后,各指标处于同一数量级,适合进行综合对比评价。以下是两种常用的归一化方法:

一、min-max标准化(Min-Max Normalization)

也称为离差标准化,是对原始数据的线性变换,使结果值映射到[0 – 1]之间。转换函数如下:

clip_image002

      其中max为样本数据的最大值,min为样本数据的最小值。这种方法有个缺陷就是当有新数据加入时,可能导致max和min的变化,需要重新定义。

二、Z-score标准化方法

    这种方法给予原始数据的均值(mean)和标准差(standard deviation)进行数据的标准化。经过处理的数据符合标准正态分布,即均值为0,标准差为1,转化函数为:

clip_image004

其中clip_image006为所有样本数据的均值,clip_image008为所有样本数据的标准差。

 

Z-score标准化的sklearn方法:http://blog.csdn.net/u011630575/article/details/79406612


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

    数据的标准化(normalization)是将数据按比例缩放,使之落入一个小的特定区间。在某些比较和评价的指标处理中经常会用到,去除数据的单位限制,将其转化为无量纲的纯数值,便于不同单位或量级的指标能够进行比较和加权。其中最典型的就是数据的归一化处理,即将数据统一映射到[0,1]区间上。

    目前数据标准化方法有多种,归结起来可以分为直线型方法(如极值法、标准差法)、折线型方法(如三折线法)、曲线型方法(如半正态性分布)。不同的标准化方法,对系统的评价结果会产生不同的影响,然而不幸的是,在数据标准化方法的选择上,还没有通用的法则可以遵循。

归一化的目标

1 把数变为(0,1)之间的小数
        主要是为了数据处理方便提出来的,把数据映射到0~1范围之内处理,更加便捷快速,应该归到数字信号处理范畴之内。
2 把有量纲表达式变为无量纲表达式
        归一化是一种简化计算的方式,即将有量纲的表达式,经过变换,化为无量纲的表达式,成为纯量。 比如,复数阻抗可以归一化书写:Z = R + jωL = R(1 + jωL/R) ,复数部分变成了纯数量了,没有量纲。 
另外,微波之中也就是电路分析、信号系统、电磁波传输等,有很多运算都可以如此处理,既保证了运算的便捷,又能凸现出物理量的本质含义。

 

归一化后有两个好处

1. 提升模型的收敛速度

如下图,x1的取值为0-2000,而x2的取值为1-5,假如只有这两个特征,对其进行优化时,会得到一个窄长的椭圆形,导致在梯度下降时,梯度的方向为垂直等高线的方向而走之字形路线,这样会使迭代很慢,相比之下,右图的迭代就会很快(理解:也就是步长走多走少方向总是对的,不会走偏)

数据归一化和两种常用的归一化方法
2.提升模型的精度

归一化的另一好处是提高精度,这在涉及到一些距离计算的算法时效果显著,比如算法要计算欧氏距离,上图中x2的取值范围比较小,涉及到距离计算时其对结果的影响远比x1带来的小,所以这就会造成精度的损失。所以归一化很有必要,他可以让各个特征对结果做出的贡献相同。

    在多指标评价体系中,由于各评价指标的性质不同,通常具有不同的量纲和数量级。当各指标间的水平相差很大时,如果直接用原始指标值进行分析,就会突出数值较高的指标在综合分析中的作用,相对削弱数值水平较低指标的作用。因此,为了保证结果的可靠性,需要对原始指标数据进行标准化处理。

    在数据分析之前,我们通常需要先将数据标准化(normalization),利用标准化后的数据进行数据分析。数据标准化也就是统计数据的指数化。数据标准化处理主要包括数据同趋化处理和无量纲化处理两个方面。数据同趋化处理主要解决不同性质数据问题,对不同性质指标直接加总不能正确反映不同作用力的综合结果,须先考虑改变逆指标数据性质,使所有指标对测评方案的作用力同趋化,再加总才能得出正确结果。数据无量纲化处理主要解决数据的可比性。经过上述标准化处理,原始数据均转换为无量纲化指标测评值,即各指标值都处于同一个数量级别上,可以进行综合测评分析。

从经验上说,归一化是让不同维度之间的特征在数值上有一定比较性,可以大大提高分类器的准确性。

数据归一化和两种常用的归一化方法

3. 深度学习中数据归一化可以防止模型梯度爆炸。

数据需要归一化的机器学习算法

需要归一化的模型:

        有些模型在各个维度进行不均匀伸缩后,最优解与原来不等价,例如SVM(距离分界面远的也拉近了,支持向量变多?)。对于这样的模型,除非本来各维数据的分布范围就比较接近,否则必须进行标准化,以免模型参数被分布范围较大或较小的数据dominate。
        有些模型在各个维度进行不均匀伸缩后,最优解与原来等价,例如logistic regression(因为θ的大小本来就自学习出不同的feature的重要性吧?)。对于这样的模型,是否标准化理论上不会改变最优解。但是,由于实际求解往往使用迭代算法,如果目标函数的形状太“扁”,迭代算法可能收敛得很慢甚至不收敛。所以对于具有伸缩不变性的模型,最好也进行数据标准化。

不需要归一化的模型:

        ICA好像不需要归一化(因为独立成分如果归一化了就不独立了?)。

       基于平方损失的最小二乘法OLS不需要归一化。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/152287.html原文链接:https://javaforall.net

(0)
上一篇 2022年6月23日 下午4:00
下一篇 2022年6月23日 下午4:00


相关推荐

  • 解决VS2008在win7找不到输入序列号的地方

    解决VS2008在win7找不到输入序列号的地方VS2008在Windows7打开维护界面看不到可以输序列号的地方。因为微软把他隐藏了。我们可以借用工具把他显示出来:下载地址:http://www.zlsoft.com/techbbs/UploadFile/2010-7/2010716148883786.rar使用方法:打开工具,填入你的找到序列号,点击开启,打开控制面板,调出VS2008的维护界面,点击下一步

    2022年8月10日
    11
  • 测试报告范文_性能测试报告分析

    测试报告范文_性能测试报告分析前言受益于pytest的集成,HttpRunnerv3.x可以使用pytest所有插件,包括pytest-html和allure-pytest,也可以实现这2种方式的报告内置html报告pyt

    2022年7月30日
    10
  • 2021-09-27 网安实验-取证分析-数字取证之Bulk_extractor

    2021-09-27 网安实验-取证分析-数字取证之Bulk_extractorBulk extractor 一个计算机取证工具 可以扫描磁盘映像 文件 文件目录 并在不解析文件系统或文件系统结构的情况下提取有用的信息 由于其忽略了文件系统结构 程序在速度和深入程度上都有了很大的提高在前面的实验中我们可以看到 foremost 和 scalpel 是比较有效的文件恢复和提取的工具 但是仅限于几种特定的类型 为了进一步的提取数据 我们可以使用 Bulk exetractor 除了 foremost scalpel 能提取的恢复 提取的数据外 Bulk exetractor 还可以提取的数据包括 信用

    2026年3月18日
    2
  • layui 单选框、多选框radio 元素判断是必填项 lay-verify=‘required‘

    layui 单选框、多选框radio 元素判断是必填项 lay-verify=‘required‘简单验证复选框,单选框必填例子代码:<!DOCTYPEhtml><html><head><metacharset=”utf-8″><title>layui</title><metaname=”renderer”content=”webkit”><metaht…

    2022年5月30日
    154
  • python最好的开发工具_Python编译器

    python最好的开发工具_Python编译器对于开发工具,仁者见仁智者见智,关键是自己喜欢,用着顺手就好,不用刻意去追求别人用的是什么工具。这里给大家主要推荐三款工具,分别是PyCharm、SublimeText3、VSCode,因为这

    2022年8月3日
    7
  • ureport2报表详细使用(一)-集成及配置

    ureport2报表详细使用(一)-集成及配置一 报表简介 UReport2 是一款基于架构在 Spring 之上纯 Java 的高性能报表引擎 通过迭代单元格可以实现任意复杂的中国式报表 在 UReport2 中 提供了全新的基于网页的报表设计器 可以在 Chrome Firefox 等各种主流浏览器运行 不支持 IE 使用 UReport2 打开浏览器即可完成各种复杂报表的设计制作 二 主体功能 UReport2 支持创建数据源 添加数据集 并对数据集进行函数 表达式处理 参考 数据处理 UReport2 支持对数据集形成可视化报表 包

    2025年10月13日
    6

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号