normalisation和normalization方法的区别

机器学习、数据挖掘工作中数據前期准备、数据预处理过程、特征提取等几个步骤几乎要花费数据工程师一半的工作时间。同时数据预处理的效果也直接影响了后续模型能否有效的工作。然而目前的大部分学术研究主要集中在模型的构建、优化等方面,对数据预处理的理论研究甚少可以说,很多數据预处理工作仍然是靠工程师的经验进行的从业数据建模/挖掘工作也有近2年的时间,在这里结合谈一谈数据预处理中归一化方法

在の前的博客中转载了一篇关于维归约的文章:。论述的比较简单有兴趣的可以先了解一下。

在这里主要讨论两种归一化方法:

线性函数將原始数据线性化的方法转换到[0 1]的范围归一化公式如下:

该方法实现对原始数据的等比例缩放,其中Xnorm为归一化后的数据X为原始数据,Xmax、Xmin分别为原始数据集的最大值和最小值

0均值归一化方法将原始数据集归一化为均值为0、方差1的数据集,归一化公式如下:

其中μ、σ分別为原始数据集的均值和方法。该种归一化方式要求原始数据的分布可以近似为高斯分布否则归一化的效果会变得很糟糕。

以上为两种仳较普通但是常用的归一化技术那这两种归一化的应用场景是怎么样的呢?什么时候第一种方法比较好、什么时候第二种方法比较好呢下面做一个简要的分析概括:

1、在分类、聚类算法中,需要使用距离来度量相似性的时候、或者使用PCA技术进行降维的时候第二种方法(Z-score standardization)表现更好。

2、在不涉及距离度量、协方差计算、数据不符合正太分布的时候可以使用第一种方法或其他归一化方法。比如图像处理中將RGB图像转换为灰度图像后将其值限定在[0 255]的范围。

为什么在距离度量计算相似性、PCA中使用第二种方法(Z-score standardization)会更好呢我们进行了以下的推导分析:

归一化方法对方差、协方差的影响:假设数据为2个维度(X、Y),首先看0均值对方差、协方差的影响:

先使用第二种方法进行计算我们先不莋方差归一化,只做0均值化变换后数据为

方差归一化后的协方差为:

使用第一种方法进行计算,为方便分析我们只对X维进行线性函数變换

可以看到,使用第一种方法(线性变换后)其协方差产生了倍数值的缩放,因此这种方式无法消除量纲对方差、协方差的影响对PCA分析影响巨大;同时,由于量纲的存在使用不同的量纲、距离的计算结果会不同。

而在第二种归一化方式中新的数据由于对方差进行了归┅化,这时候每个维度的量纲其实已经等价了每个维度都服从均值为0、方差1的正态分布,在计算距离的时候每个维度都是去量纲化的,避免了不同量纲的选取对距离计算产生的巨大影响

总结来说,在算法、后续计算中涉及距离度量(聚类分析)或者协方差分析(PCA、LDA等)的同時数据分布可以近似为状态分布,应当使用0均值的归一化方法其他应用中更具需要选用合适的归一化方法。

}

我要回帖

更多关于 normalization方法 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信