ICA快速算法原理和matlab算法程序
实验2 :FastICA 算法
一.算法原理:
独立分量分析 (ICA)的过程如下图所示:在信源s(t ) 中各分量相互独立的假设下,由
观察 通过结婚系统 把他们分离开来,使输出 逼近 。
x(t) B y(t) s(t)
图1-ICA 的一般过程
ICA 算法的研究可分为基于信息论准则的迭代估计方法和基于统计学的代数方法两大
类,从原理上来说,它们都是利用了源信号的独立性和非高斯性。基于信息论的方法研究中,
各国学者从最大熵、最小互信息、最大似然和负熵最大化等角度提出了一系列估计算法。如
FastICA 算法, Infomax 算法,最大似然估计算法等。基于统计学的方法主要有二阶累积量、
四阶累积量等高阶累积量方法。本实验主要讨论FastICA 算法。
1. 数据的预处理
一般情况下,所获得的数据都具有相关性,所以通常都要求对数据进行初步的白化或球
化处理,因为白化处理可去除各观测信号之间的相关性,从而简化了后续独立分量的提取过
程,而且,通常情况下,数据进行白化处理与不对数据进行白化处理相比,算法的收敛性较
好。
若一零均值的随机向量 T 满足 T ,其中: 为单位矩阵,我
E ZZ I I
Z Z ,, Z
1 M
们称这个向量为白化向量。白化的本质在于去相关,这同主分量分析的目标是一样的。在
T
ICA 中 , 对 于 为 零 均 值 的 独 立 源 信 号 S t S1 t ,...,SN t , 有 :
E S S E S E S 0,当i j
,且协方差矩阵是单位阵cov S I ,因此,源信号S t
i j i j
是白色的。对观测信号X t ,我们应该寻找一个线性变换,使X t 投影到新的子空间后变
成白化向量,即:
Z t W X t (2.1)
0
其中, 为白化矩阵, 为白化向量。
W Z
0
利用主分量分析,我们通过计算样本向量得到一个变换
W 1/ 2 UT
0
其中 和 分别代表协方差矩阵 的特征向量矩阵和特征值矩阵。可以证明,线性变换
U C
X
W 满足白化变换的要求。通过正交变换,可以保证 T T 。因此,协方差矩阵:
U U UU I
0
T 1/ 2 T T 1/ 2 1/ 2 T T 1/ 2 1/ 2 1/ 2