数据归一化(数据标准化)的优点和方法

版权声明:站在巨人的肩膀上学习。 https://blog.csdn.net/zgcr654321/article/details/83387285

数据归一化(也叫数据标准化):

数据标准化(归一化)处理是数据挖掘的一项基础工作,不同评价指标往往具有不同的量纲和量纲单位,这样的情况会影响到数据分析的结果,为了消除指标之间的量纲影响,需要进行数据标准化处理,以解决数据指标之间的可比性。原始数据经过数据标准化处理后,各指标处于同一数量级,适合进行综合对比评价。

数据归一化的优点:

在机器学习中,数据归一化后加快了梯度下降求最优解的速度。

如:

未归一化时,寻找最优解的损失函数等高线图如下:

归一化后,寻找最优解的损失函数等高线图如下:

寻找最优解就是在寻找使损失函数值最小的theta1、theta2。

未归一化时,由于x1和x2的量纲可能不同,比如x1的数据都是10的3次方,而x2的数据都在1到10之间,造成图像的等高线为图中的椭圆形,归一化后,等高线图接近圆形,寻找最优解的过程变得更加平缓,能够更快更容易地收敛到最优解。

常用数据归一化方法:

min-max标准化(Min-max normalization)/0-1标准化(0-1 normalization):

这种方法有上面两种名称,也称为离差标准化,是对原始数据的线性变换,使结果值映射到[0, 1]之间。

函数形式如下:

max为样本数据的最大值,min为样本数据的最小值。

如果想要将数据映射到[-1,1],则将公式换成:

X∗=X−Xmean/Xmax−Xmin

这种方法有个缺陷就是当有新数据加入时,可能导致max和min的变化,需要重新定义。

log函数转换:

通过以10为底的log函数转换的方法同样可以实现归一化。

函数形式如下:

max为样本数据最大值,并且所有的数据都要大于等于1。

atan函数转换:

用反正切函数也可以实现数据的归一化。

使用这个方法时如果想映射的区间为[0,1],则数据都应该大于等于0,小于0的数据将被映射到[-1,0]区间上。

Z-score标准化(Z-score standardization):

这种方法需要使用原始数据的均值(mean)和标准差(standard deviation)进行数据标准化。该方法将原始数据集归一化为均值为0、方差1的数据集([0, 1]范围)。

函数形式如下:

 μ为所有样本数据的均值,σ为所有样本数据的标准差。

 在分类、聚类算法中,需要使用距离来度量相似性的时候、或者使用PCA技术进行降维、涉及到正态分布的时候使用该方法较好。

为什么z-score 标准化后的数据标准差为1?

x-μ只改变均值,标准差不变,所以均值变为0;(x-μ)/σ使标准差除以σ倍,所以标准差变为1。

猜你喜欢

转载自blog.csdn.net/zgcr654321/article/details/83387285