Normalization vs. Standardization vs. Batch Normalization

Normalization标准化和Standardization归一化,作为ML常用的tricks,大家再熟悉不过,但大家往往只知道基本的计算公式,且没深入了解过,甚至不知道标准化与归一化的区别,也不知道其具体作用,原理等,其次,存在为为什么使用Batch Normalization替代Normallization等问题。于是,我做了一定功课,及归纳如下。

一:Normalization归一化和Standardization标准化的定义

以上为众所周知的数学公式定义,我们看国外对Normalization及Standardization的定义如下:

Normalization vs. Standardization vs. Batch Normalization_第1张图片

从上文可得出,归一化是将数据缩放止0-1之间,而标准化是将数据分布转换成均值为0,方差为1的数据分布。

除此之外,我找到Google对Normalization的定义如下:

Normalization vs. Standardization vs. Batch Normalization_第2张图片

从Google定义可知,Normalization是为了将数据的数值列的数值更改至一个公共尺度,而不会改变数值之间的距离差异。这句话很重要,这是让我们对Normalization的更全面的理解。按我的理解为,Normalization是将各个特征的数值都缩放止一个固定的范围内,从而消除各个特征之间存在的数值差异,但对于单个特征本身而言,并不会改变这个特征里面各个数值的几何距离。从上面定义也可得出,Normalization及Standardization并不仅仅只限于上面两种方法,只是上文两种方法是我们最常使用的方法罢了。

 

二:Normalization归一化和Standardization标准化的区别

(1).归一化是标准化的一种方式,本质上,归一化跟标准化在数学计算上是不存在区别的,都为减去某个数值之后再去除以某个数值,且,归一化及标准化,从某个特征来看,是不会改变单个特征内的数值之间的几何距离。因此,是不会改变特征的数据分布。但从整个数据集来看,所有特征构成的数据,样本之间的几何距离是发生改变的,整个数据集的数据分布是发生改变了的。

(2).归一化目的是将数据缩放至某个区间,而标准化是将各个特征的数据分布都转换成到一个相似的数据分布,都是为了消除各个特征对目标函数的影响的不一致。值得注意的是,只有数据分布本身接近正态分布,标准化后,才可以接近标准的正态分布。

(3).归一化使用到数据的最小值及最大值,而标准化是使用到数据的均值及方差,当然这个只限于上文提到的两种方法。

(4).对于归一化,不是每个样本数据都会对结果产生影响。而标准化,每个样本数据都会产生被参照到,都会产生影响。

 

三:Normalization归一化和Standardization标准化的选择

(1).当对数据的输出有要求,且不存在极端值,异常值时,可使用归一化。

(2).当数据不属于高斯分布,可考虑使用归一化。

(3).当数据存在异常值时,可考虑使用标准化

 

四:Normalization归一化和Standardization标准化的作用及原理:

归一化跟标准化可以消除特征的量纲,既使的各个特征的数值范围接近,在计算loss时,不会因为某个特征的数值过大,导致其产生的loss过大,而忽略了某些特征对输出的影响,以便模型的快速拟合,也可以从而提高模型的准确度。

 

五:Batch Normalization的作用及原理:

Batch Normalization作为DL神器,被各个Net所采用,Batch Normalization对比Normalization有以下优点:

(1).训练过程中,使每次数据输入都具有相同的的数据分布,解决‘Internal covariate Shift’问题,从而加快模型的拟合。 

(2).使用min_batch,对比全部数据的均值方差,等于给模型加入噪声,防止模型的过拟合,类似于dropout ,提高模型的鲁棒性。

(3).适应sigmoid函数,因为数据经过sigmoid激活函数后,输出接近两端的极值,梯度接近0,于是使用批归一化,可以将数据分布拉回正态分布。

 

参考文档:

https://www.analyticsvidhya.com/blog/2020/04/feature-scaling-machine-learning-normalization-standardization/

https://www.zhihu.com/question/20455227

 

 

 

你可能感兴趣的:(深度学习)