归一化、标准化、单位化方法的总结

时间:2024-04-14 15:09:12

归一化:常用的方法是对原始数据进行线性变换把数据映射到[0,1]或者[-1,1]之间。变换方法见下文一、二。不同变量往往量纲不同,归一化可以消除量纲对最终结果的影响,是不同变量具有可比性。在不涉及距离度量、协方差计算、数据不符合正态分布时,可使用归一化方法。比如图像处理中,将RGB图像转换为灰度图向后,将其值限定在[0,255]的范围等。

标准化:常用的方法是z-score标准化,镜柜处理后数据均值为0,标准差为1。该标准化方法要求原始数据的分布可以近似为高斯分布,均值为0,标准差为1,。在分类、聚类算法中,需要使用距离来度量相似性的时候,或者PCA技术进行降维的时候,Z-score standardization表现的更好。

单位化:单位化处理比较简单。就是每个矩阵除以他自己的模。模的计算时矩阵中每个元素的平方和再开方。

 

一、L1 normalization, L2 normalization, Lp normalization

无论传统图像处理,还是深度学习,我们经常会听说存在L1 normalization,L2 normalization,那么这些归一化是什么呢?在统计学习中,归一化的具体作用是归纳归一样本的统计分布性。归一化在0~1之间是统计的概率分布,归一化在-1~+1之间是统计的坐标分布。即该函数在(负无穷,正无穷)的积分为1。

下图为pytorch官网normalize的定义和实现方程

归一化、标准化、单位化方法的总结

 

从公式中可以看出这是一个Lp normalize,p表示1,2,...,n。sigma是一个极小的小数,为了防止分母为0时所做的处理。

归一化、标准化、单位化方法的总结

对于L1来说,p=1,分母就是上图中的示例1。对于L2来说,p=2,分母就是上图中的示例2。对于Lp来说,分母就是上图中的示例3。

 

比如存在数:

归一化、标准化、单位化方法的总结

 

L1 normalize的结果和L2 normalize的结果如下:

归一化、标准化、单位化方法的总结

pytorch计算结果:

归一化、标准化、单位化方法的总结

Lp normalization归一化范围:[-1, 1]

所以往后可以使用Lp normalize了,方便简单。

 

二、使用最大最小值进行归一化处理

1. Rescaling

归一化、标准化、单位化方法的总结

 

其中:

min(x):数据分布的最小值

max(x):数据分布的最大值

作用:计算出每个样本的比例值。

作用:计算出每个样本的比例值。

取值范围:[0,1]

 

2. Mean Normalization

归一化、标准化、单位化方法的总结

其中:

mean(x):数据分布中的均值

min(x):数据分布的最小值

max(x):数据分布的最大值

作用:计算出每个样本的比例值。

取值范围:[-1,1]

 

三、符合正态分布的标准化处理

常用的方法是z-score标准化,镜柜处理后数据均值为0,标准差为1。

归一化、标准化、单位化方法的总结

其中:

u:表示均值,mean

sigma:表示标准差,std

标准化处理就是数据减去均值然后除以标准差,使其分布符合正态分布。

标准差 = 方差的算数平方根

该标准化方法要求原始数据的分布可以近似为高斯分布,均值为0,标准差为1,。在分类、聚类算法中,需要使用距离来度量相似性的时候,或者PCA技术进行降维的时候,Z-score standardization表现的更好。

 

四、使用最大最小值进行归一化处理。

Scaling to unit length

归一化、标准化、单位化方法的总结

单位化处理比较简单。就是每个矩阵除以他自己的模。模的计算时矩阵中每个元素的平方和再开方。