机器学习学习笔记(3)——量纲与无量纲,标准化、归一化、正则化

article/2025/9/15 20:19:02

量纲、无量纲,标准化、归一化、正则化是我百度了很多次都不进脑子的知识,所以我决定还是放在博客上面。
不过鉴于我查阅了很多资料,说是有许多的坑,所以我也不清楚我的理解和解释是否是坑,具体的就留给各位来帮忙评判了!

目录

  • 1 量纲与无量纲
    • 1.1 量纲
    • 1.2 无量纲
  • 2 标准化
  • 3 归一化
  • 4 正则化
  • 5 总结
  • 6 参考

1 量纲与无量纲

1.1 量纲

量纲我觉得最重要的一句话是:物理量的大小与单位有关

从这句话我们来思考下最核心的两个单词:大小单位。就是说量纲是有两部分组成:单位。就比如1块钱1分钱,就是两个不同的量纲,因为度量的单位不同了。

1.2 无量纲

结合上面的内容来说,那么无量纲就是:物理量大小与单位无关

那么我们来考虑下,哪些内容是无量纲的。首先标量肯定是无量纲的,因为只有大小,没有单位。其次就是比值,因为一般来说比值都是由一个量纲除以了某个量纲后得到的,比如速度可以有“ k m / s km/s km/s”,“ m / s m/s m/s”等等。还有一个很显眼的无量纲,就是协方差的相关系数,因为协方差的相关系数是协方差归一化后得到的结果,可以用来衡量相关性,既然能够直接拿来衡量相关性,那么就是无量纲的。

2 标准化

标准化(standardization)是一种特征缩放(feature scale)的方法,在书《python machine learning》中,关于标准化的定义如下:

Gradient descent is one of the many algorithms that benefit from feature scaling. In this section, we will use a feature scaling method called standardization, which gives our data the property of a standard normal distribution, which helps gradient descent learning to converge more quickly. Standardization shifts the mean of each feature so that it is centered at zero and each feature has a standard deviation of 1.

用我粗糙的英语翻译一下就是:

梯度下降是受益于特征缩放的算法之一。有一种特征缩放的方法叫标准化,标准化使得数据呈现正态分布,能够帮助梯度下降中学习进度收敛的更快。标准化移动特征的均值(期望),使得特征均值(期望)为0,每个特征的标准差为1。

标准化公式如下:
x j ′ = x j − μ j σ j x_j^{'}=\frac{x_j-\mu_j}{\sigma_j} xj=σjxjμj

x j x_j xj n n n个训练样本中第 j j j个特征值组成的向量, μ j \mu_j μj是训练样本中的均值, σ j \sigma_j σj是训练样本的标准差。

关于为何标准化能够帮助到梯度下降,书本上的解释如下:

One of the reasons why standardization helps with gradient descent learning is that the optimizer has to go through fewer steps to find a good or optimal solution (the global cost minimum), as illustrated in the following figure, where the subfigures represent the cost surface as a function of two model weights in a two-dimensional classification problem:

标准化
我们先翻译解释,再解释图片:

为何标准化能够帮助梯度下降学习是因为优化器需要经历一些步骤才能找到好的或最优的方案(全局最小代价),如图所示,这表示了一个二分类问题中,关于两个权重的代价曲线函数。
而我们再来看看图,图的正中心代表着全局最优的代价(代价最小),而左边的图 w 2 w_2 w2方向比较宅, w 1 w_1 w1方向又比较宽,那么在梯度下降的过程中,在 w 2 w_2 w2方向梯度会很小,所以会一直寻找最优的点,那么带来了迭代次数变多的后果,降低了效率。而当对其标准化后,变为了右图这种0均值,1标准差的情况,那么在梯度下降的过程中,不会因为某个方向梯度过小而带来更多的迭代。

3 归一化

归一化(normalization)和标准化(standardization)区别不是很大,都是特征缩放(feature scale)的方式。

有的资料中说的,归一化是把数据压缩到 [ 0 , 1 ] [0,1] [0,1],把量纲转为无量纲的过程,方便计算、比较等。

在书本《python machine learning》中对归一化的定义为:

Now, there are two common approaches to bring different features onto the same scale: normalization and standardization. Those terms are often used quite loosely in different fields, and the meaning has to be derived from the context. Most often, normalization refers to the rescaling of the features to a range of [0, 1], which is a special case of min-max scaling.

翻译如下:

我们有两种普通的方法来将不同的特征带到同样的范围:归一化(normalization)和标准化(standardization)。这两个术语在不同领域的使用比较松散,通常需要靠上下文来判断它们的含义。普遍情况下,归一化指的是将特征缩放到 [ 0 , 1 ] [0, 1] [0,1]这个区间,这是一个“min-max scaling”的特殊栗子。

而对于不同特征列向量来说,min-max scaling公式如下:
x n o r m ( i ) = x i − x m i n x m a x − x m i n x_{norm}^{(i)}=\frac{x^{i}-x_{min}}{x_{max}-x_{min}} xnorm(i)=xmaxxminxixmin

其中 x i x^{i} xi是这个向量中具体的某个特征, x m i n x_{min} xmin是这一列特征向量中最小值, x m a x x_{max} xmax是这一列特征向量中最大值。

就比如说我们有个关于西瓜的数据集,其特征为 [ 声 音 , 颜 色 , 大 小 ] [声音,颜色,大小] [],关于 声 音 声音 这个特征我们有三个值,构成了一个向量: [ 1 , 5 , 3 ] [1,5,3] [1,5,3],对于这三个特征值来说,归一化后如下:
x n o r m ( 1 ) = 1 − 1 5 − 1 = 0 x_{norm}^{(1)}=\frac{1-1}{5-1}=0 xnorm(1)=5111=0
x n o r m ( 2 ) = 5 − 1 5 − 1 = 1 x_{norm}^{(2)}=\frac{5-1}{5-1}=1 xnorm(2)=5151=1
x n o r m ( 3 ) = 3 − 1 5 − 1 = 0.5 x_{norm}^{(3)}=\frac{3-1}{5-1}=0.5 xnorm(3)=5131=0.5

归一化还有一点,就是说归到 [ 0 , 1 ] [0,1] [0,1]区间后,并不会改变原本的数值大小排序关系(本想用单调性,但是感觉不妥)。就比如上面的栗子, [ 1 , 5 , 3 ] [1,5,3] [1,5,3]的大小关系为 ( 1 , 3 , 2 ) (1,3,2) (1,3,2),归一化为 [ 0 , 1 , 0.5 ] [0,1,0.5] [0,1,0.5]后的大小关系依旧为 ( 1 , 3 , 2 ) (1,3,2) (1,3,2),并没有发生变化。

那么关于归一化、标准化的本质区别就是说:归一化是将特征缩放到 [ 0 , 1 ] [0,1] [0,1]区间,标准化是把特征缩放到均值为0,标准差为1

4 正则化

正则化(regularization)是与标准化还有归一化完全不同的东西。正则化相当于是个惩罚项,用于惩罚那些训练的太好的特征。

在书《python machine learning》中,对于正则化的描述如下:

Regularization is a very useful method to handle collinearity (high correlation among features), filter out noise from data, and eventually prevent overfitting. The concept behind regularization is to introduce additional information (bias) to penalize extreme parameter (weight) values.

我们来翻译一下:

正则化就是用来处理collinearity的,这个collinearity指的是与特征高度相关,清理掉数据的噪声,最终阻止过拟合。而正则化实际上就是引入一个额外的信息(偏置)来惩罚极端的参数(权重)值。

我们借用吴恩达老师的PPT来说:
过拟合
我们看到图三这个曲线非线性拟合的太完美了,那么就造成了过拟合,造成的原因是因为特征过多,训练的太好了,而这个特征过多,我个人认为就对应了上面英文中的collinearity (high correlation among features)

我们再来分析图二和图三的公式,多了的特征是 x 3 x^3 x3 x 4 x^4 x4,为何多了这两个就造成了图三这样的车祸现场(因为拟合的太好了,导致泛化性能很差,当有新的特征来的时候就哦豁了)?大家不妨回忆下泰勒级数,就是用多项式逼近任意一个曲线,这里也是同样的道理。那么我们要怎样解决过拟合?我们有以下两种方法:

  1. 减少特征个数(特征约减):
    1.1 手工保留部分特征(你觉得你能做到么?反正我觉得我做不到)
    1.2 模型选择算法(PCA,SVD,卡方分布)
  2. 正则化:保留所有特征,惩罚系数 θ \theta θ,使之接近于0,系数小,贡献就小。

所以也就对应了书本上的惩罚极端参数值。

正则化通常采用L2正则化,公式如下:
λ 2 ∥ w ∥ 2 = λ 2 ∑ j = 1 m w j 2 \frac{\lambda}{2}\left\|w\right\|^2=\frac{\lambda}{2}\sum_{j=1}^mw_j^2 2λw2=2λj=1mwj2

其中 λ \lambda λ称作正则化项。这里 1 2 \frac{1}{2} 21是方便求导。

关于为何通常采用第二范数而非第一范数,我个人认为有如下两个理由:

  1. 计算机中计算平方比计算绝对值简单;
  2. 第二范数是光滑且可求导的,但是第一范数至少在0这个点是不可导的。

5 总结

  1. 量纲与无量纲的区别就是:物理量是否与单位有关。
  2. 标准化与归一化没有显著的区别,具体是谁要依据上下文确定。归一化是把特征缩放到 [ 0 , 1 ] [0,1] [0,1],标准化是把特征缩放到均值为0,标准差为1。
  3. 正则化是与标准化和归一化完全不同的东西,是用于惩罚训练的太好的参数,防止模型过拟合,提高模型的泛化能力。

6 参考

[1]Sebastian Raschka,Vahid Mirjalili.Python Machine Learning[M].Packt Publishing - ebooks Account:Birmingham,2017.
[2]龚焱.标准化和归一化什么区别?[EB/OL].https://www.zhihu.com/question/20467170,2018-5-16.
[3]lcdxshengpeng.无量纲量和有量纲量[EB/OL].https://blog.csdn.net/lcdxshengpeng/article/details/82794603,2018-9-20.


http://chatgpt.dhexx.cn/article/WjNDVsiN.shtml

相关文章

数据的无量纲化处理和标准化处理的区别是什么

数据的无量纲化处理和标准化处理的区别是什么 请教:两者除了方法上有所不同外,在其他方面还有什么区别? 解答: 标准化处理方法是无量纲化处理的一种方法。除此之外,还有相对化处理方法(包括初值比处理)、函数化(功效系数)方法,等等。由于标准化处理方法可以与分布…

数据归归一化方法(标准化)

数据归一化方法 数据标准化(normalization)数据标准化处理主要包括数据同趋化处理和无量纲化处理两个方面。 数据同趋化处理主要解决不同性质数据问题,对不同性质指标直接加总不能正确反映不同作用力的综合结果,须先考虑改变逆指标…

特征锦囊:特征无量纲化的常见操作方法

今日锦囊 特征无量纲化的常见操作方法 第一招,从简单的特征量纲处理开始,这里介绍了3种无量纲化操作的方法,同时也附上相关的包以及调用方法,欢迎补充! 无量纲化:即nondimensionalize 或者dimensionless&am…

数据挖掘——无量纲化

在进行特征选择之前,一般会先进行数据无量纲化处理,这样,表征不同属性(单位不同)的各特征之间才有可比性,如1cm 与 0.1kg 你怎么比?无量纲处理方法很多,使用不同的方法,对…

量纲与无量纲、标准化、归一化、正则化【能够帮助梯度下降中学习进度收敛的更快、提升模型的收敛速度提升模型的精度、防止模型过拟合,提高模型的泛化能力】

目录 1 量纲与无量纲 1.1 量纲 1.2 无量纲 2 标准化 3 归一化 归一化的好处 4 正则化 5 总结 1 量纲与无量纲 1.1 量纲 物理量的大小与单位有关。就比如1块钱和1分钱,就是两个不同的量纲,因为度量的单位不同了。 1.2 无量纲 物理量大小与单位…

数据预处理----数据无量纲化(归一化和标准化)

文章目录 概述数据挖掘的五大步骤skleran中的数据处理和特征工程 数据预处理Preprocessing数据无量纲化数据归一化---MinMaxScaler示例 数据标准化----StandardScaler示例 MinMaxScaler和StandardScaler应该选哪个 概述 数据挖掘的五大步骤 数据获取数据预处理 数据预处理是从…

数学分析模型(一):数据的无量纲处理方法及示例(附完整代码)

数据的无量纲处理方法及示例(附完整代码) (1)极值化方法(2)标准化方法(3)均值化方法示例要求建模步骤程序结果备注在对实际问题建模过程中,特别是在建立指标评价体系时,常常会面临不同类型的数据处理及融合。而各个指标之间由于计量单位和数量级的不尽相同,从而使得…

数据无量纲化

数据无量纲化 在机器学习算法实践中,我们往往有着将不同规格的数据转换到同一规格,或不同分布的数据转换到某个特定分布的需求,这种需求统称为将数据“无量纲化”。譬如梯度和矩阵为核心的算法中,譬如逻辑回归,支持向…

量纲化处理汇总

在实际研究中,不同的变量单位不同,数值差异极大。例如100g和1m等。 因此有时需要对数据进行去量纲,所谓的去量纲就是‘去掉’单位对数值的影响。但是量纲化有很多种方式,但具体应该使用哪一种方式,并没有固定的标准&am…

数据预处理--无量纲化

1.无量纲化定义 无量纲化,也称为数据的规范化,是指不同指标之间由于存在量纲不同致其不具可比性,故首先需将指标进行无量纲化,消除量纲影响后再进行接下来的分析。 2.无量纲化方法 无量纲化方法有很多,但是从几何角度来…

多指标综合评价中指标正向化和无量纲化方法的选择

摘要:本文用实例说明了多指标综合评价中,用“倒数逆变换法”进行指标正向化时会完全改变原指标的分布规律,影响综合评价结果的准确性;对三种常用无量纲化方法——极差变换法、标准化法和均值化法的选择使用问题,用实例…

量纲与无量纲,标准化、归一化、正则化

量纲与无量纲,标准化、归一化、正则化 1 量纲与无量纲1.1 量纲1.2 无量纲 2 标准化3 归一化4 正则化5 总结 1 量纲与无量纲 1.1 量纲 量纲我觉得最重要的一句话是:物理量的大小与单位有关。 从这句话我们来思考下最核心的两个单词:大小、单…

数据预处理之数据无量纲化(标准化/归一化)

在进行特征选择之前,一般会先进行数据无量纲化处理,这样,表征不同属性(单位不同)的各特征之间才有可比性,如1cm 与 0.1kg 你怎么比?无量纲处理方法很多,使用不同的方法,对…

无量纲化

参考博客:https://www.zhihu.com/question/29316149 1,无量纲化使不同规格的数据转换到同一规格。 2,常见的无量纲化方法有标准化和区间缩放法。 2.1**标准化**的前提是特征值服从正态分布,标准化后,其转换成标准正态分布。   标准化需要计算特征的…

什么是无量纲化

首先来了解什么是量纲? 量纲和单位的区别,长度,时间,质量等都叫做量纲,而米,千米,秒,分钟,等都是单位, 国际单位制规定了七个基本量纲单位,这七个…

常用的数据无量纲化方法

常用的数据无量纲方法 常用的数据无量纲方法都有什么?1.min-max归一化2.z-score标准化 常用的数据无量纲方法都有什么? 1.min-max归一化 该方法是对原始数据进行线性变换,将其映射到[0,1]之间([-1,1]之间也行)。 d…

数据预处理——无量纲化处理

数据预处理——无量纲化处理 1.无量纲化定义 无量纲化,也称为数据的规范化,是指不同指标之间由于存在量纲不同致其不具可比性,故首先需将指标进行无量纲化,消除量纲影响后再进行接下来的分析。 2.无量纲化方法 无量纲化方法有很…

几种指标无量纲化的方法

统计指标的无量纲化就是将统计指标的实际值转化为评价值。由于统计指标的性质不同,相应地,统计指标实际值转化为评价值的方法也就不同。 一、线性无量纲化方法 如果无量纲化的指标评价值与指标的实际值之间是呈现线性关系的,这种无量纲化方…

Latex公式换行编写

latex在写公式时往往会遇到长公式或者连续等于的情况,这时可以选择公式换行操作: \begin{equation}\begin{aligned}a & bc\\& cb\end{aligned} \end{equation} 得到如下的效果: 其中&是用于标注需要对齐的位置,例如…

Latex 多行公式换行对齐

\begin{equation} \begin{split} x&abc\\ &de\\ &fg \end{split} \end{equation} 效果: