范文兵,邢軍陽,李海濤,代琳娜
(鄭州大學信息工程學院,河南鄭州450001)
盲源分離是指在源信號的系統(tǒng)和外部環(huán)境無法精確獲知的情況下,將各個源信號從混迭信號(觀測信號)中分離出的過程.獨立分量分析[1](Independent Component Analysis,ICA)作為盲源分離的一個重要研究方向,是信號處理技術(shù)領(lǐng)域近年來發(fā)展起來的一種新技術(shù).獨立分量分析的算法可以表示為:ICA算法=目標函數(shù)的選取+優(yōu)化算法.對于目標函數(shù)的選取,包括高階累積量、負熵、互信息及熵等;常用的優(yōu)化算法主要有:梯度下降法,固定點算法等,但是這些算法有一個很大的缺陷就是全局收斂性能不理想,易陷入局部最優(yōu).為了克服ICA中常用算法的不足,筆者選負熵做為ICA的目標函數(shù),并用量子行為粒子群算法[2](QPSO)對負熵進行優(yōu)化.該方法簡單高效,與傳統(tǒng)方法復雜、收斂速度慢的不足相比,有很大的優(yōu)勢.
ICA是盲源分離最常用的一種,其算法可以這樣描述[3?:
設有N個未知的源信號構(gòu)成了一個列向量S(t)=[S1(t),S2(t),…Sn(t)]T,其中 t=1,2,…,n;i=1,2,…n.經(jīng)過 m ×n維的混合矩陣 A后,產(chǎn)生了 m 個觀測信號 Xi(t),i=1,2,…m,構(gòu)成了列向量 X(t)=[X1(t),X2(t),…Xm(t)]T,信號傳輸過程中有M個白色、高斯、統(tǒng)計獨立的噪聲信號 Ni(t),i=1,2,…,M,構(gòu)成的列向量N(t)=[N1(t),N2(t),…,NM(t)]T,要求在已知觀測信號Xi(t)而未知A的情況下,設置一個N×N維的反混合陣W=(wij),求輸入信號S(t)的近似解.它的數(shù)學模型可以表示為
從上述描述我們可以看出,ICA具有兩個基本特征:
(1)源信號S(t)是未知的;
(2)在統(tǒng)計意義上講,這里進行的分離是相互獨立的.
ICA就是要找到一個解混矩陣W,使得觀測信號X(t)通過該系統(tǒng)后,能夠得到未知源信號S(t)的近似解Y(t),這個過程可以表示為
其中,Y(t)= [Y1(t),Y2(t),…,YN(t)].
而這些都是建立在以下假設的基礎上的:
(1)各信號Si(t)均為0均值、實隨機變量,各信號之間統(tǒng)計獨立;
(2)源信號數(shù)M與觀測信號數(shù)N相同;
(3)各個Si(t)的概率分布函數(shù)中最多允許有一個具有高斯分布;
(4)各觀察器引入的噪聲很小,忽略不計;
(5)關(guān)于各源信號的概率分布函數(shù)略有一些先驗知識.
根據(jù)信息論的知識,一組隨機變量y的微分熵為
其中,P(y)為隨機變量y的概率密度函數(shù).而其負熵[4]可以表示為
式中的yg與y具有相同的方差,且yg是服從高斯分布的隨機變量.對于兩個方差相同的信號,高斯分布的信息熵最大,信號的非高斯性越強,負熵也就越大.當負熵最大時,就可以認為已經(jīng)實現(xiàn)了盲源分離.這也就是基于負熵的獨立性判決準則的ICA算法.
但是式(3)中負熵的計算涉及到隨機變量概率密度的估計,它只是理論上的最優(yōu)目標函數(shù),在實際應用中受到制約.基于此,常使用高階累積量作為負熵的近似計算公式[5]:
式中:ki(y)表示隨即變量y的第i階累積量.而在實際運算中常使用的近似負熵[6]公式為:
式中:c是大于零的常數(shù),v是具有單位方差的零均值高斯變量,G(·)是一個非二次函數(shù),根據(jù)不同的高斯性,可以取不同的值[7].
式中:1≤a1≤2;a2≈1.
首先我們先簡單介紹一下PSO算法[8],該算法是近年來發(fā)展起來的一種新的群體智能優(yōu)化算法,它將群體中的每個個體看作問題搜索空間中的一個粒子,代表問題的一個解,每個粒子都有位置和速度兩個向量來描述,根據(jù)自身的以往經(jīng)驗和整個群體的經(jīng)驗不斷調(diào)整位置和速度,直至找到全局最優(yōu)解.在此過程中,隨著速度的不斷減小而逐漸收斂到全局最優(yōu)點(P點),從動力學角度看,在這一點實際上存在某種形式的吸引勢能場一直吸引著粒子,從而保證了粒子的聚集.但PSO的最大缺點是不能以概率1收斂到全局最優(yōu)解[9].2004 年,Sun等根據(jù)前人的研究成果,將量子力學與傳統(tǒng)的粒子群算法結(jié)合在一起,提出了一種基于δ勢阱的、具有量子行為的粒子群算法(QPSO),它認為粒子具有量子行為,因此可以在整個可行解空間中進行搜索.相對于標準PSO算法,它的收斂性能和全局搜索性更好,并且它只通過波函數(shù)ψ(X,t)來描述粒子狀態(tài),比標準PSO的參數(shù)更少.理論上已經(jīng)證明了QPSO是一種全局收斂算法,實驗結(jié)果也表明了它在幾個基準函數(shù)的收斂性能要優(yōu)于標準的PSO算法.
設在D維搜索空間中,有M個粒子,每個粒子都可以看作是沒有重量和體積的微粒,它在搜索空間中以一定的速度飛行,而速度隨著個體和群體的飛行經(jīng)驗不斷調(diào)整,每個粒子代表著搜索空間的一個位置,通過下列公式進化:
式中:mbest指的是中值的最優(yōu)位置;M表示群體中粒子的個數(shù);pi是粒子i的最優(yōu)位置;pg是整個群體的最優(yōu)位置;p是pi與pg之間的隨機點;α1,α2,u都是0~1之間的隨機數(shù);x(t)是t次迭代后粒子的位置信息;β的作用是控制粒子的收斂速度,稱之為收縮擴張因子.一般情況下,在t次迭代時,β的取值[10]用下式表示:
QPSO算法的基本流程如下圖所示.
圖1 QPSO算法基本流程圖Fig.1 Basic flowchart of QPSO algorithm
基于量子行為粒子群算法的獨立分量分析算法主要有以下步驟.
(1)適應度函數(shù)的選取.對目標函數(shù)的選取,包括非高斯性極大化、互信息最小化以及最大似然估計等,在這里用非高斯性最大化方法,將負熵作為目標函數(shù);
(2)數(shù)據(jù)的預處理.將混合后的觀測信號X(t)進行中心化、預白化等初步的預處理,前者能夠降低獨立分量分析算法的復雜度,后者可以去除各觀測信號之間的相關(guān)性;
(3)初始化粒子種群.設定搜索維度及群體中個體的個數(shù),并隨機產(chǎn)生每個粒子的初始位置向量;
While(迭代次數(shù)<設定的迭代次數(shù)),do.
(4)由粒子位置分離信號,并對分離后的信號進行中心化和預白化處理,根據(jù)式(6)計算每個粒子的適應度值;
(5)根據(jù)每個粒子的適應度值來更新個體的最優(yōu)位置pi以及相應的向量;
(6)然后根據(jù)每個個體的最優(yōu)位置來尋找并更新全局最優(yōu)值及其它位置向量;
(7)根據(jù)式(9)、(10)、(11)計算 mbest、p 以及位置向量x;
(8)進入循環(huán),判斷是否滿足終止條件,如果不滿足,跳轉(zhuǎn)至步驟(3),否則跳轉(zhuǎn)至步驟(9);(9)確定分離矩陣并輸出分離信號.End.
選取3個圖像信號和一個隨機噪聲信號如圖2所示,4個獨立信號以線性方式混合,混合圖像如圖3所示,對信號依次采用 FASTICA、PSOICA以及筆者提出的方法進行分離,仿真結(jié)果如圖4~6所示,可以看到3種方法分離之后的圖像順序發(fā)生了變化,這是因為盲分離問題的不確定性,但是信號實現(xiàn)了有效的分離.
由圖像分離的效果可以清晰的看到不同算法的分離效果,同時也可以用一些定量指標來進一步衡量不同算法之間的性能.采用分離信號的信噪比,對于圖像信號而言就是使用峰值信噪比PSNR作為衡量指標[11],它的表達式如下所示:
峰值信噪比的大小隨著算法性能變化,性能越好,峰值信噪比越大,說明信號的信號比提高的越大、解卷積的效果就越好.
另一種方法是使用PI指數(shù)[12]來作為評判分離效果的指標,它的表達式如下:
式中:gij表示矩陣 G 的(i,j)元素.它的值總是大于等于零,當它的值等于零的時候,G的每行每列有且僅有一個非零元素,因此,用此指標度量的時候,值越小說明分離效果越好.
下表是對3種不同算法的對比,表1表示4幅圖像在不同算法下的峰值信噪比,表2表示3種算法下相應PI值.
表1 不同算法的信噪比Tab.1 SNR of different algorithms dB
由圖像分離的仿真效果以及表1和表2中的兩個指標的比較,可以看出筆者提出的算法在算法的收斂精度和速度上都有所提高.
表2 不同算法的相應PI值Tab.2 PI values of different algorithms
筆者針對獨立分量分析傳統(tǒng)優(yōu)化算法的不足,將量子粒子群優(yōu)化算法引入到盲源分離中,給出一種基于量子粒子群的獨立分量分析算法,解決了常規(guī)算法容易陷入局部最優(yōu)的問題,通過仿真實例成功分離出源信號.結(jié)果表明了該算法切實有效,與傳統(tǒng)算法以及其他改進算法對比,其性能和穩(wěn)定性都有了提高.下一步的研究方向是改進量子粒子群算法并應用于獨立分量分析中,期望能夠得到更理想的效果.
[1]HYVARINEN A.Independent component an-alysis:Algorithms and applications[J].Neural Networks,2000(13):411 -430.
[2]SUN Jun,F(xiàn)ENG Bin,XU Wen-bo.Particle swarm optimization with particles having quantum behavior[C]∥Congress on Evolutionary Computation Portland.OR:IEEE,2004:325 -331.
[3]楊福生,洪波.獨立分量分析的原理與應用[M].北京:清華大學出版社,2006.
[4]楊行峻,鄭君里.人工神經(jīng)網(wǎng)絡與盲信號處理[M].北京:清華大學出版社,2003:327 -330.
[5]COMOM P.Independent component analysis;A New Con - cept[J].Signal Processing,1994,36(3):287-314.
[6]郭武,朱長仁,王潤生.一種改進的FastICA算法及其應用[J].計算機應用,2008,28(4):960 -962.
[7]王輝,王娟.ICA-R算法在旋轉(zhuǎn)機械故障信號提取中的應用[J].深圳信息職業(yè)技術(shù)學院學報,2011,(1):53 -57.
[8]KENNEDY J,EBERHAR R C.Particle swarm optimization[C]//International Conference on Neural Networks.Piscataway,NJ:IEEE,1995:1942 -1946.
[9]BERCH F V D.An analysis of particle swarm optimization[D].Pretoria:University of Pretoria,2002.
[10]滕春英,須文波,孫俊.基于QPSO的圖像融合算法的研究[J].計算機應用研究,2007,24(5):289 -299.
[11]楊綠溪,李克,周長春,等.一種用于超高斯信號和亞高斯混合信號盲分離的新算法[J].東南大學學報,1999,29(1):1 -7.
[12]翁樂明.獨立分量分析若干問題的研究[D].上海:上海交通大學理學院數(shù)學系,2009.