劉陽,高敬鵬
哈爾濱工程大學 信息與通信工程學院,黑龍江 哈爾濱 150001
盲源分離問題最早起源于“雞尾酒會”,目的是在源信號與混合矩陣均未知的情況下,從觀測到的若干個混合信號中分離出有用的信號[1]。盲源分離技術經過多年的發展,已經在眾多領域得到了廣泛的應用。近些年隨著圖像處理和神經網絡等學科領域的不斷興起,盲源分離技術又具有了新的研究價值和實用意義[2?3]。當觀測信號數量小于源信號時,這一問題可具體為欠定盲源分離問題,欠定盲源分離在工程運用中更具實用價值,但同時技術難度更大,因此欠定盲源分離問題在未來有待進一步的發展。目前解決欠定盲源分離的主流方法是稀疏分量分析法,這一方法要求先對混合矩陣進行估計,再進一步恢復出源信號,因此估計出一個高精度的混合矩陣對最終的恢復效果至關重要,直接影響最終的重構效果[4?5]。近些年來,隨著對各種聚類算法的研究,FCM算法成為解決混合矩陣估計的主流算法之一。FCM算法相比K-means、K-Hough等算法[6?7]有數據劃分詳細、歸類精準的優點,但這一算法也存在諸多缺陷。FCM算法需要預先設定聚類數目,且存在對初始聚類中心敏感的問題,初始聚類中心的設置不當有時會對聚類產生災難性的后果[8]。此外,噪點的存在也會使聚類中心發生偏移,影響最終的聚類結果。本文針對這些問題提出了基于密度結構分析的改進FCM算法,并以此為基礎實現混合矩陣估計。
通用的盲源分離模型如圖1所示。

圖1 盲源分離模型
盲源分離模型主要分為混合系統和分離系統2部分。混合系統的數學模型可表示為

式中:X(t)=[x1(t),x2(t),···,xM(t)]為在t時刻接收到的M維觀測信號;混合矩陣A為M×N維矩陣;S(t)=[s1(t),s2(t),···,sM(t)]為維度為N的源信號;N(t)為傳輸過程中的噪聲信號。
分離模型對應的數學公式為

式中:Y(t)=[y1(t),y2(t),···,yN(t)]為分離之后最終估計出來的源信號;W為分離矩陣。一般來說,當分離矩陣W=A?1估計出來的源信號精度最高。
實際應用中,根據盲源分離源信號數目n和觀測信號數目m的不同,可分為不同的情況:當m=n時,屬于正定盲源分離;當m>n時,屬于超定盲源分離;當m<n時,屬于欠定盲源分離。文章主要 研究欠定盲源分離情況。
在欠定盲源分離問題中,由于直接接收到的混合信號方向聚集性很差,并且存在大量冗余,進行預處理可以一定程度上增強信號的線性聚集性,去除絕大多數的冗余散點,提高計算效率。
預處理首先需要對接收到的混合信號做短時傅立葉變換。在時域范圍內,信號的方向聚集性很差,在完成短時傅立葉變換之后,從時頻域的角度處理,信號的方向聚集性能夠得到一定的增強。
在時頻變換的基礎上需要進一步去除低能量點。由于線性盲源分離混合矩陣的散點圖對應多條直線,一般情況下,離原點中心較遠的散點對直線的方向確定影響較大,而一些距離原點中心距離較近的低能量點作用不大,反而由于其離散性會對估計結果造成干擾。因此,有必要篩選掉這些低能量時頻點,低能量點的判定公式如下

公式(3)中參數 σ∈(0,1),通常情況下取值范圍為0.05~0.2,具體的數值根據實際情況選取。在去除絕大多數的低能量點后,觀測信號時頻點的集合變小,留下的散點對混合矩陣的估計更具有實際意義。
欠定盲源分離情況下,接收到的混合信號在實際應用過程大多都不是天然稀疏的,但是通過選取適當的稀疏基,仍可以將信號進行稀疏表示[9?10]。對稀疏性較差的信號,為增強信號在特定稀疏基下的稀疏表示能力,可以對混合信號做單源等比處理。由于不同的源信號在時域上無法完全同步,因此必然存在某些時刻只有一個信號起主要作用,而其他信號為零或無限趨近于零,這種時刻點存在的時頻點稱為單源時頻點。經過公式推導,在這種情況下理論上各觀測信號時頻點實部與虛部之間比值為一恒定值,等于混合矩陣對應列向量的比值,這一比值稱為單源等比系數。單源等比模型可用以下公式表示

在實際問題中,各個信號分量實部或虛部之間的比值不可能完全相等,這里定義一個常數ω為誤差閾值。這樣最終的單源等比模型可修正為

式中ω的經驗值為(0,1)。
FCM算法是一種基于隸屬度劃分的模糊聚類算法,該算法可具體描述為:假設樣本集合為X={x1,x2,···,xn},聚類中心為C={c1,c2,···,cn},將它分為c類,引入隸屬度矩陣U(x),使得下面給定的目標函數式(6)趨于最小

其中隸屬度滿足歸一化約束條件

FCM算法具體計算如下。
1) 初始化所有參數,包括閾值ε,聚類中心C0,模糊系數m,迭代次數l=0,最大迭代次數T以及隸屬矩陣U0。
2) 利用式(8)和式(9)更新聚類中心C和隸屬度矩陣U。

3) 計算相鄰兩次目標函數之差,若差值小于迭代,直到滿足要求。
OPTICS聚類算法是基于密度的聚類算法,目標是將空間中的數據按照密度分布進行聚類,理論上可以獲得任意密度的聚類[11?12]。OPTICS算法在DBSCAN基礎上新增了核心距離和可達距離的概念。
核心距離:當某一數據點p∈D,D為數據集合,以該點為核心,包含minP個數據點的最小鄰域半徑定義為核心距離,表達式為

可達距離:假定p,o∈D,對于給定的ε和可minP,可達距離可定義為

可達距離可以理解為在p是核心點、并且p與o密 度可達的條件下,核心點對應的最小鄰域半徑。
OPTICS算法總結如下。
算法輸入:數據集合D,ε和minP。
算法輸出:可達序列和相應的可達序列圖。
預處理:初始化各種參數,計算集合中每個點的核心距離及對應的可達距離。
1) 初始化2個隊列矩陣,用作儲存種子隊列和結果隊列。
2) 判斷集合中的數據點是否已經完全處理,如果完成,就結束算法,否則隨機添加一個未經處理的數據點到種子隊列開始步驟3)。
3) 若種子隊列為空,跳轉步驟2),若非空,從種子隊列中取出第一個點做拓展處理,若該點不存在于結果隊列中,則將該點按可達距離排序插入到結果隊列中。
①若種子隊列中取出第一個點是核心對象,計算與該點有關的所有直接密度可達點,如果不是,重復進行步驟3);②若通過計算比較,結果隊列中已經不存在任何與該拓展點有關的直接密度可達點,進行步驟3),否則繼續等待;③ 若結果隊列在之前已存儲過與該點有關的直接密度可達點,但新計算的可達距離相比舊值更小,則予以替換,重新調整結果隊列;④若結果隊列中不存在與該點有關計算的直接密度可達點,則將該點按序插入結果隊列中。
4) 算法結束,輸出的結果隊列即為可達序列。
OPTICS算法聚類結果如圖2所示。

圖2 可達距離序列圖
圖2為通過OPTICS算法進行密度結構分析的結果,反映了可達距離與可達對象序列的關系,可以對數據進行密度結構分析,可達距離會隨著對象序列的疏密程度呈現出高低分布,每個波谷的位置對應一個數據中心,波峰對應位于相鄰2個數據中心之間的散點,波峰與波谷的距離差距越大表示數據的離散程度越大。因此通過對數據的密度結構分析,可以在先驗信息不足的條件下,確定數據大致聚類中心以及聚類數目。
1) 初始參數優化
FCM算法優化的核心之一是對初始參數的優化,包括初始聚類中心和聚類數目。前面介紹了基于OPTICS算法的密度結構分析,通過OPTICS算法最終輸出反映了數據密度結構的可達序列。可達序列中波谷的位置即為數據的聚類中心,因此對得到的可達距離序列進行波谷搜尋便可確定具體的聚類數目和大致的聚類中心。確定這2項參數,將這2項參數作為初始參數應用在FCM算法的聚類中可以解決FCM算法過于依賴初始聚類中心和聚類數目的缺陷。
2) 目標函數優化
FCM算法優化的另一個核心是盡可能地消除孤立散點導致的聚類中心偏移。OPTICS密度結構分析輸出的可達序列另一項重要屬性是和數據的離散程度有關,可達距離序列反映了每個樣本點與相鄰聚類中心離散程度。對孤立散點最理想的優化做法是盡量根據散點的離散情況來分配其在聚類中心隸屬度劃分的權重,即遠離聚類中心的散點不會或者盡可能小地影響聚類中心的確定,而靠近聚類中心的散點會直接影響最終的聚類中心確定。這里可以考慮把可達序列作為離散動態加權因子對FCM的目標函數進行修正。
假設OPTICS算法聚類之后得到的可達距離序列為L,把可達距離序列作為動態加權系數對式(6)進行修正,修正后的目標函數為

當數據點遠離聚類中心時,可達距離增大,算法無法收斂;當數據點靠近聚類中心時,可達距離變小,算法快速收斂。通過這一加權策略,可以提高算法的收斂速度,防止聚類中心偏移,從而有效改善噪點對聚類結果的影響。
利用Lagrange函數對式(12)進行重新構建,對uij和ci求偏導得到式(13)和式(14)

進一步求得聚類中心C和隸屬度矩陣U為

基于密度結構分析的改進FCM算法步驟總結如下。
1) 用OPTICS算法對樣本點進行密度結構分析,得到可達距離L,并通過波谷搜索,確定聚類數目和初始聚類中心。
2) 用步驟1)中得到的聚類數目和聚類中心初始化FCM的聚類參數,并按照式(12)將可達距離L作 為動態加權因子對目標函數進行優化。
3) 根據式(15)和式(16),并按照傳統FCM聚類的迭代方法不斷迭代,判斷是否滿足輸出條件 ,最終求得隸屬度矩陣U和聚類中心C。
本文提出了基于密度結構分析的改進FCM算法,并利用這一算法實現了混合矩陣估計,具體的混合矩陣估計步驟如下。
1) 對接收的混合信號進行預處理,包括時頻變換和低能量點去除,得到信號的時頻散點。
2) 判斷信號稀疏性,若信號的稀疏性較差且冗余散點過多,對信號進一步做單源等比處理,增強信號的線性聚集性。
3) 對單源等比處理后的數據密度結構分析,從目標函數和初始參數兩方面對FCM算法進行優化,并用優化后的算法進行聚類。
4) 用得到的聚類結果計算混合矩陣。
基于改進FCM算法的混合矩陣估計流程如圖3所示。

圖3 混合矩陣估計流程
本文采用以下2個標準來對估計混合矩陣的性能進行評估。
1) 歸一化均方誤差(normalized mean square error,NMSE,在公式中用NMSE表示),數學表達式為

歸一化均方誤差越小說明矩陣估計性能越高,所估計出的混合矩陣越接近原混合矩陣。
2) 偏離角度,表達式為

式中:a為原混合矩陣A的列矢量;為得到的估計矩陣中與a對應的列矢量。
偏離角度反映了原矩陣與估計矩陣之間的角度偏離情況,這個數值越小時,說明2個矩陣之間的相似度越高,越有助于最終的源信號重構。
實驗選用語音信號作為源信號,具體來源可參考http://www.speech.cs.cmu.edu/cmu_arctic/。從中隨機截取4段語音數據作為實驗數據,長度為48 000,采樣頻率為16 kHz。選取的源信號如圖4所示。

圖4 語音源信號
經過式(19)中的混合矩陣得到如圖5所示的觀測信號。


圖5 語音觀測信號
對觀測信號進行預處理,時頻變換這里選用短時傅立葉變換,窗函數選用Hanning窗,窗口長度設定為512,疊合長度為256,低能量去除的閾值取0.1。最終預處理后的散點圖如圖6所示。由圖6可以看出通過時頻變換,信號在時頻域呈現出一定的方向性,但是冗余散點過多,需要進一步做單源等比處理去除冗余散點,結果如圖7所示。

圖6 預處理后的散點圖

圖7 單源等比處理后的散點圖
單源等比后數據的線性聚集性增強,為了方便聚類,對樣本數據做歸一化處理,將所有散點映射到球面上,歸一化結果如圖8所示。

圖8 歸一化后的散點圖
用OPTICS算法對歸一化后的數據進行密度結構分析,結果如圖9所示。從圖9中可以看出聚類數目為4,初始聚類中心可從波谷處的位置選取,以此2項參數為基礎實現對FCM初始參數的優化。

圖9 OPTICS密度結構分析結果
分別用基于密度結構分析的改進FCM算法和傳統FCM算法對單源等比后的數據集進行聚類對比,橫向比較聚類成功率,其中傳統FCM初始參數(聚類中心、聚類數目)的設置為隨機選取。在樣本數據保持不變的情況下,分別重復進行100次聚類,統計聚類成功次數如表1所示。

表1 聚類成功次數統計
實驗結果表明,傳統的FCM算法由于初始聚類中心和聚類數目選用規則為隨機選取,因此會出現一定概率的聚類失敗,但通過本文的改進方法可以實現對初始參數的優化,避免因初始參數的設置不當而導致的聚類失敗。
再對2種算法的迭代次數進行對比,結果如圖10所示。

圖10 聚類收斂迭代曲線對比
迭代次數和目標函數收斂情況表明,得益于對目標函數的優化,本文改進算法相比于傳統FCM算法有著更低的迭代次數和更快的收斂速度,同時目標函數值也略有降低,能帶來更好的聚類效果。
在聚類成功的基礎上,利用改進的聚類算法估計混合矩陣,并選用2種經典的聚類算法K-means算法與FCM算法作為對比。
K-means算法估計出的混合矩陣為

FCM算法估計出的混合矩陣為

本文提出的算法估計出的混合矩陣為

根據上面估計的混合矩陣,結合性能評估準則,計算歸一化均方誤差和偏離角度如表2和表3所示。

表2 歸一化均方誤差對比 dB

表3 偏離角度數據對比 (°)
首先對比歸一化均方誤差,從表2可以看出,改進后的FCM算法相對于傳統FCM算法和Kmeans算法可使歸一化均方誤差最少減小6 dB。然后對比偏離角度,表3中的數據表明了估計矩陣與混合矩陣之間的夾角偏離情況,可以看出改進的FCM算法計算出的矩陣偏離角度相對于傳統方法得到的偏離角度最多可減少1.5°。兩項對比結果均表明,由于本文對FCM算法初始參數和目標函數的雙重優化,最終估計出的混合矩陣精度和性能都得到提高。
本文提出了一種基于密度結構分析的改進FCM聚類算法,并將這一改進算法用于盲源分離的混合矩陣估計中。本文的改進算法針對傳統FCM算法存在的問題,通過密度結構分析確定了正確的聚類數目和大致的初始聚類中心,實現對FCM算法初始參數的優化,同時輸出的可達距離序列作為加權因子應用到FCM目標函數中,從而降低噪點對聚類結果的影響,實現對目標函數的優化。實驗結果和理論分析說明了文中模型、方法的有效性。