張曉通 韓躍平 楊 洋
(中北大學(xué)信息與通信工程學(xué)院 山西 太原 030051)
盲信號(hào)分離技術(shù)[1-3]是一種在源信號(hào)、傳遞系統(tǒng)等先驗(yàn)知識(shí)無法獲得的條件下,以源信號(hào)的統(tǒng)計(jì)特性為依據(jù),從觀測的混疊信號(hào)中恢復(fù)出源信號(hào)的方法,在圖像處理、語音處理和通信等多個(gè)領(lǐng)域得到了廣泛的應(yīng)用。
盲源分離理論[4]的提出是為了解決如何讓計(jì)算機(jī)從多個(gè)復(fù)雜信號(hào)中搜尋到有用信號(hào)的問題。獨(dú)立分量分析(Independent Component Analysis,ICA)是處理盲源分離問題的一種重要方法。Comon[5]首次提出盲信號(hào)分離的獨(dú)立分量分析方法,通過最小化分量之間的統(tǒng)計(jì)相關(guān)性進(jìn)行獨(dú)立成分估計(jì)。為了進(jìn)一步提高ICA算法的收斂速度和精度,部分學(xué)者提出使用具有全局收斂性的群智能算法來優(yōu)化ICA。華容等[6]提出了基于遺傳算法(Genetic Algorithm,GA)過程信號(hào)的盲分離,使遺傳算法和神經(jīng)網(wǎng)絡(luò)相結(jié)合實(shí)現(xiàn)對(duì)過程信號(hào)的去噪。Lin等[7]提出了基于粒子群算法(Particle Swarm Optimization,PSO)的盲信號(hào)分離,利用粒子群算法來優(yōu)化負(fù)熵最大化目標(biāo)函數(shù)從而得到最優(yōu)解。彭安洪等[8]提出基于自適應(yīng)粒子群算法盲源分離,利用自適應(yīng)調(diào)整策略對(duì)粒子群算法進(jìn)行了改進(jìn)。這些群智能算法在一定程度上提升了ICA算法的性能,但也存在一些不足,例如:遺傳算法的全局搜索能力較強(qiáng),但搜索效率較低;粒子群算法不易陷入局部極值,但參數(shù)設(shè)置較多,收斂速度較慢。
獅群算法(Lion Swarm Optimization,LSO)[9]是近年被提出和應(yīng)用的群體智能算法,具有良好的協(xié)同進(jìn)化機(jī)制,收斂速度較快,不易陷入局部最優(yōu),為解決全局尋優(yōu)問題提供了一種新的途徑。因此,本文提出了一種遺傳-獅群算法GA_LSO,并應(yīng)用于優(yōu)化ICA中的目標(biāo)函數(shù),以提升ICA算法的精度,改善盲源分離效果。
獨(dú)立分量分析[5,10]是一種盲源分離算法,在源信號(hào)未知的情況下,能從觀測信號(hào)中有效地分離出相互統(tǒng)計(jì)獨(dú)立的源信號(hào),具有結(jié)構(gòu)簡單、分離廣泛等優(yōu)點(diǎn)。線性混合盲源分離模型表示為:
x(t)=As(t)
(1)
式中:x(t)=[x1(t),x2(t),…,xm(t)]T是m維已知的觀察信號(hào)向量;Am×n是元素為實(shí)數(shù)的列滿秩混合矩陣(m≥n);s(t)=[s1(t),s2(t),…,sn(t)]T是未知的n維信號(hào)源向量,分量si(t)中至多有一個(gè)服從高斯分布且各分量相互統(tǒng)計(jì)獨(dú)立。獨(dú)立分量分析的研究目標(biāo)就是通過迭代尋優(yōu)獲得一個(gè)最佳分離矩陣Wn×m,根據(jù)式(2)從混合信號(hào)中計(jì)算出s(t)的最優(yōu)逼近。
y(t)=Wx(t)=WAs(t)
(2)
遺傳算法[11-12]是一種模擬生物進(jìn)化論的遺傳和進(jìn)化過程的隨機(jī)搜索方法,每一個(gè)可行解用一個(gè)染色體表示。初代群體生成后,對(duì)種群中的個(gè)體進(jìn)行選擇、交叉和變異操作,按照適者生存、優(yōu)勝劣汰的原理產(chǎn)生出代表新的解集的種群,使種群不斷進(jìn)化,適應(yīng)度好的個(gè)體得以保留,適應(yīng)度差的個(gè)體被逐漸淘汰,經(jīng)過若干世代演化最終完成目標(biāo)在可行域內(nèi)的尋優(yōu)問題。
獅群算法[13-14]是一種群體智能優(yōu)化算法,通過模擬獅群狩獵、繁衍等社會(huì)行為,建立解決全局最優(yōu)問題的模型,完成對(duì)復(fù)雜問題的求解。按照分工不同將獅群分為三類:獅王、母獅和幼獅。獅王主要負(fù)責(zé)守護(hù)領(lǐng)地,地位最高;母獅主要負(fù)責(zé)狩獵,地位次之;幼獅靠近獅王進(jìn)食,跟隨母獅學(xué)習(xí)狩獵,成年后被逐出獅群,地位最低。在算法迭代過程中,按照獅群比例將適應(yīng)度較好的部分定義為獅王,較差的部分定義為幼獅,其余為母獅[15]。
獅群算法的原理描述如下:每個(gè)獵物的位置代表問題的一個(gè)可行解,解的質(zhì)量通過適應(yīng)度值的大小來衡量。從待尋優(yōu)空間中的某一初始位置開始,獅王占據(jù)了最優(yōu)獵物的位置;母獅相互合作外出捕獵,并向獅王通知更好的獵物位置,然后獅王移動(dòng)到那個(gè)位置;幼獅跟隨母獅學(xué)習(xí)狩獵或靠近獅王進(jìn)食,成年后被逐出獅群,位置更新呈現(xiàn)多樣化,提高算法的探測能力。獅群分工合作,不斷更新位置、重復(fù)搜尋,求解目標(biāo)函數(shù)最優(yōu)值。該算法流程詳見文獻(xiàn)[16]。
信號(hào)的統(tǒng)計(jì)獨(dú)立性是解決線性混合信號(hào)盲源分離問題的基礎(chǔ)?;贗CA算法對(duì)混合信號(hào)進(jìn)行盲分離時(shí)首先應(yīng)該選取合適的判據(jù)用于衡量分離信號(hào)的統(tǒng)計(jì)獨(dú)立性,進(jìn)而確定目標(biāo)函數(shù)。其次采用某種算法對(duì)目標(biāo)函數(shù)進(jìn)行優(yōu)化求極值,從而獲得使分離信號(hào)獨(dú)立性最強(qiáng)的分離矩陣或向量[17]。
非高斯性意味著獨(dú)立[18],常用的信號(hào)非高斯性判據(jù)有互信息[19]、峭度[20]和負(fù)熵[7]等。本文選擇峭度的絕對(duì)值之和作為信號(hào)獨(dú)立性的判據(jù),定義目標(biāo)函數(shù)為:
(3)
在E{yyT}=I的約束下,對(duì)于某一分離矩陣W,J(y)越大表明分離信號(hào)yi之間的獨(dú)立性越強(qiáng)。
fiti=1/J(yi)
(4)
式中:fiti是J(yi)對(duì)應(yīng)的適應(yīng)度值。
針對(duì)遺傳算法存在收斂速度慢、容易陷入局部最優(yōu)的缺陷,本文將獅群算法融入到遺傳算法中,提出了GA_LSO。利用獅群算法位置更新多樣化、不易陷入局部最優(yōu)的特點(diǎn)進(jìn)行前期勘探,利用遺傳算法較強(qiáng)的全局搜索能力進(jìn)行后期總結(jié),提高算法的全局尋優(yōu)能力。將GA_LSO應(yīng)用于優(yōu)化ICA,對(duì)ICA的分離矩陣W通過GA_LSO優(yōu)化得到最優(yōu)解W′,由y(t)=W′x(t)得到分離變量,從而使分離變量的非高斯性最大,降低算法陷入局部最優(yōu)解的概率,提升算法精度。并通過性能指標(biāo)評(píng)價(jià)函數(shù)衡量分離變量的獨(dú)立性。
基于GA_LSO優(yōu)化的ICA算法步驟如下:
(1) 對(duì)收集、采樣后的混疊信號(hào)進(jìn)行零均值化、白化處理。
(2) 初始化獅群中獅子的位置xi及獅子的總數(shù)N,成年獅占獅群比例因子β(為使算法的收斂速度較快,β的取值一般小于0.5),最大迭代次數(shù)T,維度空間D。
(3) 根據(jù)式(5)計(jì)算成年獅的個(gè)數(shù)nleader,則幼獅的數(shù)量為N-nleader。將個(gè)體歷史最優(yōu)位置設(shè)置為各獅的當(dāng)前位置,初始群體最優(yōu)位置設(shè)置為獅王位置。
nleader=┌Nβ┐
(5)
(4) 根據(jù)式(6)更新獅王的位置。
(6)
(5) 根據(jù)式(7)更新母獅的位置。
(7)
(6) 產(chǎn)生(0,1)內(nèi)的均勻隨機(jī)數(shù)q,根據(jù)式(8)更新幼獅的位置。
(8)
(7) 根據(jù)獅子的位置計(jì)算適應(yīng)度值fiti,更新自身歷史最優(yōu)位置fit(best.i)及獅群歷史最優(yōu)位置fit(Gbest)。
(8) 根據(jù)式(9)計(jì)算每個(gè)基因個(gè)體被選中的概率,并從種群中選擇一部分個(gè)體。
(9)
(9) 以交叉概率c對(duì)基因個(gè)體進(jìn)行交叉運(yùn)算,每兩個(gè)基因個(gè)體之間進(jìn)行單點(diǎn)交叉。每個(gè)基因個(gè)體的變異概率為m,若個(gè)體發(fā)生變異,則在它包含的二進(jìn)制串中隨機(jī)選取一位取反。
(10) 對(duì)所有新生成的個(gè)體,重新計(jì)算適應(yīng)度值,更新最優(yōu)解。
(11) 判斷是否滿足結(jié)束條件。若滿足,則算法結(jié)束,輸出的最優(yōu)解即為所求的分離矩陣,計(jì)算y(t)=Wx(t)即所求的分離信號(hào);否則轉(zhuǎn)到步驟(12)。
(12) 每迭代10次后重新排序,確定獅王、母獅及幼獅的位置,轉(zhuǎn)到步驟(4)。
為了測試GA_LSO的尋優(yōu)性能,從文獻(xiàn)[21-22]中選取6個(gè)典型的基準(zhǔn)測試函數(shù),并與獅群算法(LSO)、自適應(yīng)遺傳算法(AGA)以及自適應(yīng)粒子群算法(APSO)進(jìn)行對(duì)比實(shí)驗(yàn)。6個(gè)基準(zhǔn)測試函數(shù)如表1所示,其中:U表示單峰函數(shù),M表示多峰函數(shù),S表示可分函數(shù),N表示不可分函數(shù),理論最優(yōu)解均為0。
表1 基準(zhǔn)測試函數(shù)
設(shè)定4種算法的種群規(guī)模均為30,最大迭代次數(shù)均為50。經(jīng)過反復(fù)多次實(shí)驗(yàn),確定GA_LSO中成年獅的比例為0.2;粒子群參數(shù)設(shè)置為:慣性權(quán)重最大值ωmax=0.9,慣性權(quán)重最小值ωmin=0.5,最優(yōu)解權(quán)重系數(shù)c1=c2=2;遺傳算法的交叉概率設(shè)為0.9,變異概率設(shè)為0.01;當(dāng)尋優(yōu)結(jié)果與理論最優(yōu)值相差小于0.01時(shí)判定尋優(yōu)成功。智能算法求解時(shí),有一定的隨機(jī)性,因此進(jìn)行重復(fù)實(shí)驗(yàn),取平均值。對(duì)于每個(gè)測試函數(shù),4種算法均獨(dú)立運(yùn)行100次,記錄其收斂代數(shù)、平均解等5個(gè)指標(biāo),對(duì)比分析4種算法的尋優(yōu)性能,結(jié)果如表2所示。
表2 4種算法對(duì)基準(zhǔn)測試函數(shù)的尋優(yōu)性能比較
可以看出,本文算法在6個(gè)測試函數(shù)100次實(shí)驗(yàn)中的平均解均一致達(dá)到理論最優(yōu)解。與LSO相比,雖然尋優(yōu)成功率與本文算法接近,但本文算法的迭代次數(shù)更低,標(biāo)準(zhǔn)差更小。與AGA相比,本文算法具有更高的成功率和更高的精度。與APSO相比,在測試函數(shù)f2(x)時(shí),雖然兩者的成功率都為1,但是本文算法的平均解和標(biāo)準(zhǔn)差都比APSO更好,在測試其他函數(shù)時(shí),本文算法的尋優(yōu)性能也比APSO更好。
圖1給出了4種算法對(duì)測試函數(shù)的尋優(yōu)收斂曲線。為使對(duì)比效果更加直觀,將縱軸適應(yīng)度值取對(duì)數(shù)得出lg(f(x))收斂曲線。與其他算法相對(duì)比,GA_LSO收斂曲線的斜率更大,曲線更為平滑,說明收斂的速度更快,收斂過程更加穩(wěn)定。
(a) Rastrigin (b) Schaffer
綜上所述,GA_LSO在對(duì)基準(zhǔn)測試函數(shù)的尋優(yōu)對(duì)比實(shí)驗(yàn)中表現(xiàn)出較好的性能,采用更少的迭代次數(shù),得到質(zhì)量更高的解。在獨(dú)立進(jìn)行的100次實(shí)驗(yàn)中,GA_LSO的求解成功率最高,每次求解都能找到符合求解精度要求的最優(yōu)解。
為驗(yàn)證基于GA_LSO優(yōu)化的ICA算法(GALSO_ICA)的有效性,將其應(yīng)用于圖像信號(hào)的盲源分離中。取三幅256×256圖片(cman、bank和baboo)作為源信號(hào),通過隨機(jī)初始化混合矩陣將三幅圖像進(jìn)行混合,對(duì)混合圖像采用GALSO_ICA算法處理之后,得到的分離圖像的效果如圖2所示。
源信號(hào)1 源信號(hào)2 源信號(hào)3
由圖2可知,分離后的圖像在內(nèi)容上得到了較好的保持,達(dá)到了較高的分離質(zhì)量,證明了GALSO_ICA算法的有效性。
為了進(jìn)一步驗(yàn)證GALSO_ICA算法的優(yōu)越性,采用傳統(tǒng)獨(dú)立分量分析算法(ICA)、獅群算法優(yōu)化的ICA分離方法(LSO_ICA)、遺傳算法優(yōu)化的ICA分離方法(GA_ICA)以及粒子群算法優(yōu)化的ICA分離方法(PSO_ICA),使用相同數(shù)據(jù)進(jìn)行效果對(duì)比研究。
本文選擇相似系數(shù)、信噪比及性能指數(shù)3個(gè)指標(biāo)作為分離性能的客觀評(píng)價(jià)尺度,計(jì)算公式分別如下:
(10)
(11)
(12)
式(10)中相似系數(shù)ρij用來衡量兩個(gè)信號(hào)的相似程度,ρij越大,表示源信號(hào)si(t)和分離所得信號(hào)yj(t)的相關(guān)性越強(qiáng),相似度越高,算法分離效果越好;式(11)中輸出信噪比越大,表明分離信號(hào)與源信號(hào)相差越小,算法分離效果越好;式(12)中性能指數(shù)PI的值越小,表明分離效果越理想。若PI=0,則表明分離所得信號(hào)與源信號(hào)是一樣的。
表3、表4和表5分別記錄了相似系數(shù)、信噪比,以及性能指數(shù)3個(gè)指標(biāo)來比較各算法的性能,圖3從收斂速度、收斂精度,以及收斂穩(wěn)定性等方面直觀比較各算法的優(yōu)劣性。由表中數(shù)據(jù)可知,GALSO_ICA算法在對(duì)三幅圖像分離時(shí)的相似系數(shù)最接近于1,信噪比均達(dá)到最大,性能指數(shù)相比于其他算法最小。綜合上述3個(gè)性能指標(biāo),本文算法相比于其他四種算法,分離效果最好,分離后的圖像在質(zhì)量上有顯著提升。
表3 相似系數(shù)比較
表4 信噪比比較
表5 性能指數(shù)比較
圖3 5種算法分離圖像的收斂曲線
從圖3中幾種智能算法的適應(yīng)度收斂曲線可以看出,在迭代次數(shù)一樣的情況下,傳統(tǒng)ICA算法的收斂曲線一直振蕩無法收斂至0,而本文算法的收斂曲線斜率更大,更為平滑,精度更高。因此本文算法比基于GA、PSO和LSO的盲分離效果更好,在性能上有顯著提升。
綜上所述,GALSO_ICA盲源分離算法的整體性能均優(yōu)于對(duì)比算法,具有更高的收斂精度、更快的收斂速度和更好的穩(wěn)定性,能夠很好地解決盲源分離問題。
本文結(jié)合了遺傳算法和獅群算法的優(yōu)點(diǎn),提出了一種遺傳-獅群算法GA_LSO,并應(yīng)用于優(yōu)化ICA。所提算法通過每次迭代中選取遺傳算法和獅群算法的最優(yōu)值,提高了混合算法的性能,較好地減少了遺傳算法出現(xiàn)早熟收斂的概率并且克服了獅群算法收斂精度不高等缺點(diǎn)。通過6個(gè)基準(zhǔn)測試函數(shù)的實(shí)驗(yàn)表明,本文提出的GA_LSO具有較高的收斂精度、較快的收斂速度和較好的魯棒性,且能有效處理高維復(fù)雜函數(shù)的尋優(yōu)問題。通過對(duì)混合圖像的仿真實(shí)驗(yàn)表明,基于GA_LSO優(yōu)化的ICA算法是一種有效的盲源信號(hào)分離算法,能夠有效提升盲源信號(hào)的分離質(zhì)量,在信號(hào)處理中具有廣泛的應(yīng)用前景。