《盲源分离之CICA算法.docx》由会员分享,可在线阅读,更多相关《盲源分离之CICA算法.docx(3页珍藏版)》请在优知文库上搜索。
1、约束独立成分分析算法一、约束ICA算法根本知识1、约束ICA算法由来现有的IC算法大多以估计全部的源信号为目的,但在许多实际应用中,所需成分的数目往往少于源信号的个数。实际上,我们往往拥有一些关于源信号的先验信息,而对于先验信息的充分利用能使算法的处理能力得到有效提高。约束ICA算法(ConStrainedIndependentComponentAnalysis,ClCA)正是如此,它将先验信息与传统ICA算法相结合,降低输出信号的维数,得到感兴趣的信号。CICA算法可以减少一般ICA算法的不确定性,如别离信号顺序、符号、幅度等。2、ClCA算法的限制条件CICA算法的一些限制如下:(1)为了
2、防止输出成分次序的任意性,可用统计量来规定次序,常用的统计量有方差、标准化峰度等。(2)使得别离矩阵标准化,这样可减轻输出成分的幅度影响,获得数值稳定的学习算法。CICA的出发点是:给出一个系统而灵活的方法,将先验信息或某些假设嵌入目标函数中,使得病态的ICA问题变成良态的,从而有利于实际应用。二、基于负燃的CICA算法1、算法原理ClCA算法的根本原理与FaStICA算法是相同的,使用负焙作为判据,每次提取一个独立成分。与FaStlCA不同的是:ClCA算法通过引入一维约束参考向量丁=&,公“J,(其中为采样长度)来解决FastICA的别离结果不确定性问题,向量中包含待提取目标信号的特征阶跃
3、信息,此信息按实际应用不同而有所改变,但并非与源信号完全相等。在运算时,约束向量可使所对应的目标信源具有非高斯性极大的效用,因此在负熠判据中可使源信号到达最大负焙,从而使ClCA算法首先将目标信源提取出来,并按统计度量的大小来进行独立分量的排序,解决了FaStlCA算法别离信号无序性的问题。算法原理如图1所示。图1CICA算法原理框图2、算法推导实现过程(1)目标函数选取ClCA算法的目标是经过一系列的迭代训练得到一维权向量卬;卬是解混矩阵W的一行,因此所得的一维输出分量y=X逼近于si/为利用参考向量,所求的一维目标源信号。先导入负烯的近似值比照函数J(y)J(y)PfE(G(v)-EG(v
4、)2(1)式中,P为正常数;y是均值为0、方差为1的高斯变量;G()为非二次函数。以上原则与FaStlCA根本相同。一般的文献中使用的均方误差范数为(y,r)=E(y-r)2(2)在误差范数的运算中,当y完全逼近于目标源信号/时.,(),/)具有最小值。当(y/)满足式(2)时,所得输出为所求的源信号,即g(卬)=(,r)g0式中,J为阈值。将g(w)作为式(1)的可行性约束,可使算法的解投影到可行性约束函数上,进一步限制了被提取的分量。因此,ClCA算法的问题可以描述为以下目标函数maxJ(y)pEGv)-EG(v)2(4)s.t,h(w)-Ey2-1=O(5)式中,W)为比照函数J(y)与
5、权向量卬的限制函数,y为所求的解向量。当式(4)与式(5)成立时,ClCA算法结束。(2)优化算法由以上可知,式(4)与式(5)给出了CICA算法的目标函数,其中求解/(y)的最大值可以转化为求解拉格朗日函数式Lw的极值问题,拉格朗日函数定义为使用牛顿迭代算法得到W的迭代公式为式中,改为迭代次数;为学习率;为观测矩阵X的协方差矩阵;v为拉格朗日函数式L对卬的一阶导数式中,G;(y)与G;,.(y)是非二次函数G(y)对y取一阶与二阶导数;g;(W)与g(vV)是函数g(w)对),取一阶与二阶导数;和;I是拉格朗日乘法因子,它们的负燧学习公式为其中,7为标量处理函数。(3)基于负燃的CICA算法过程总结输入:白化矩阵X=(x1,2,xn)r;输出:独立成分y=(凹,必,y),;提取具有源信号特征的约束参考向量不初始化权向量W(使用单位随机矩阵);计算工.与6(卬)调整卬,重复,直到卬收敛得到独立成分M=wX