PCA whitening

对输入数据PCA whitening,维度为2时,想要把数据降维1维:

PCA whitening

数据的主方向就是旋转数据的第一维PCA whitening。因此,若想把这数据降到一维,可令:

PCA whitening

数据已经进行预处理(零均值),使得每个特征PCA whiteningPCA whitening具有相同的均值和方差。

PCA算法将寻找一个低维空间来投影我们的数据。从下图中可以看出,PCA whitening是数据变化的主方向,而 PCA whitening是次方向。

PCA whitening

为更形式化地找出方向PCA whiteningPCA whitening,我们首先计算出协方差矩阵PCA whitening,如下所示:

    PCA whiteningPCA whitening就是协方差矩阵的主特征向量,而PCA whitening是次特征向量。(按照特征值得大小选取)

向量PCA whiteningPCA whitening构成了一个新基,可以用来表示数据。那么PCA whitening就是样本点PCA whitening在维度PCA whitening上的投影的长度(幅值)。同样的,PCA whiteningPCA whitening投影到PCA whitening维度上的幅值。

在本例中,可得PCA whitening的点图如下(取 PCA whitening ):

  PCA whitening

协方差:为了衡量两个数据的相关性,一个数据朝大于均值的方向走的趋势时,另一个数据如果朝小于均值的方向走,趋势相反,协方差值为负的,负相关;如果另一个数据同意朝大于均值的方向变化,协方差为正值,正相关。如果协方差值为0,不相关。

数据白化就是为降低训练数据的冗余,降低输入的冗余性

由前面的例子,特征PCA whitening的分布如下图所示:

PCA whitening

  这个数据的协方差矩阵如下:

PCA whitening

  PCA whiteningPCA whitening是不相关的, 满足我们对白化结果的第一个要求 (特征间相关性降低)。为了使每个输入特征具有单位方差,我们可以直接使用PCA whitening作为缩放因子来缩放每个特征 PCA whitening。具体地,我们定义白化后的数据 PCA whitening如下:

PCA whitening

  绘制出 PCA whitening,我们得到:

PCA whitening

这些数据现在的协方差矩阵为单位矩阵 PCA whitening。我们说,PCA whitening是数据经过PCA白化后的版本: PCA whitening中不同的特征之间不相关并且具有单位方差。

拿图像为例,图像中的像素之间存在很强的相关性。(在图像处理中,一个像素与相邻像素的灰度值之间有联系,所以可以利用这一点进行图像压缩)。白化就是为了减少冗余也就是减少这种相关性。PCA白化在减少特征之间相关性的处理方法与PCA算法相同,找到一个新的基,将数据投影到新的基上,也就是将原始数据做旋转变化,达到减少相关性的目标。但PCA白化与PCA有一点不同,就是处理后的数据的方差为单位方差。主要是将主轴上的数据进行了缩放处理。

ZCA白化是在PCA白化后的数据基础上做处理,主要是对数据进行旋转,使数据比较好的接近原始数据,并没有减少数据特征之间的相关性。

PCA与白化,

就是对输入数据进行预处理,

前者对数据进行降维,后者对数据进行方差处理。

上一篇:Node Security


下一篇:ActiveMq使用笔记