第25卷第4期 2008年12月 广东工业大学学报 Journal of Guangdong University of Technology Vo1.25 N0.4 December 2OHD8 一种基于四阶累积量的改进快速ICA算法 蹇柯,崔志涛 (东莞理工学院城市学院计算机与信息科学系,广东东莞523106) 摘要:快速ICA(分量分析:Independent Component Analysis)算法是目前非常流行的一种好算法.以四阶累积量 作为优化判据,在分析批处理的固定点快速分离算法基础上,对牛顿迭代法进行了一系列改进,提出了一种新的独 立分量分析算法,计算机的仿真结果验证了该改进算法的有效性. 关键词:盲信号分离;四阶累积量;快速分量分析 中图分类号:TN911.72 文献标识码:A 文章编号:1007—7162(2008)04-0056-05 分量分析(Independent Component Analy— 是一个随机信号,其每个观测值 (t)是在t时刻对 随机信号 的一次抽样.由式(2)可以看出,t时刻 各观测数据 (t)是由各源信号s,(t)的值经过 不同n 线性加权得到的. ICA的任务是寻找一个解t昆矩阵曰,使得 Y(t)=Bx(t). (3) sis,ICA)是信号处理领域的一种新处理方法,它与 盲信源分离(Blind Signal Separation,BSS)技术是紧 密联系的.在统计性的假设下,分量分析是 对由信源产生且经过未知线性混合的观测信号 进行盲信源分离,从而重现原信源.它是根据 盲分离技术能提取成分的特点而发展起来的, 其应用主要集中在盲信源分离和特征提取.目前,一 要求输出信号.), 相互,则Y=[Y ,Y ,…,Y ]T 就是 的估计值. 在信源S(t)中各分量互相的假设下,由观 测X(t)通过解混系统曰将源信号分离开来,使输出 (t)逼近 (t).一般解混系统曰分两步进行处理: 1,而且互不相关(但未必);第2步“正交变 换”,一方面使输出Y 的方差保持为I,同时使各Y 些学者用ICA在人脸识别、遥感图处理、心电信号去 噪、目标增强等方面取得的应用成果也充分展示了 ICA广泛的应用前景. 图1为ICA的简单线性模型,没有考虑含噪声 第1步“球化”,使输出Z(t)的各分量。 (t)的方差为 尽可能相互.此时不但P(Y)=Up(Y ),而且协 方差阵C =E[ ]=I . ICA是在某一判据意义下进行的寻优计算,它 实际上包含两部分的内容:采用什么判据作为一组 信号是否接近相互的准则;其次是用怎样的算 法来达到这个目标. 虽然基本的快速ICA算法能较好地分离出源信 号,但它的收敛速度还不够快.本文以四阶累积量作 为优化判据,在分析采用批处理的固定点快速分离 算法的基础上,利用修正牛顿迭代法的三阶收敛性, 减少求雅可比矩阵的次数,提出了一种新的分 2, 量分析算法,不仅也能较好地分离出源信号,而且提 高了收敛速度,并通过计算机的仿真验证了算法的 有效性. 收稿日期:2008.07—10 作者简介:蹇柯(1983.),男,助教,主要研究方向为信号与图像处理 第4期 蹇柯,等:一种基于四阶累积量的改进快速ICA算法 57 1 四阶累积量判据 由中心极限定理知非高斯程度可以作为逐次提 取分量(Independent Component,IC)时程 程为 ,: :cA :A 3)用FastICA算法分离出s的各个分量. (1)初始化U(0),令其模等于1,置k=1; (2)U(k)=E{X[U( 一1) X] }一3u(k一1), 期望值可由大量X向量的采样点的平均值计算出 来; 度的判据,而负熵应是最适当的衡量信号非高斯程 度的度量. 本文中采用四阶累积量作为负熵的判据心。 为 J(Y )=} (Y )1. 因为 k (Y )=E(y )一3E (Y ), 且 T z, 所以E(y‘)=uTE(ZZ )U = TH =IIn (由于Z是 球化数据,所以U 。Z=I). 这样,k (Y )可以改记为 k ( Tz)=E(Y )一3 而 J(y )=l k4( z)l=l ( z) ]一3 lIn . 应用梯度法时, 。c = [(Ⅳ _3l : 4sgn[ (uTz)]{f E[z( z) ]一3u i ru ). 稳态时Au =0,因而有 E[z( Tz) ]一3u=0[ =1], 由此得固定点的两步迭代算式 rH ( +1)=E{z[z llT (k)z) ]} 川一 ‘ 由中心极限定理可知,非高斯性可以作为随机 信号相互依赖的度量,所以当非高斯性达到最大时, 表明已完成对各分量的分离.Y的非高斯性越 强,J(y)的值越大,即最大化非高斯性就是最大化 的四阶累积量. 2快速ICA算法 目前,流行的ICA算法大致可以分为两大类:一 类是基于批运算某种相关的判据函数,这些算法一 般需要进行复杂的矩阵和向量运算,如文献[4-7]; 另一类是基于随机梯度方法的自适应算法,主要问 题是运算的收敛速度慢.FastICA算法的一般步骤如 下: 1)对观测信号X进行去均值预处理. 2)通过线性变化改变观测信号X,得到一个新 的白噪声化变量X ,使得X 的各个分量不相关.白 噪声化使 新的混合矩阵A 正交化.白噪声化的过 (3)用llU(k)_】去除U( ); (4)如果l U( ) U(k一1)J不是足够接近1,那 么令k= +1,返回第(2)步,否则输出U(k). 算法最后给出的向量U(k)等于正交混合矩阵 A中的一列,在信号分离中意味着U(k)分离了其中 的一个非高斯信号U(k) X(t),t=1,2,…等于其中 一个源信号. 3改进的FastlCA算法 第2章中的第(2)步即是FastICA的迭代过程, 针对第(2)步,本文提取的改进算法在不增加求雅 可比矩阵次数的情况下,减少收敛时的迭代次数,从 而也获得减少计算量、提高算法速度的效果. 基本的牛顿迭代法: = 一+ [ X )/f( )],n=0,1,2,… (5) 是求解非线性方程-厂( )=0的重要方法.FastlCA算 法就是根据式(5)得出的,进而估算出 .可以证明 当_厂(a)=0,但厂(a)≠0时,式(5)是二阶收敛.对 牛顿迭代法进行修改【8 J: 25n +,= 一[ )/f( )], = 一+ [2f(x )/(厂( )+厂(Xn +。))], n=0.1,2,… (6) 修正后的牛顿迭代法具有三阶收敛,这无疑加快了 收敛速度.下面给出修正牛顿迭代法三阶收敛性的 证明: 定义令 。, , ,…是收敛于Ⅱ的序列,并令 e = 一a.如果存在着数P及常数C≠0,使得 lim l e l/l e l =C,则称P为序列的收敛阶,称 C为渐进误差常数.对于P=1、2、3分别称为线性、 二阶、或者三阶收敛,也称e = +O( “)为误 差方程 . 设 ):,一R在开区问,内具有直到四阶的导 数,如果a∈,是 )=0的单根,且‰充分靠近a, 则由式(6)定义的修正牛顿迭代法具有三阶收敛, 且误差方程为 =(c;+÷c 3+o(、 二 , e ), (7) 其中e = 一0,C =(1/k!)L (0) ,’(n),k=2,3. 58 广东工业大学学报 第25卷 证明将-厂( )在。处作Taylor展开,则 A= 0.486 4 0.018 5 0.791 9 0.405 7 0.9501 0.891 3 O.821 4 0.921 8 0.23l 1 0.762 1 0.447 2 0.738 2 0.606 8 0.456 5 0.615 4 0.176 3 源信号 l厂( )= 0+e )= n)+ (0)e + 六尸(n)e2 十 -尸 (n)e3 +。(e:)= 厂(Ct)[e +C e:+c,e:+o(e:)], I厂( )=厂(0)[1+2c e +3c:e +0(e2 )]. 对于式(6),则可得 = 一 . 羹一 圆 一0 50 100 150 200 250 300 350 400 450 500 巫 嘲—— 告=。+C2 一2( 一G)e3 +。(e:), 罂5 r———— 鉴. 丛 型 f 二 )=/r(n)[1+2qe:一4(q—GG)8.]+o(e:), Xn+1=Xn— 一一+【=。+( + + 、i-c ̄) +。e3(e:), . ,=(C;+÷C3 3+o(e ). 即证明了由式(6)定义的修正牛顿迭代法具有 三阶收敛,且误差方程为 =(C;+÷c, 3+o(e:). 根据修正的牛顿迭代法,本文提出了基于四阶 累积量的改进FastlCA算法.其具体表达形式为 U (k)=U (k一1)E{z[HT (k一1)z] }一 3{E{[U ( 一1)z ]}U (k一1), U (k)=U (k)/IlU (k)Il, U (k)=2u (k一1)E{z[HT (k一1)z] }一 3{E{[U (k一1)z ]}+E{l U (k一 1)z] }}U (k一1). (8) 本文提出的改进算法的具体步骤为 1)对观测信号 进行中心化处理; 2)对中心化后的 进行白化处理; 3)初始化随机权矢量U。,设置收敛误差 0< 《1: 4)按照式(8)调整U,计算出U 后,进行去相关 和归一化; 5)如果【U 一U I< ,则算法收敛,估算出一 个分量,否则重复步骤4)和5); 6)由分离矩阵U得到源信号的所有估计Y ,输 出估计信号Y. 4仿真实验和算法分析 分别用FastICA算法和本文中的改进算法对波 形信号和语音信号进行实验. 实验一波形信号的盲分离:选择正弦波、锯齿 波、奇异曲线波和脉冲噪声波为4个波形源信号(由 Matlab提供,见图2),随机产生一个4×4混合矩阵 A对波形信号进行混合.混合信号的波形如图3. 1塑 , 采样点数 .i 0 50 1O0 150 200 250 300 350 400 450 500 采样点数 罂10厂—T_—_r—_-1——r 1——r—.r— 。 " .10 茹 蠢 0 采样点数 图2 4个波形源信号 混合信号 匝巫巫巫巫 豳 0 50 1O0 1 50 200 250 300 350 400 450 500 采样点数 != f【........L........L........L........L........L........L........L........L........L......—J ‘J0 50 100 150 200 250 300 350 400 450 500 采样点数 釜 / 1/ 1厂1/1/ ‘= c L—--—-—-L---.- - ——-----J-------J-------J---—---J-—--—..J--—----J—---—.-J -———_J 0 50 100 150 200 250 300 350 400 450 500 采样点数 5 0 i.5 0 5O lOO l 5O 200 250 300 350 400 450 500 采样点数 图3 4个波形混合信号 图4为基本FastICA算法分离的信号图,图5为 本文改进算法分离的信号图.由分离的结果可见,两 种算法均能较好分离出源信号,并未造成信号丢失. 分量 ~ .‘、I.............I.............J..............【.............1.............J1.............I.............J.............J【.............I........._J 0 50 lOO l50 200 250 300 350 400 450 500 … 采样点数 0 50 100 150 200 250 300 350 400 450 500 . 采样点数 磐10广——r——T——]———r——T——_T———广_——T——_r——] 0 — h m 誓一‘ 0 50 100 150 200 250 300 350 400 450 500 采样点数 之占- 茹 o 采样点数 图4 FastICA算法分离的波形信号 第4期 蹇柯,等:一种基于四阶累积量的改进快速ICA算法 59 分量 5 馨0 S。5 0 50 l00 l50 200 250 300 350 400 450 500 2 采样点数 馨0 采样点数 辇 一2 L・----—JL-—---- L-----——L——-----I-------J----・——J------- L-----—・L-・—----L-----_J 0 50 lO0 150 2oo 250 300 350 400 450 500 采样点数 图5本文算法分离的波形信号 下面对FastlCA算法和本文的改进算法的收敛 速度进行比较,分别列出分离每个分量(Independent Component,IC)的迭代次数、每次的总迭代次数和平 均迭代次数,结果见表1(为了更客观地比较两种算 法,每种算法均随机进行10次盲分离). 表1波形信号收敛速度比较 从表1中可见,本文改进算法10次盲分离的总 迭代次数少于基本的FastlCA算法,经计算迭代速 度提高了8.51%,从而说明了本文改进算法的有 效性. 实验二语音信号的盲分离:两个语音信号来 自WWMr.cis.hut.fr'/projects/ica/,语音源信号的波形 图如图6所示. 图7为两个语音信号的混合图,图8为FastlCA 算法分离的语音信号图,图9则是本文算法分离的 语音信号图.由分离结果可知,两种算法均能较好地 分离出源信号.下面对FastlCA算法和本文的改进算 法的收敛速度进行比较,分别列出分离每个分量(In. dependent Component,IC)的迭代次数、每次的总迭代 次数和平均迭代次数,结果见表2(为了更客观地比 较两种算法,每种算法均随机进行10次盲分离). 语音源信号 I ● l _坚 J l l I▲儿 U JIIII-“.-I 0 、_ l I fI『 r n 可叮 I Il l 0 - 0.8 。一6 :J . 1 L-L k^ I k U 【 J I I . S 0.4 0.2 :1 耵 I r f 『 『1 y : 0 图6两个语音源信号 语音混合信号 O ’罂 山I. ‘_llIll【.』.^ -“上 Jl ‘ S 2 . I『1r『 r _I盯 图 . 4 7 6 4 -0 ▲▲l I 【.1 。LL j ▲。 . 一2 。 .4 : r’ . 6 8 l0 l2 14 16 采样点数 ×10 两个语音混合信号 分量 越 孽 .▲▲ 1 lI-l▲...1l J ..▲ 口 - 一- ’1 『1f『_ 711『 ~ 图8 FastlCA算法分离的语音信号 从表2中可见,本文的改进算法lO次盲分离的 总迭代次数少于基本的FastICA算法,经计算迭代速 度提高了5.56%. 60 广东工业大学学报 第25卷 分量 一10 种改进FastICA算法,在与基本FastlCA算法分离 _ ) 粤0 。J -- ‘I J II【▲- IL II.J ▲上-I 效果相当的情况下,在一定程度上减少了迭代次数, S -5 . 7 耵 ’I 甲’ ’ r『I . 加快了收敛速度,结论的有效性得到了验证.但是针 对图片信号或其他高维信号的混合盲分离,该改进算 .1O 6 8 10 l2 l4 I6 法的有效性还需要进一步验证,还需要具体作形式上 采样点数 ×10 的修改,这也是下一步讨论的问题. 10 ^ ) 。粤0 IL l“IIlLI I▲i_ - .I 。 参考文献: S [1]Comon P.Independent component analysis,A new concept? 一5 .1『Iy『 丫”y7f。I—I11『f r .『 . [J .Signal Processing,1994,36(3):287—314. —10 0 2 4 6 8 10 l2 14 16 12]Amairi S,Cichocki A,Yang H H.A new learning algoirthm 采样点数 ×10 ofr blind signal separation『J].Advances in Neural Informa— 图9本文算法分离的语音信号 tion Processing Systems,1996,8:757-763. 表2语音信号收敛速度比较 [3]Yang H H,Amari,Shun—ichi.Adaptive OD—line learning al— gorithm for blind separation:maximum entropy and minimum mutual information[J].Neural Computation,1997,9(7): 1457—1482. [4]Hyvarinen A,Erkki oja.Independent component analysis: algorithm and application[J .Neural Networks,2000,13 (4—5):411430. [5]H)warinen A,Erkki Oja.A fast fixed-point algorithm ofr in— dependent component analysis[J].Neural Computation, 1997.9(7):1483.1492. [6]刘海林.基于广义特征值的病态混叠盲源分离算法[J]. 电子学报,2006,34(11):2072—2075. [7]刘海林,谢胜利.非线性盲源分离的多目标进化算法 [J].系统工程与电子技术,2005,27(9):1576.157. [8]张荣,薛国民.修正的三次收敛的牛顿迭代法[J].大学 数学,2005,21(1):80—82. 5 结论 [9]Germund Dahlqist.数值方法[M].包雪松,译.北京:高 等教育出版社,1990. 本文在对牛顿迭代法进行修正的基础L,提出了 An Improved Fast-ICA Algorithm Based on Fourth-Order Cumulant Jian Ke,Cui Zhi—tao (Department of Computer and Information Science,City College of Dongguan University of Technology,Dongguan 523106,China) Abstract:Fast—ICA method is a popular good algorithm nowadays.Tt proposes a new independent component analysis algorithm which uses fourth・order cumulant as the optimized criterion,and improves Newton iteration method by ana lyzing batch processing fixed—point fast—ICA method.The validity and performance of the proposed algorithm are veil. lfed by extensive computer simulations. Key words:blind signal separation;fourth—order cumulant;fast—ICA