Whitening 白化和归一化 | StriveZs的博客

Whitening 白化和归一化

白化和归一化

白化

白话的目的就是去除输入数据的冗余信息。

例如:训练数据是图像,由于图像中相邻像素之间具有很强的相关性,因此输入是冗余的的。白话的目的就是降低输入的荣誉的性。
输入数据集,经过白化处理后,生成新数据集满足两个条件:

  • 特征相关性较低
  • 特征具有相同的方差

白化算法实现的过程:

  • 第一步是进行PCA操作,将数据降维
  • 第二步是对新的坐标进行归一化操作

归一化

定义

数据标准化(Normalization),也称为归一化,归一化就是将你需要处理的数据再通过某种算法那处理后,将其限定在你需要的一定的范围内。

数据标准化处理是数据挖掘的一项基础工作,不同评价指往往具有不同的量纲和量纲单位,这样的情况会影响到数据分析的结果,为了消除指标之间的量纲影响,需要对数据进行归一化处理,解决数据指标之间的可比性问题。

优点

如上面所说,数据归一化的目的就是为了把不同来源的数据统一到同一数量级(一个参考坐标系下),这样使得比较起来更加有意义。
归一化使得后面数据的处理更为方便,它有两大有点:

  • 归一化提高梯度下降求最优解的速度
  • 归一化有可能提高精度

归一化提高梯度下降求最优解的速度

如下图,我们对两个特征x1 x2的区间进行归一化,得到了下图,加快了梯度下降方法的求解过程:

figure.1

归一化有可能提高精度

一些分类器(如KNN)需要计算样本之间的距离(比如欧氏距离)。如果一个特征值域范围非常大,那么距离计算就要取决于这个特征,如果这时实际情况是至于范围小的特征更重要,那么归一化就要起作用了。

归一化方法

线性归一化

线性归一化,也称为min-max标准化、离差标准化;是对原始数据的线性变换,使得结果值映射到[0,1]之间。转换函数如下:

$ x'= \frac{x-min(x)}{max(x)-min(x)} $

这种归一化比较适合在数值较集中的情况。但是这种方法有一个缺陷,就是如果max和min不稳定的时候(添加新数值使得max/min改变),容易使得归一化的结果不稳定,影响后续使用效果。其实在实际应用中,我们一般用经验常量来替代max和min。

标准差归一化

它也叫Z-score标准化,这种方法基于原始数据的均值和标准差进行数据的标准化。经过处理后的数据符合标准正态分布,即均值为0,标准差为1,转化函数为:

$ x^{*}=\frac{x-\mu}{\sigma} $

非线性标准化

这种方法一般使用在数据分析比较大的场景,有些数值很大,有些数值很小,通过一些数学函数,将原始值进行映射。一般使用的函数包括log、指数、正切等,需要根据数据分布的情况来决定非线性函数的曲线。

StriveZs wechat
Hobby lead  creation, technology change world.