标准化和归一化概念澄清与梳理

2023-11-22 00:30

本文主要是介绍标准化和归一化概念澄清与梳理,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

《大数据平台架构与原型实现:数据中台建设实战》博主历时三年精心创作的《大数据平台架构与原型实现:数据中台建设实战》一书现已由知名IT图书品牌电子工业出版社博文视点出版发行,点击《重磅推荐:建大数据平台太难了!给我发个工程原型吧!》了解图书详情,京东购书链接:https://item.jd.com/12677623.html,扫描左侧二维码进入京东手机购书页面。
标准化和归一化是特征缩放(feature scalingscaling)的主要手段,其核心原理可以简单地理解为:让所有元素先减去同一个数,然后再除以另一个数,在数轴上呈现的效果就是:先将数据集整体平移到有某个位置,然后按比例收缩到一个规定的区间内(范数归一化除外)。各种特征缩放手段的不同之处在于:他们减去和除以的数字不同,这决定了它们平移后的位置和缩放后的区间。特征缩放的目的是去除数据单位(量纲)的影响,将其转化为无量纲的纯数值,便于不同单位或量级的指标能够进行比较和加权。本文地址:[https://blog.csdn.net/bluishglc/article/details/128696871](https://blog.csdn.net/bluishglc/article/details/128696871),转载请注明出处。

但不得不提的是,由于翻译和命名上的歧义性以及各种误传误用,特征缩放领域里的术语和概念非常混乱,包括:标准化、正规化、正则化、归一化、Standardization、Normalization在内的这些概念既有关联又有差异,再加上它们的原始出处已基本都不可考,所以被大量混用和滥用,在一些劣质文章中会经常看到张冠李戴或相互矛盾的说法。本文我们会尽量结合字面含义和多数资料的描述,对这些概念做一轮梳理。在开始之前,我们先把梳理好的结论以表格形式展示出来,然后我们再详细梳理这些概念和分类:

请添加图片描述

首先,我们需要先统一一下中英文术语,从大量的资料来看,普遍将“Standardization”翻译为“标准化”,将“Normalization” 翻译为“归一化”。标准化(Standardization)的概念是非常明确的,没有任何歧义,它明确指向一个确定的算法,我们会在下文详细介绍。但归一化(Normalization)的概念就复杂了:首先,英文的Normalization本身就不是一个含义确定的术语,狭义地看,它被用于指代两种不同的算法,所以是有歧义的,下文会详细介绍,因此有的英文文章建议慎用Normalization一词。其次,它的中文翻译:归一化,其内涵已经超出了英文单词的含义范畴,而被“拓展”到了更为通用的层面上。这些细节我们都会在后面详细讨论。

简单总结一下:标准化(Standardization)可以认为是一个“狭义”的概念,它明确对应一个具体的算法,没有歧义;而归一化(Normalization)则是一个“广义”的概念,可指代多种缩放算法,如不明确说明使用的是什么缩放算法,往往会有歧义。

1. 标准化(Standardization)

在这些广泛流传的诸多术语中,标准化(Standardization)可以算是唯一一个定义明确没有歧义的概念了。它的处理逻辑是:先求出数据集(往往是一列数据)的均值和标准差,然后所有的元素先减去均值,再除以方差。由于标准化(Standardization)是按标准差(σ)缩放的,所以标准化也被叫做“标准差归一化”,所以这应该就是它名称中“标准”一词的来历(注意:使用标准化缩放后数据不一定是在[-1,1]之间,只是数据的整体标准差为1,这一点要清楚)。

由于标准化概念清晰而准确,所以不存在广义的“标准化”概念,但是某些文章会把标准化和归一化混为一谈,进而用标准化指代所有的数据缩放算法,这就不对了,只要大家能分辨出来,心里清楚就可以了。

2. 狭义的“归一化 (Normalization)”

在业界,我们会看到有部分资料会使用归一化(Normalization)指代一个具体的缩放算法,但遗憾的是大家指代的算法却是不同的,所以不像标准化,归一化没有形成统一明确的狭义概念,也就是一提到归一化时,大家就知道指的是哪个具体的算法。

不过,业界比较常见的是将“最大最小值缩放(Min-Max Scaling)”或者是“范数缩放(Norm Scaling)”称为Normalization。请注意,我们这里侧重讨论英文称谓“Normalization”,先不用“归一化”这种表述,因为这块的差异和讨论多见于英文资料,也和英文分词有些关系。

2.1 Normalization是“Min-Max归一化”?

这一说法的出处已不可考,可能是某些权威教材或书籍曾经这样定义过。在《Hands-On ML》一书(Page 72)中也明确提及Min-Max Scaling也叫Normalization;另外一种解释可能是因为标准差缩放和Min-Max缩放是两个最基本也最常用的数据缩放算法,前者使用了Standardization指代,于是就有人习惯用Normalization指代后者了。

2.2 Normalization是“范数归一化”?

这一说就更加直白了,完全是从具体的算法名引申而来。我们知道,Norm是指数学中的范数,Sklearn中有两个对数据进行范数归一的方法:分别是normalize()函数和Normalizer类,这种操作的名词自然会被称为“Normalization”,即三个术语之间的关系是:Norm -> Normalize/Normalizer -> Normalization,所以,范数归一化被叫做Normalization也是顺理成章的。

但正是由于存在上述两种流传都很广的认识,所以我们无法界定归一化(Normalization)具体对应的是哪一种缩放方法。

3. 广义的“归一化 (Normalization)”

由于大部分的特征缩放(feature scalingscaling)手段,数据经过处理之后一般都会被缩放到[0,1]或[-1,1]的区间内,所以中文使用的“归一化”这个术语能更好地体现缩放算法的本质,因而被广泛使用;同时另外一些数据缩放手段数据经处理后是某项特征值变成了1,所以也被习惯性的称之为了归一化,典型的代表就是:标准差归一化和范数归一化。目前,有明确中文称谓且使用“归一化”命名的缩放方法主要有3种,它们是:

  • 标准差归一化 / Z-Score归一化 / 标准化
  • Min-Max归一化
  • 范数归一化

它们的中英文名称和多种别名都以在文章开始的表格中详细列出。

4. 使用无歧义的“缩放函数名/类名”交流

我们应该掌握的当然是每一种具体的缩放算法,而不是这些混乱和没有定论的概念与分类,梳理这些概念还是为了便于平时的交流,如果大家在沟通中有发现了概念不一致的情况,就应该使用具体的缩放方法名来指代。在Sklearn中有五种具体的数据缩放方法,以下是它们的函数名:

名称方法名类名
标准差归一化 / Z-Score 归一化 / 标准化sklearn.preprocessing.scalesklearn.preprocessing.StandardScaler
Min-Max 归一化sklearn.preprocessing.minmax_scalesklearn.preprocessing.MinMaxScaler
范数归一化sklearn.preprocessing.normalizesklearn.preprocessing.Normalizer
Robust Scaler(无常用别名)sklearn.preprocessing.robust_scalesklearn.preprocessing.RobustScaler
Power Transformer (无常用别名)sklearn.preprocessing.power_transformsklearn.preprocessing.PowerTransformer

下图总结了这五种广义的归一化方法的计算原理和适应场景(boxcox由PowerTransformer提供支持):

请添加图片描述

我们将在后续的文章中详细讲解和演示上述的缩放手段。

5. 总结

“标准化”没有广义和狭义之分,就是“标准差归一化”(Z-Score归一化);狭义的“归一化”一种观点认为是“最大最小值归一化”,另一种观点认为是“范数归一化”,没有形成共识,广义的“归一化”则可以泛指“所有数据缩放方法”,只要在前面加上方法名定语修饰一下即可。


参考资料:

Data mining normalization method
Feature Scaling with scikit-learn
Data normalization in machine learning
sklearn中的数据预处理和特征工程
scikit-learn数据预处理之特征缩放
机器学习:盘点最常见的7种数据预处理方法和原理
标准化和归一化什么区别?

这篇关于标准化和归一化概念澄清与梳理的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/406160

相关文章

【VUE】跨域问题的概念,以及解决方法。

目录 1.跨域概念 2.解决方法 2.1 配置网络请求代理 2.2 使用@CrossOrigin 注解 2.3 通过配置文件实现跨域 2.4 添加 CorsWebFilter 来解决跨域问题 1.跨域概念 跨域问题是由于浏览器实施了同源策略,该策略要求请求的域名、协议和端口必须与提供资源的服务相同。如果不相同,则需要服务器显式地允许这种跨域请求。一般在springbo

【MRI基础】TR 和 TE 时间概念

重复时间 (TR) 磁共振成像 (MRI) 中的 TR(重复时间,repetition time)是施加于同一切片的连续脉冲序列之间的时间间隔。具体而言,TR 是施加一个 RF(射频)脉冲与施加下一个 RF 脉冲之间的持续时间。TR 以毫秒 (ms) 为单位,主要控制后续脉冲之前的纵向弛豫程度(T1 弛豫),使其成为显著影响 MRI 中的图像对比度和信号特性的重要参数。 回声时间 (TE)

梳理2024年,螺丝钉们爱用的3款剪辑软件

这年头,视频到处都是,就跟天上的星星一样数不清。不管你是公司里的新面孔,还是职场上的老狐狸,学会怎么剪视频,就好比找到了赢的秘诀。不管是给上司汇报工作,展示你的产品,还是自己搞点小视频记录生活,只要是剪辑得漂亮,肯定能一下子吸引大家的目光,让人记得你。咱们今天就来侃侃现在超火的三款视频剪辑工具,尤其是PR剪辑,你肯定听说过,这货在剪辑界可是大名鼎鼎,用它剪视频,既专业又麻利。 NO1. 福昕轻松

计算机网络基础概念 交换机、路由器、网关、TBOX

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、VLAN是什么?二 、交换机三、路由器四、网关五、TBOXTelematics BOX,简称车载T-BOX,车联网系统包含四部分,主机、车载T-BOX、手机APP及后台系统。主机主要用于车内的影音娱乐,以及车辆信息显示;车载T-BOX主要用于和后台系统/手机APP通信,实现手机APP的车辆信息显示与控

01 Docker概念和部署

目录 1.1 Docker 概述 1.1.1 Docker 的优势 1.1.2 镜像 1.1.3 容器 1.1.4 仓库 1.2 安装 Docker 1.2.1 配置和安装依赖环境 1.3镜像操作 1.3.1 搜索镜像 1.3.2 获取镜像 1.3.3 查看镜像 1.3.4 给镜像重命名 1.3.5 存储,载入镜像和删除镜像 1.4 Doecker容器操作 1.4

【机器学习-一-基础概念篇】

机器学习 定义分类算法 应用 定义 机器学习最早是被Arthur Samuel 提出的一个概念,指计算机无需明确编程即可学习的研究领域。1950年他发明的跳棋程序,这个人机对弈游戏让他的声名鹊起,机器学习这个概念才进入大众的是视线。 在这个跳棋程序里,他编程了一种算法,这个程序与Arthur下了数万次跳棋,计算机逐渐学会了下在哪里有更大的可能会赢得比赛,哪里会输,通过这种方法,最

【吊打面试官系列-Redis面试题】说说 Redis 哈希槽的概念?

大家好,我是锋哥。今天分享关于 【说说 Redis 哈希槽的概念?】面试题,希望对大家有帮助; 说说 Redis 哈希槽的概念? Redis 集群没有使用一致性 hash,而是引入了哈希槽的概念,Redis 集群有 16384 个哈希槽,每个 key 通过 CRC16 校验后对 16384 取模来决定放置哪个槽, 集群的每个节点负责一部分 hash 槽。

AI辅助编程里的 Atom Group 的概念和使用

背景 在我们实际的开发当中,一个需求往往会涉及到多个文件修改,而需求也往往有相似性。 举个例子,我经常需要在 auto-coder中需要添加命令行参数,通常是这样的: /coding 添加一个新的命令行参数 --chat_model 默认值为空 实际上这个需求涉及到以下文件列表: /Users/allwefantasy/projects/auto-coder/src/autocoder/auto

读软件设计的要素04概念的关系

1. 概念的关系 1.1. 概念是独立的,彼此间无须相互依赖 1.1.1. 一个概念是应该独立地被理解、设计和实现的 1.1.2. 独立性是概念的简单性和可重用性的关键 1.2. 软件存在依赖性 1.2.1. 不是说一个概念需要依赖另一个概念才能正确运行 1.2.2. 只有当一个概念存在时,包含另一个概念才有意义 1.3. 概念依赖关系图简要概括了软件的概念和概念存在的理

【生物信息学算法】图算法1:概念和算法

文章目录 1. 图的定义、分类、表达方式图的定义图的分类表达方式Python实现 2.相邻节点和度概念定义python实现 3.路径、距离和搜索路径和距离搜索环 4.图论中的欧拉定理 1. 图的定义、分类、表达方式 图的定义 图G可以由两个集合来定义,即G=(V,E)。其中,V是对象的集合,称为图的顶点或节点; E是V中(u,v)顶点对的集合,称为边或弧,表示u和v之间的关系