【E】机器学习 机器学习中的归一化的方法讨论

归一化方法:

看到一篇文章收益很大,机器学习中的归一化方法,我也总结一下,归一化的目的是除了让数据在一定的范围之内,还有量纲的考虑(计算协方差)
线性函数归一化(Min-Max scaling)
线性函数将原始数据线性化的方法映射到[0 1]的范围,对原始数据的等比例缩放:
【E】机器学习 机器学习中的归一化的方法讨论

0均值标准化(Z-score standardization)
0均值归一化方法将原始数据集归一化为均值为0、方差1的数据集,归一化公式如下:
【E】机器学习 机器学习中的归一化的方法讨论
其中,μ、σ分别为原始数据集的均值和方差。该种归一化方式要求原始数据的分布可以近似为高斯分布,否则归一化的效果会变得很糟糕。

两种归一化的应用场景是怎么样的呢?什么时候第一种方法比较好、什么时候第二种方法比较好呢?

  • 1、在分类、聚类算法中,需要使用距离来度量相似性的时候、或者使用PCA技术进行降维的时候,第二种方法去均值标准化表现更好
    2、**在不涉及距离度量、协方差计算、数据不符合正太分布的时候,可以使用第一种方法或其他归一化方法。比如图像处理中,将RGB图像转换为灰度图像后将其值限定在[0
    255]的范围,可以直接进行去均值的操作,一般是将训练集和测试集的数据都减去训练集的平均值**

我在原作者的基础上做了一些改动,将协方差的分母改为了n-1(这里是因为随机样本期望不确定,用均值代替,自由度-1):
假定两个维度的随机变量,样本个数为n,推导过程如下:
【E】机器学习 机器学习中的归一化的方法讨论

线性变换后,其协方差产生了倍数值的缩放,无法消除量纲对方差、协方差的影响,对PCA分析影响巨大;同时,由于量纲的存在,使用不同的量纲、距离的计算结果会不同。
0均值标准化(Z-score standardization),新的数据由于对方差进行了归一化,每个维度的量纲其实已经等价了,每个维度都服从均值为0、方差1的正态分布,计算距离,每个维度都是去量纲化的,避免了不同量纲的选取对距离计算产生的巨大影响。

总结:
在算法、后续计算中涉及距离度量(聚类分析)或者协方差分析(PCA、LDA等)的,同时数据分布可以近似为状态分布,应当使用0均值的归一化方法。其他应用中更具需要选用合适的归一化方法,比如图像处理中,将RGB图像转换为灰度图像后将其值限定在[0
255]的范围,我们可以直接对输入的像素数据进行去均值化,不需要再除以方差(标准化),因为所有像素矩阵都是归一化,在相同的范围内[0,255]。


参考的博客:
https://blog.****.net/zbc1090549839/article/details/44103801