以前看斯坦福教程whiteining一章,由于原始图像的相邻像素值高度相关,图像数据信息冗长,关于白化作用的描述主要有两个方面。 1、减少特征之间的相关性2、特征具有相同的方差(协方差阵为1 ); 但是,为什么要这么做,以及这对算法和数据有什么好处,一直在雨中。 最近看了ICA的数据预处理后,发现教程图解的白化方法和效果很好。

白化也称为漂白或球化; 将作为将原始数据x转换为x_Whitened的变换的x_Whitened的协方差矩阵的作为单位阵列。

一般来说,由于得到的数据都是相关的,一般要求对数据进行初步白化或球化处理。 因为白化处理可以消除各观测信号之间的相关性,简化后续独立分量的提取过程,并且对数据进行白化处理比不对数据进行白化处理具有更好的算法收敛性。

当一零平均值的随机向量z=(z1,Z2, Zm ),E{Z*Z’}=I,I作为单位矩阵满足时,该向量称为白色向量。 白化的本质是消除关联,这与PCA的原理相似; 在ICA中,对于零平均值的独立源信号s(t )=[S1(t ) t],S2 ) t )…sn ) t],E{Si*Sj}=E{Si}*E{Sj}=0,该I!=j的情况:且协方差矩阵与单位阵列cov(s )=I,)平均值为零时的相关系数矩阵和协方差矩阵相等),因此源信号为白色。 对于观测信号x(t ),在x ) t )投影到新的子空间之后,应寻找线性变换以导致白化向量。 也就是说:

z(t )=W0*X(t ) t; 这里,wo是白化矩阵,z是白化矢量

利用主成分分析,通过计算样本向量得到了变换:

这里,^和u分别表示协方差矩阵的特征向量矩阵和特征值矩阵。 可以证明线性变换W0满足白化变换的要求。 通过正交变换,可以保证u* u=u * u=I。 因此,通过协方差阵列:

再将x(t )=as ) t )式代入z ) t )=W0*X(t ) t ),求出W0*A=B;

有(z ) t )=W0*A*S(t ) t )=B*S(t ) t )

由于线性变换连接了两个白色随机向量z(t )和s ) t ),因此可以看出b一定是正交变换。 如果将上式中的z(t )的作为新的观测信号考虑,则白化可以说将原来的混合矩阵a简化为新的正交矩阵b。 实际上,正交变换相当于旋转多维向量所在的坐标系。 根据以前的博文,多维分布即使经过坐标系的旋转,联合微分熵也是不变的,因此变换的数据信息是不变的。

在多维的情况下,混合矩阵a为*n,白化后的新的混合矩阵为正交矩阵,因此其自由度降低为n*(n-1 )/2 (这不知道为什么),因此可以说白化导致ICA问题的工作量几乎减半。

白化这种常规方法作为ICA的预处理可以有效降低问题的复杂度,且算法简单,可以用传统的PCA完成。 用PCA使观测信号白化的预处理,使原来求出的解混合矩阵退化为一个正交阵列,减少了ICA的工作量。 另外,PCA本身具有维数削减功能,在观测信号的数量比源信号的数量多的情况下,通过白化,能够将观测信号的数量自动降低为与源信号的维数相同。

图解分析:

假设信号源s1和s2是独立的,例如下图的横轴为s1,纵轴为s2,无法从s1中得到s2。

我们只知道他们合成的信号x,如下。

此时,x1和x2不是独立的(例如,如果看到最上面的尖角,知道x1就知道x2)。 那样的话直接代入计算的结果不好。 因为x假设是独立的。

因此,漂白这一步骤是为了使x独立。 漂白结果如下。

可以看到,数据是方阵,在的维度上是独立的。

但是,如果这个时候x的分布很好的话可以这样变换,但是有噪音的话怎么办呢? 使用前面提到的PCA方法对数据进行降维,可以对噪声信号进行滤波,获得k维的正交向量,然后使用ICA。

参考文献:

1: http://wenku.baidu.com/link? url=M9B-jE_GnXBcZBV2wpHAp8_深情的皮卡丘7 je1ih8yetkvfrbzulqwfutgtoo _ e5e2ufcqnpxtyhrlzrizkfce3yyw1_ aw 6bb 3d7nzty 6u mry

2:3358 wenku.Baidu.com/view/941 f 6782 e 53 a 580216 fcfe 03.html