自己记录一下比较琐碎的东西,顺便为正在思考类似问题的同学提供份参考,如有错误欢迎指正。

注:有些参考链接中的叙述有我认为不太准确的地方,本文是把各参考链接中我认为正确的部分做了汇总。

标准化(standardization)

概率论有标准解释,大致是使得方差为1,均值为0。有量纲变为无量纲,不再赘述。

规范化(normalization,某些情况称为归一化,至于什么情况...可浏览后续内容)

把有量纲表达式变成无量纲表达式,便于不同单位或量级的指标能够进行比较和加权。
(1)Min-Max Normalization
x' = (x - X_min) / (X_max - X_min)
(2)平均归一化(mean normalization)
x' = (x - μ) / (MaxValue - MinValue)
(1)和(2)有一个缺陷就是当有新数据加入时,可能导致max和min的变化,需要重新定义。此外还有非线性归一化,比如对数函数转换,反余切函数转换。
归一化与标准化分别应何时使用:
(1)如果对输出结果范围有要求,用归一化。
(2)如果数据较为稳定,不存在极端的最大最小值,用归一化。
(3)如果数据存在异常值和较多噪音,用标准化,可以间接通过中心化避免异常值和极端值的影响。

西瓜书(2016年1月第1版)36页备注部分,做出了如下解释:

“规范化”(normalization)是将不同变化范围的值映射到相同的固定范围中,常见的是[0,1],此时亦称“归一化”。

可见归一化是规范化的一种,都是normalization。

我认为,规范化normalization定义的操作很广,一个数据集随便加减某个数(后面会提到,shift),随便乘除某个数(后面会提到,scale),或者这两个操作进行组合,都可以是规范化(也就是说,规范化包含后续提到的大部分操作)。只不过常用的就那几种,给人一种,那几个操作才是“规范化”的错觉。至于为什么会这样想,见后续的思考。

参考链接:

  • https://www.jianshu.com/p/95a8f035c86c
  • https://zhuanlan.zhihu.com/p/93350539

中心化(zero-centered 或者 mean-subtraction)

减去均值使得新的数据集均值为0。

想表达“减去任意大小的值”的话,有一个词shift与之对应,见后面关于BN的叙述。

缩放(scale)

将数据集除以一个固定值,将数据固定在某个范围之中,取对数也算是一种缩放处理。

批归一化(batch normalization,BN)

首先,是要做normalization mean=0, variance= 1 其次,要用到mini-batch, 方便求mean 和 variance的值 当然,还有额外的

来对新生成的distribution做一定幅度的放缩和平移,这两个参数 分别控制着scale 和 shift

先使得mini-batch的均值为0方差为1,这明明是标准化standardization,BN的论文却也将其称为normalization。所以,正如前边所说,使得均值为0,方差为1,其实就是shift和scale的组合操作,是normalization的一种。

这部分叙述如果想深入了解可查看下方参考链接。

作用:

加快了模型收敛速度 一定程度缓解了梯度弥散问题 缓解covariance shift 的问题 BN还有轻微正则化的效果(将其视为副作用就好)

参考:

  • 如何理解Batch Normalization中的scale and shift? - 深度碎片的回答 - 知乎 https://www.zhihu.com/question/263856024/answer/274824952
  • 吴恩达深度学习课程

正则化(regularization)

不是数据预处理范围,是一种防止过拟合的手段。

补充以及牢骚:

上述提到,对于规范化的解释,西瓜书中说:“......常见的是[0,1],此时亦称'归一化'。”但并未明确将范围映射到[0,1]才是归一化。并未说“有此时,称'归一化'...”。要注意这两句并不等价。前一句给出了归一化的充分条件,后一句给出了归一化的充要条件。事实上,西瓜书并未给出充要条件,或者说,并未给出归一化的定义。

没有查找其他资料,所以我暂且认为:将数据变化范围映射到长度为1区间的行为才是归一化。也就是不仅仅认为映射到[0,1]才是归一化,那样感觉有些苛刻。也就是说,我认为可以将上述解释“归一化”时提到的min-max normalization以及mean noemalization翻译成“归一化”,因为这两个操作,将数据映射到了长度为1的区间。如果之后有其他资料,把某些将数据映射到长度不为1的区间的操作也称为“归一化”,我暂且认为是错的。

这里提一下,scikit-learn里有一个minmaxscaler,默认执行上述归一化理论中的minmax normalization(这个词组特指上侧引用的,有公式的那个“规范化”操作),但是也可以更改处理后数据的长度,也就是说,处理后不是1也可以。根据上述我的思考,这时我们说:如果采用默认设置,minmaxscaler执行了归一化(也可叫更大范围的概念---规范化),如果更改设置,使得处理后数据的长度不是1,这时就不能叫归一化了(但是还可以叫做规范化)。

总之英文的话较省事,汉语翻译时突然给了个“归一化”,也许对于某些常用操作来说,这个叫法很形象,但是,给出这个词,却不对这个词负责到底,任由它在领域内暧昧模糊地流窜,许多资料对这个归一化的解释都暧昧不清,甚至不给解释,直接说“你这样,这样,再这样,看到没,这个就是XX归一化。”(没有标准解释,没有说,符合什么特征的,叫做归一化。我们当然不能说,“显而易见啊,还用解释?”,就比如,将区间映射到[0,1]是归一化呢?还是只要区间长度是1就是归一化呢?还是说,以原点为中点,左右各1,也可以叫归一化呢?怎么解释好像都说得通。没有一个权威解释。好像大部分人只会说,啊,简单啊,这个我知道,这个操作是XX归一化。但什么是归一化的共同特征呢?)这很容易造成知识体系的混乱。目前就先在本文中给自己定一个标准,界定一下何为“归一化”,日后有机会看到明确的解释,再将本文更新。如果有些经典汉语著作已经对归一化做出了很好的解释…那权当我活该摸不着头脑吧,毕竟读得书确实少……(如果需要自己表达时,有时实在怕出错,暂时直接叫normalization或者“规范化”好了,忘掉“归一化”这个词。)

scale缩放中心_规范化(包含归一化)、标准化、中心化、BN、正则化的区别相关推荐

  1. 云计算呼叫中心_干货|云呼叫中心系统和传统呼叫中心系统的区别在哪?

    随着社会的发展,呼叫中心由传统的呼叫中心逐渐发展为云呼叫中心.然而关于这两者的区别,您知道吗?跟随畅远技术一同来了解一下吧...... 一.购买.安装不同 传统呼叫中心软件在配置方面有几个特点:一次购 ...

  2. 工业机器人九龙坡区职教中心_重庆市九龙坡职业教育中心(职教中心)简介简介...

    2019年重庆市九龙坡职业教育中心招生简章 一.学校概况 庆市九龙坡职业教育中心位于重庆市第一工业强区--九龙坡区,是国家级重点(公办)中等职业学校,于2012年2月,被国家教育部批准为全国中职示范学 ...

  3. 中国电子协会考评中心_中国电子学会考评中心和CPA青少年编程能力等级测评有什么不同?...

    1.考评大纲不同 完整大纲内容如下: 中国电子学会考评中心​www.qceit.org.cn 此图是已考过python一级学生报考界面 CPAT​www.cpatest.cn 电子协会举办的考级科目较 ...

  4. 工业机器人九龙坡区职教中心_山西省襄汾县职教中心“智能工业机器人订单班”学生集体观看直播“2020一带一路暨金砖国家技能发展与技术创新大赛”...

    由金砖国家工商理事会主办的金砖国家技能发展与技术创新大赛自2017年发起,已成功举办三届,累计近80000人次参与了竞赛及相关会议.展览展示.技术交流活动.金砖大赛拉开了金砖国家技能竞赛和技术创新合作 ...

  5. 规范化、归一化、标准化、中心化、正则化

    规范化.归一化.标准化.中心化 规范化指的是对数据进行规范处理,包含归一化.标准化和中心化.归一化包括最大最小归一化.均值归一化. 维基百科中对规范化的方法有定义,详细可见 https://en.wi ...

  6. 数据的规范化,归一化,标准化,正则化

    原文地址:数据的规范化,归一化,标准化,正则化作者:打湿井盖 数据的规范化,归一化,标准化,正则化,这几个破词整得我头晕,首先这些词就没规范好,对数据做实验更晕,网上狂搜一阵后,发现数据归一化,标准化 ...

  7. 分清规范化(标准化、归一化)、离散化、正则化、

    在机器学习中,特征与模型都很重要,因此在数据集中寻找本质特征有利于后面的工作,借鉴了以前上课的课件,今天总结一下机器学习的几种数据预处理方法. 1. 规范化(包括标准化和归一化) 将特征值按比例缩放映 ...

  8. 标准化、归一化、中心化

    标准化.归一化.中心化 数据分析及挖掘中常提到的几个概念(数据的 标准化.归一化.中心化),虽然经常在用,但可能还是有一些比较生僻的知识容易搞混淆,所以在十月国庆大家都出门上高速堵车的时候抽了点时间对 ...

  9. 数据规范化(归一化)、及Z-score标准化

    数据规范化 数据规范化(归一化)处理是数据挖掘的一项基础工作.不同评价指标往往具有不同的量纲,数值见的差别可能很大,不进行处理可能会影响到数据分析的结果.为了消除指标之间的量纲和取值范围差异的影响,需 ...

最新文章

  1. Redis学习笔记--Redis数据过期策略详解
  2. 2022年年底前山东将打造30个以上绿色数据中心 逐步淘汰高能耗中小型数据中心...
  3. recyclerview滑动到顶部和底部监听+上滑下滑监听
  4. spring配置c3p0连接池、spring的声明式事务管理
  5. html点击圆点箭头分页,css实现小箭头的实现方式
  6. Android的webview加载本地html、assert内html和收集URL
  7. Linux iostat监测IO状态
  8. python数据接口设计_Python接口与归一化设计
  9. 如何在PowerPoint中自动调整图片大小
  10. 4万次下载,我的这本电子书连续数月蝉联阿里云下载榜冠军!!!
  11. 航空公司客户价值分析
  12. 爱思助手更新后无法连接服务器,爱思助手无法连接手机怎么办 爱思助手连接失败问题解决办法...
  13. iTunes 10 选择自定义IPSW
  14. lowB三人组算法-冒泡排序-选择排序-插入排序
  15. 安卓电子书格式_纯干货|提升电子书阅读体验的四点感受
  16. 那个英雄辈出的年代——《资治通鉴》等历史札记有感2000字
  17. strstr函数实现(C语言)
  18. 渗透测试——网络服务渗透攻击
  19. Ten tools for sharepoint development
  20. 如何从“豌豆荚”下载APP的历史版本?

热门文章

  1. [debug+Python] 复制字典不能直接用 ‘=’,要用dict_name.copy()
  2. 简单区分NMOS和PMOS的方法
  3. AD19中画MOSFET的常见错误——封装出错
  4. MySQL(四)InnoDB中一棵B+树能存多少行数据
  5. 转发和重定向的区别[来源于网络]
  6. Jetty使用教程(四:24-27)—Jetty开发指南
  7. Uva 140 Bandwidth
  8. 【转】OCaml基础知识
  9. using关键字的用法以及作用
  10. [转载] python中append和extend函数区别