基于负熵最大化的FastICA算法.docx
- 文档编号:3709127
- 上传时间:2022-11-24
- 格式:DOCX
- 页数:17
- 大小:23.15KB
基于负熵最大化的FastICA算法.docx
《基于负熵最大化的FastICA算法.docx》由会员分享,可在线阅读,更多相关《基于负熵最大化的FastICA算法.docx(17页珍藏版)》请在冰豆网上搜索。
基于负熵最大化的FastICA算法
基于负熵最大化的FastICA算法
一.算法原理:
独立分量分析(
ICA)的过程如下图所示:
在信源
s(t)
中各分量相互独立的假设下,由
观察
x(t)
通过结婚系统
B把他们分离开来,使输出
y(t)
逼近
s(t)
。
图1-ICA的一般过程
ICA算法的研究可分为基于信息论准则的迭代估计方法和基于统计学的代数方法两大
类,从原理上来说,它们都是利用了源信号的独立性和非高斯性。
基于信息论的方法研究中,各国学者从最大熵、最小互信息、最大似然和负熵最大化等角度提出了一系列估计算法。
如FastICA算法,Infomax算法,最大似然估计算法等。
基于统计学的方法主要有二阶累积量、
四阶累积量等高阶累积量方法。
本实验主要讨论FastICA算法。
1.数据的预处理
一般情况下,所获得的数据都具有相关性,所以通常都要求对数据进行初步的白化或球
化处理,因为白化处理可去除各观测信号之间的相关性,从而简化了后续独立分量的提取过
程,而且,通常情况下,数据的白化处理能大大增强算法的收敛性。
若一零均值的随机向量Z
T
I,其中:
I为单位矩阵,我
Z1,,ZM满足EZZT
们称这个向量为白化向量。
白化的本质在于去相关,这同主分量分析的目标是一样的。
在
ICA
中,对于为零均值的独立源信号St
S1
T
t,...,SNt,有:
ESi
SjESiESj
0,当i
j,且协方差矩阵是单位阵
covS
I,因此,源信号St
是白色的。
对观测信号
Xt,我们应该寻找一个线性变换,使
Xt
投影到新的子空间后变
成白化向量,即:
ZtW0Xt
(2.1)
其中,W0为白化矩阵,Z为白化向量。
利用主分量分析,我们通过计算样本向量得到一个变换
W0
1/2UT
其中U和
分别代表协方差矩阵CX的特征向量矩阵和特征值矩阵。
可以证明,线性变换
W0满足白化变换的要求。
通过正交变换,可以保证UTU
UUT
I。
因此,协方差矩阵:
EZZT
E
1/2UTXXTU
1/2
1/2UTEXXT
U
1/2
1/2
1/2
I
(2.2)
再将Xt
ASt式代入Zt
W0Xt,且令W0A
~
A,有
Zt
W0ASt
~
(2.3)
ASt
~
Zt和St
~
由于线性变换A连接的是两个白色随机矢量
,可以得出A一定是一个正交
变换。
如果把上式中的
Zt
看作新的观测信号,那么可以说,白化使原来的混合矩阵
A简
化成一个新的正交矩阵
~
A。
证明也是简单的:
EZZ
T
~
T~T
~
T
~T
~~T
I
(2.4)
EASSA
AESS
A
AA
其实正交变换相当于对多维矢量所在的坐标系进行一个旋转。
在多维情况下,混合矩阵
A是N
N的,白化后新的混合矩阵
~
A由于是正交矩阵,其
自由度降为N
N
1/2,所以说白化使得
ICA问题的工作量几乎减少了一半。
白化这种常规的方法作为
ICA的预处理可以有效地降低问题的复杂度,
而且算法简单,
用传统的PCA就可完成。
用PCA对观测信号进行白化的预处理使得原来所求的解混合矩阵
退化成一个正交阵,减少了
ICA的工作量。
此外,
PCA本身具有降维功能,当观测信号的
个数大于源信号个数时,经过白化可以自动将观测信号数目降到与源信号维数相同。
2.FastICA算法
FastICA算法,又称固定点(Fixed-Point)算法,是由芬兰赫尔辛基大学Hyv?
rinen等人
提出来的。
是一种快速寻优迭代算法,与普通的神经网络算法不同的是这种算法采用了批处
理的方式,即在每一步迭代中有大量的样本数据参与运算。
但是从分布式并行处理的观点看
该算法仍可称之为是一种神经网络算法。
FastICA算法有基于峭度、基于似然最大、基于负
熵最大等形式,这里,我们介绍基于负熵最大的
FastICA
算法。
它以负熵最大作为一个搜寻
方向,可以实现顺序地提取独立源,充分体现了投影追踪(
ProjectionPursuit)这种传统线
性变换的思想。
此外,该算法采用了定点迭代的优化算法,使得收敛更加快速、稳健。
因为FastICA算法以负熵最大作为一个搜寻方向,因此先讨论一下负熵判决准则。
由
信息论理论可知:
在所有等方差的随机变量中,高斯变量的熵最大,因而我们可以利用熵
来度量非高斯性,常用熵的修正形式,即负熵。
根据中心极限定理,若一随机变量
X由许
多相互独立的随机变量
Si
i
1,2,3,...N
之和组成,只要
Si具有有限的均值和方差,
则不论
其为何种分布,随机变量
X较Si更接近高斯分布。
换言之,
Si较
X
的非高斯性更强。
因
此,在分离过程中,可通过对分离结果的非高斯性度量来表示分离结果间的相互独立性,当非高斯性度量达到最大时,则表明已完成对各独立分量的分离。
负熵的定义:
NgY
HYGaussHY
(2.5)
式中,YGauss是一与Y具有相同方差的高斯随机变量,
H为随机变量的微分熵
HY
pYlgpYd
(2.6)
根据信息理论,在具有相同方差的随机变量中,高斯分布的随机变量具有最大的微分
熵。
当Y具有高斯分布时,
Ng
Y
0;Y的非高斯性越强,其微分熵越小,
NgY值越
大,所以NgY可以作为随机变量
Y非高斯性的测度。
由于根据式(
3.6)计算微分熵需要
知道Y的概率密度分布函数,这显然不切实际,于是采用如下近似公式:
NgY
2
(2.7)
EgYEgYGauss
其中,E
为均值运算;g
为非线性函数,可取
g1ytanh(a1y)
,或
g2y
yexpy2
/2或g3y
y3
等非线性函数,这里,1a1
2,通常我们取a1
1。
快速ICA学习规则是找一个方向以便
WTXYWTX具有最大的非高斯性。
这里,
非高斯性用式(
3.7)给出的负熵
Ng(WTX)的近似值来度量,WTX的方差约束为1,对于
白化数据而言,这等于约束
W的范数为
1。
FastICA算法的推导如下。
首先,
WTX的负熵
的最大近似值能通过对EGWTX
进行优化来获得。
根据
Kuhn-Tucker条件,在
EWT
2
2
1的约束下,
EGWTX
X
W
的最优值能在满足下式的点上获得。
EXgWTX
W
0
(2.8)
这里,
是一个恒定值,
EW0
TXgW0
TX,W0是优化后的W值。
下面我们利用牛
顿迭代法解方程(3.8)。
用F表示式(3.8)左边的函数,可得
F的雅可比矩阵JFW如
下:
JFWEXXTg'WTX
I
(2.9)
为了简化矩阵的求逆,可以近似为(
3.9)式的第一项。
由于数据被球化,EXXT
I,所
以,EXXTg'WTX
EXXT
Eg'WTX
Eg'WTX
I。
因而雅可比矩阵变成了
对角阵,并且能比较容易地求逆。
因而可以得到下面的近似牛顿迭代公式:
WWEXgWTXW/Eg'WTX
(2.10)
WW
/W
这里,W是W的新值,
EWTXgWTX
,规格化能提高解的稳定性。
简化后就可
以得到FastICA算法的迭代公式:
WEXgWTXEg'WTXW
(2.11)
WW/W
实践中,FastICA算法中用的期望必须用它们的估计值代替。
当然最好的估计是相应的
样本平均。
理想情况下,所有的有效数据都应该参与计算,但这会降低计算速度。
所以通
常用一部分样本的平均来估计,样本数目的多少对最后估计的精确度有很大影响。
迭代中
的样本点应该分别选取,假如收敛不理想的话,可以增加样本的数量。
3.FastICA算法的基本步骤:
1.
对观测数据X进行中心化,使它的均值为
0;
2.
对数据进行白化,X
Z。
3.
选择需要估计的分量的个数
m,设迭代次数p1
4.
选择一个初始权矢量(随机的)Wp。
5.
令Wp
EZgWpTZ
Eg'WpTZW,非线性函数g的选取见前文。
p1
6.
Wp
Wp
WpTWjWj。
j1
7.
令Wp
Wp/Wp。
8.假如Wp
不收敛的话,返回第
5步。
9.令
p
p1,如果
p
m,返回第
4步。
二.MATLAB源程序及说明:
%下程序为ICA的调用函数,输入为观察的信号,输出为解混后的信号
functionZ=ICA(X)
%-----------去均值---------
[M,T]=size(X);%获取输入矩阵的行
/列数,行数为观测数据的数目,列数为采样点
数
average=mean(X')';%均值
fori=1:
M
X(i,:
)=X(i,:
)-average(i)*ones(1,T);
end
%---------白化/球化------
Cx=cov(X',1);%计算协方差矩阵
[eigvector,eigvalue]=eig(Cx);
W=eigvalue^(-1/2)*eigvector';
Z=W*X;%正交矩阵
Cx
%计算Cx的特征值和特征向量
%白化矩阵
%----------迭代-------
Maxcount=10000;%最大迭代次数
Critical=0.00001;%判断是否收敛
m=M;%需要估计的分量的个数
W=rand(m);
forn=1:
m
WP=W(:
n);%初始权矢量(任意)
%Y=WP'*Z;
%G=Y.^3;%G为非线性函数,可取y^3等
%GG=3*Y.^2;%G的导数
count=0;
LastWP=zeros(m,1);
W(:
n)=W(:
n)/norm(W(:
n));
whileabs(WP-LastWP)&abs(WP+LastWP)>Critical
count=count+1;%迭代次数
LastWP=WP;%上次迭代的值
%WP=1/T*Z*((LastWP'*Z).^3)'-3*LastWP;fori=1:
m
WP(i)=mean(Z(i,:
).*(tanh((LastWP)'*Z)))-(mean(1-(tanh((LastWP))'*Z).^2)).*LastWP(i);
end
WPP=zeros(m,1);
forj=1:
n-1
WPP=WPP+(WP'*W(:
j))*W(:
j);
end
WP=WP-WPP;
WP=WP/(norm(WP));
ifcount==Maxcount
fprintf('未找到相应的信号);
return;
end
end
W(:
n)=WP;
end
Z=W'*Z;
%以下为主程序,主要为原始信号的产生,观察信号和解混信号的作图clearall;clc;
N=200;n=1:
N;%N为采样点数
s1=2*sin(0.02*pi*n);%正弦信号
t=1:
N;s2=2*square(100*t,50);%方波信号
a=linspace(1,-1,25);s3=2*[a,a,a,a,a,a,a,a];
%锯齿信号
s4=rand(1,N);
%随机噪声
S=[s1;s2;s3;s4];
%信号组成4*N
A=rand(4,4);
X=A*S;%观察信号
%源信号波形图
figure
(1);subplot(4,1,1);plot(s1);axis([0N-5,5]);title(
'源信号');
subplot(4,1,2);plot(s2);axis([0N-5,5]);
subplot(4,1,3);plot(s3);axis([0N-5,5]);
subplot(4,1,4);plot(s4);xlabel(
'Time/ms');
%观察信号(混合信号)波形图
figure
(2);subplot(4,1,1);plot(X(1,:
));title(
'观察信号(混合信号)');
subplot(4,1,2);plot(X(2,:
));
subplot(4,1,3);plot(X(3,:
));subplot(4,1,4);plot(X(4,:
));
Z=ICA(X);
figure(3);subplot(4,1,1);plot(Z(1,:
));title(
'解混后的信号');
subplot(4,1,2);plot(Z(2,:
));
subplot(4,1,3);plot(Z(3,:
));
subplot(4,1,4);plot(Z(4,:
));xlabel(
'Time/ms'
);
三.实验结果:
实验结果如下所示:
其中图2为源信号的波形图,图3为观察信号(混合信号)波形图,图4为解混后的信号波形图。
从图4可以看出,执行ICA后,可以将图2中的4种信号分离出来,且误差较小(个别信号发生反相)。
与实验一相比,分离效果要提高很多。
图2-源信号
图3-观察信号(混合信号)
图4-解混后的信号
四.源信号的分布特性对分离效果的影响:
下列3个图为源信号中含有不同个数的高斯白噪声分解后得到的相应解混信号:
其中图
5源信号只含一个随机噪声,图6源信号含两个随机噪声,图7源信号含三个随机噪声。
从图5,6,7可以看出,源信号所含的高斯白噪声越多,分离后得到的信号与源信号相比
误差越大,效果越差;所含高斯白噪声越少,分离效果越好。
图5-源信号只含一个随机噪声分离后得到的波形图
图6-源信号含两个随机噪声分离后得到的波形图
图7-
源信号含三个随机噪声分离后得到的波形图
下图8,9,10分别为方波信号,正弦信号和锯齿波3种信号与同一个噪声混合后,经ICA
解混后得到的结果。
为便于比较,源信号中3种信号所含的能量相等。
信号的非高斯性可用
四阶累积量(峰度)
进行描述,
>0称为超高斯型,
<0称
为亚高斯型,可用
的大小作为信号距离高斯型程度的度量。
越大,表明信号距
高斯型越远,即信号的非高斯性越强。
下图中
3种信号在源信号中的四阶累积量
分别为:
方波为-8.0,正弦波为-6.0,锯齿波为-4.8154,表明方波的非高斯性最强,锯齿波德非高斯性最弱。
经ICA分离后得到的方波、正弦波和锯齿波与源信号中对应的三种信号的相关系数依次为:
-0.9994,-0.9987,-0.9925。
可以看出,分解后得到的三种信号中方波与源信号最为接近,锯齿波与源信号差距最大。
结合四阶累积量,可以得出:
在同一个ICA系统中,信号的非高斯性越强,分离出来的
信号越接近源信号,分离效果越好;反之,分离效果越差。
图8-方波信号分离后得到的波形图
图9-正弦信号分离后得到的波形图
图10-锯齿波信号分离后得到的波形图
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 最大化 FastICA 算法