張杰,劉輝,歐倫偉
湖南師范大學物理與信息科學學院,長沙 410081
改進的FastICA算法研究
張杰,劉輝,歐倫偉
湖南師范大學物理與信息科學學院,長沙 410081
獨立分量分析是目前盲源分離算法中最常用的一種方法,其中快速獨立分量分析(FastICA)以其收斂速度快而被廣泛應用,但FastICA對初始值的選擇比較敏感,而且在使用牛頓迭代法時,每迭代一步都需要計算一次函數值和一次導數值,當函數比較復雜時,計算它的導數值往往不方便,用單點弦截法進行迭代,將最速下降法與單點弦截法結合,在保證分離效果的同時使FastICA的迭代次數減少,同時使計算式更加簡潔,而且減小了對初始值的敏感性,仿真實驗驗證了其有效性。
Fast獨立分量分析(ICA);牛頓法;弦截法;最速下降法;負熵
獨立分量分析(Independent Component Analysis,ICA)[1]是為解決盲信號分離而逐漸發展起來的,近些年成為信號處理和數據分析的有力工具。ICA的數學表述為:在不考慮噪聲影響的情況下,假設觀測信號(混合信號)為x(t),源信號為s(t),觀測信號是由源信號線性瞬時混合得到,即

式中x(t)=[x1(t),x2(t),…,xm(t)]是m維的觀測信號,s(t)= [s1(t),s2(t),…,sm(t)]是m維源信號,A是混合矩陣,ICA是由在源信號和混合系統均未知的情況下,僅根據得到的觀測信號和對源信號的一些約束,通過源信號的統計特性[2-3]來估計出源信號。所得的估計信號包含了源信號最主要的信息。ICA的求解可以表述為:

式中G為全局傳輸矩陣,若通過學習使得G為單位矩陣,就可以得到y(t)=s(t),從而得到源信號的估計信號。這里的y(t)就稱為源信號的估計信號。
FastICA也稱為盲信號抽取固定點算法[2],一般FastICA算法有基于四階累積量、基于似然最大、基于負熵最大等形式,本文采用負熵[3]作為目標函數,負熵是一種可以度量隨機變量非高斯性的函數,任一隨機變量y的負熵定義為:

式中J表示負熵,H(y)表示隨機變量y的熵,H(ygauss)為與y具有相同方差的高斯隨機變量ygauss的熵,式(3)一般采用其近似方式,一種有用的近似是將高階矩加以廣義化[4],同時通過化簡可以得到:

上式為只使用一個非二次函數G的情況,v是零均值單位方差的高斯變量,所以EG(v)可以忽略不計,式(4)的最大化問題轉化為求EG(y)的最優化問題,在約束條件E{(WTx)2}=||W||2=1下[5],EG(y)的最優值可以通過下式得到:

用牛頓法[5]求解式(5),可以得到近似解:

通過化簡可以得到:

上式即為基于牛頓法的迭代式。
由式(6)可以知道牛頓法每迭代一次都要計算一次雅可比矩陣E{xg′(x)-β},而計算雅克比矩陣需要求矩陣的導數,求導是計算式中最為復雜的部分,本文采用差商代替求導,即用弦截法迭代,弦截法迭代式為:

上式為雙點弦截法迭代式,弦截法需要兩個初始迭代點,雙點弦截法兩個初始迭代點在迭代中都變化,當有一個初始迭代點在迭代過程中固定不變時稱為單點弦截法,單點弦截法迭代式為:

式中Wv為固定不變的起始迭代點,將式(5)代入上式并化簡得:

上式即為基于單點弦截法的迭代式,由于弦截法要求有兩個起始迭代點,根據文獻[6]的結論,最速下降法可以減小對初始值選擇的敏感性,本文引入最速下降法[6-7],用最速下降法求出一個起始迭代點,另外一個固定不變的起始迭代點Wv隨機產生。
最速下降法計算步驟為:
(1)選一初始化隨機正交陣W=[W1,W2,…,Wn],同時令k=0,選取收斂判定值為critical=0.000 001。
(2)計算E{xg(WTx)}在W處的梯度值:

由于負梯度方向就是函數值下降最快方向,所以可將梯度值作為松弛因子代入下式:

(3)當abs(wk+1-wk)&abs(wk+1+wk)≤critical時,收斂則W0=Wk+1,不收斂則k+1且Wk=Wk+1后返回式(11)繼續迭代。
改進算法的實現步驟:
(1)對混合信號x進行去均值和白化預處理。
(2)初始化權矢量W,通過最速下降法求出W0,起始迭代次數k=0,選取收斂判定值為critical=0.000 001。
(3)任意選取另外一個迭代點Wv,而Wv選取后不再改變,將Wv和W0代入式(10)求得Wk+1,用Wk+1= Wk+1/||Wk+1||去相關和歸一化[7]。
(4)判斷abs(wk+1-wk)&abs(wk+1+wk)≤critical是否成立,不成立則k+1后返回式(10)繼續迭代,成立則估計出一個分離矩陣分量。
(5)當得到整個分離矩陣后,由分離矩陣與觀測信號相乘得到源信號的估計信號,然后輸出源信號的估計信號。
實驗采用Matlab進行仿真,對4個源信號的混合信號進行分離,源信號中的4個信號均為錄制的語音信號,采樣頻率均為8 kHz?;旌暇仃嘇為由Matlab隨機產生的4階矩陣,本文為了方便對分離效果進行分析,對每次實驗的混合矩陣采用同一個隨機混合矩陣,由Matlab隨機產生的混合矩陣A的值為:

源信號(圖1)經過混合矩陣混合后得到的混合信號如圖2,對混合信號采用牛頓迭代法及改進算法進行分離得到的信號如圖3和圖4。由Matlab仿真得到的信號圖形如圖1~圖4所示。從分離后的圖像可以看出,牛頓法和改進算法均能分離4個混合信號,下面將定量分析兩種算法的性能。

圖1 源信號

圖2 混合信號

圖3 牛頓法分離得到的信號

圖4 改進算法分離得到的信號
獨立分量分析的評價指標有多種,本文將用信噪比[8-9]和迭代次數來說明牛頓法和改進算法對混合信號分離效果的比較。
5.1 信噪比
信噪比,即SNR,是指一個電子設備或者電子系統中信號與噪聲的比例。信噪比越大,說明混在信號里的噪聲越小,語音信號的音質量越高。
信噪比判定式為:


表1 不同算法信噪比的比較
表1為兩種算法分離所得信號的信噪比值以及它們的平均值,從表中可以看出,改進算法分離所得信號的信噪比值比牛頓法分離所得信號的信噪比值稍大,改進算法能夠保證牛頓法的分離效果。
5.2 迭代次數
通過對牛頓法和改進算法取相同的初始值,然后看各需要進行多少步迭代才能收斂,由于每次得到的數值有偏差,可以取10次數值然后取平均值,由實驗得到的數據如表2所示。

表2 不同算法迭代次數比較
表2中10組數據取平均值得23.6和15.3,所以改進的迭代算法對比原牛頓法在迭代次數上有所改進,使其只進行更少的迭代即可收斂。
牛頓迭代法對初始值要求比較高,且每步迭代都要計算雅可比矩陣,本文通過采用改進牛頓法即弦截法進行迭代,同時結合最速下降法求迭代初始值,在保證牛頓法分離效果的同時,在計算復雜度和迭代次數上都有所改進。
[1]Comon P.Indepent Component Analysis,a new concept?[J]. Signal Processing,1994,36:287-314.
[2]Hyvarinen A.A family of fixed-point algorithms for Independent Component Analysis[C]//IEEE Conf on Acoustics,Speech and Signal Processing,1997:3917-3920.
[3]馬建倉,牛奕龍,陳海洋.盲信號處理[M].北京:國防工業出版社,2006.
[4]楊福生,洪波.獨立分量分析的原理與應用[M].北京:清華大學出版社,2006.
[5]畢楊.基于快速獨立分量分析的盲源分離算法研究及應用[D].西安:西安理工大學,2007.
[6]季策,胡祥楠,朱麗春,等.改進的高階收斂FastICA算法[J].東北大學學報,2011(10):10-13.
[7]Hyvarinen A,Karhunen J,Oja E.Independent component analysis[M].New York:John Wiley Press,2001:79-86.
[8]徐明彪,朱維彰.關于信號盲分離效果評判指標的分析[J].杭州電子工業學院學報,2002,22(3):63-66.
[9]Ye J M,Zhu X L,Zhang X D.Adaptive blind separation with an unknown number of sources[J].Neural Computation,2004,16(8):1641-1660.
ZHANG Jie,LIU Hui,OU Lunwei
Institute of Physics and Information Science,Hunan Normal University,Changsha 410081,China
Independent Component Analysis(ICA)is the blind source separation algorithm which is one of the most commonly used methods.And the Fast Independent Component Analysis(FastICA)with its convergence speed is widely used. But FastICA is sensitive to the choice of initial value,and in the use of Newton iterative method,each iteration step is needed to calculate a function value and a derivative value.When the function is more complex,computing its derivatives is often not convenient.This paper uses the single point string section method to iterate.Combining the steepest descent method with the single point string section method,while ensuring the separation effect,it makes FastICA iterative times reduce.At the same time it makes the calculation type more concise,and reduces the sensitivity to the initial value.
Fast Independent Component Analysis(ICA);Newton method;string section method;the steepest descent method;negative entropy
A
TN911.7
10.3778/j.issn.1002-8331.1205-0037
ZHANG Jie,LIU Hui,OU Lunwei.Research on improved FastICA algorithms.Computer Engineering and Applications,2014,50(6):210-212.
湖南省科技廳項目(No.2012GK3121)。
張杰(1986—),男,碩士研究生,研究方向:信號處理;劉輝(1964—),女,副教授,碩士生導師;歐倫偉(1985—),男,碩士研究生,研究方向:數字信號處理。E-mail:liuhui1366@126.com
2012-05-14
2012-09-24
1002-8331(2014)06-0210-03
CNKI網絡優先出版:2012-09-28,http://www.cnki.net/kcms/detail/11.2127.TP.20120928.1345.012.html