基于负熵最大化的FastICA算法 下载本文

基于负熵最大化的FastICA算法

一.算法原理:

独立分量分析(ICA)的过程如下图所示:在信源s(t)中各分量相互独立的假设下,由观察x(t)通过结婚系统B把他们分离开来,使输出y(t)逼近s(t)。

图1-ICA的一般过程

ICA算法的研究可分为基于信息论准则的迭代估计方法和基于统计学的代数方法两大类,从原理上来说,它们都是利用了源信号的独立性和非高斯性。基于信息论的方法研究中,各国学者从最大熵、最小互信息、最大似然和负熵最大化等角度提出了一系列估计算法。如FastICA算法, Infomax算法,最大似然估计算法等。基于统计学的方法主要有二阶累积量、四阶累积量等高阶累积量方法。本实验主要讨论FastICA算法。

1. 数据的预处理

一般情况下,所获得的数据都具有相关性,所以通常都要求对数据进行初步的白化或球化处理,因为白化处理可去除各观测信号之间的相关性,从而简化了后续独立分量的提取过程,而且,通常情况下,数据的白化处理能大大增强算法的收敛性。

若一零均值的随机向量Z??Z1,?,ZM?T满足E?ZZT??I,其中:I为单位矩阵,我

T们称这个向量为白化向量。白化的本质在于去相关,这同主分量分析的目标是一样的。在ICA

中,对于为零均值的独立源信号S?t???S1?t?,...,SN?t??,有:

E?SiSj??E?Si?E?Sj??0,当i?j,且协方差矩阵是单位阵cov?S??I,因此,源信号S?t?是白色的。对观测信号X?t?,我们应该寻找一个线性变换,使X?t?投影到新的子空间后变成白化向量,即:

Z?t??W0X?t? (2.1) 其中,W0为白化矩阵,Z为白化向量。

利用主分量分析,我们通过计算样本向量得到一个变换

W0???1/2UT

其中U和?分别代表协方差矩阵CX的特征向量矩阵和特征值矩阵。可以证明,线性变换

W0满足白化变换的要求。通过正交变换,可以保证UTU?UUT?I。因此,协方差矩阵: EZZT?E??1/2UTXXTU??1/2???1/2UTEXXTU??1/2???1/2???1/2?I (2.2)

再将X?t??AS?t?式代入Z?t??W0X?t?,且令W0A?A,有

Z?t??W0AS?t??AS?t? (2.3)

由于线性变换A连接的是两个白色随机矢量Z?t?和S?t?,可以得出A一定是一个正交

??????~~~~变换。如果把上式中的Z?t?看作新的观测信号,那么可以说,白化使原来的混合矩阵A简化成一个新的正交矩阵A。证明也是简单的:

TTTTTT EZZ?EASSA?AESSA?AA?I (2.4)

~???~~?~??~~~其实正交变换相当于对多维矢量所在的坐标系进行一个旋转。

在多维情况下,混合矩阵A是N?N的,白化后新的混合矩阵A由于是正交矩阵,其

~自由度降为N??N?1?/2,所以说白化使得ICA问题的工作量几乎减少了一半。

白化这种常规的方法作为ICA的预处理可以有效地降低问题的复杂度,而且算法简单,

用传统的PCA就可完成。用PCA对观测信号进行白化的预处理使得原来所求的解混合矩阵退化成一个正交阵,减少了ICA的工作量。此外,PCA本身具有降维功能,当观测信号的个数大于源信号个数时,经过白化可以自动将观测信号数目降到与源信号维数相同。

2. FastICA算法

FastICA算法,又称固定点(Fixed-Point)算法,是由芬兰赫尔辛基大学Hyv?rinen等人提出来的。是一种快速寻优迭代算法,与普通的神经网络算法不同的是这种算法采用了批处理的方式,即在每一步迭代中有大量的样本数据参与运算。但是从分布式并行处理的观点看该算法仍可称之为是一种神经网络算法。FastICA算法有基于峭度、基于似然最大、基于负熵最大等形式,这里,我们介绍基于负熵最大的FastICA算法。它以负熵最大作为一个搜寻方向,可以实现顺序地提取独立源,充分体现了投影追踪(Projection Pursuit)这种传统线性变换的思想。此外,该算法采用了定点迭代的优化算法,使得收敛更加快速、稳健。

因为FastICA算法以负熵最大作为一个搜寻方向,因此先讨论一下负熵判决准则。由信息论理论可知:在所有等方差的随机变量中,高斯变量的熵最大,因而我们可以利用熵来度量非高斯性,常用熵的修正形式,即负熵。根据中心极限定理,若一随机变量X由许多相互独立的随机变量Si?i?1,2,3,...N?之和组成,只要Si具有有限的均值和方差,则不论其为何种分布,随机变量X较Si更接近高斯分布。换言之,Si较X的非高斯性更强。因此,在分离过程中,可通过对分离结果的非高斯性度量来表示分离结果间的相互独立性,当非高斯性度量达到最大时,则表明已完成对各独立分量的分离。

负熵的定义:

?H?Y? (2.5) Ng?Y??H?YGau? ss式中,YGauss是一与Y具有相同方差的高斯随机变量,H???为随机变量的微分熵

H?Y???pY???lgpY???d? (2.6)

? 根据信息理论,在具有相同方差的随机变量中,高斯分布的随机变量具有最大的微分熵。当Y具有高斯分布时,Ng?Y??0;Y的非高斯性越强,其微分熵越小,Ng?Y?值越大,所以Ng?Y?可以作为随机变量Y非高斯性的测度。由于根据式(3.6)计算微分熵需要知道Y的概率密度分布函数,这显然不切实际,于是采用如下近似公式:

Ng?Y???E?g?Y???E?g?YGauss??? (2.7)

2?为均值运算;g???为非线性函数,可取g1?y??tanh(a1y),或其中,E??g2?y??yexp?y2/2或g3?y??y3等非线性函数,1?a1?2,这里,通常我们取a1?1。

快速ICA学习规则是找一个方向以便WXY?WX具有最大的非高斯性。这里,

T非高斯性用式(3.7)给出的负熵Ng(WX)的近似值来度量,WX的方差约束为1,对于

TTT???T?白化数据而言,这等于约束W的范数为1。FastICA算法的推导如下。首先,WX的负熵的最大近似值能通过对EGWX??T??进行优化来获得。根据??Kuhn-Tucker条件,在

EWTX?????W22?1的约束下,E?G?WTX??的最优值能在满足下式的点上获得。

EXgWX??W?0 (2.8)

??T