朱明榮,盛子恒
(1.中國船舶重工集團公司第七二三研究所,江蘇 揚州 225101;2.新南威爾士大學(xué),悉尼 2052)
數(shù)據(jù)融合又稱為多傳感器數(shù)據(jù)融合[1],即將多傳感器獲得的數(shù)據(jù)進行分析、處理,通過運用一定的計算機技術(shù)充分挖掘出數(shù)據(jù)所蘊含的全部信息,進而對其作出相應(yīng)的估計和決策,以減少由單傳感器產(chǎn)生的不確定性。多傳感器數(shù)據(jù)融合是對人類認知現(xiàn)實世界的一種模擬,廣泛應(yīng)用于軍事領(lǐng)域中的目標識別、敵我態(tài)勢評估與決策等問題。聚類分析是一種經(jīng)典的數(shù)據(jù)融合算法,其中模糊C均值聚類(FCM)算法具有運行時間少、自動對樣本數(shù)據(jù)進行分類等[1]優(yōu)點,其在醫(yī)學(xué)圖像分割、生物種群認知、網(wǎng)站信息檢索、用戶商業(yè)選址等[2]領(lǐng)域應(yīng)用廣泛。但隨著物聯(lián)網(wǎng)的發(fā)展、環(huán)境的多樣性、多傳感器種類以及數(shù)據(jù)的多樣性,利用傳統(tǒng)的模糊聚類方法已不能對它們進行恰當?shù)姆诸?。文獻[3]提出了一種EFCM(Fuzzy C-means Based on Effective Distance)算法,該算法充分考慮了數(shù)據(jù)的分布結(jié)構(gòu),通過采用稀疏重構(gòu)的方法來度量數(shù)據(jù)之間的距離,即有效距離;文獻[4]提出了一種FDP-FCM(Find Density Peaks Fuzzy C-means Clustering)算法,該算法通過引入加權(quán)系數(shù)并采用高斯核函數(shù)找到局部密度最大的點,并將其作為初始聚類中心,解決了傳統(tǒng)的基于聚類的數(shù)據(jù)融合算法對初始聚類中心敏感、無法確定聚類數(shù)目、收斂速度慢等問題;文獻[5]提出了一種IIFCM(Improved Intuitionistic Fuzzy C-means)算法,該算法通過在損失函數(shù)中引入了直覺模糊因子,并結(jié)合局部空間信息來克服噪聲與空間的不確定性問題;文獻[6]提出了一種AFCM(Adaptive Fuzzy C-means)算法,該算法通過引入自適應(yīng)系數(shù)不斷優(yōu)化損失函數(shù),能很好地處理噪聲與不同密度的數(shù)據(jù)集,但不能處理具有混合屬性的數(shù)據(jù)集且隨機初始化的聚類中心易使其陷入局部最優(yōu);文獻[7]提出了一種CH-CCFDAC(a New Clustering Center to Quickly Determine the Clustering Algorithm)算法,該算法通過結(jié)合CCFD(Cluster Center Fast Determine Algorithm)與改進的迭代爬山算法(Improved Mountain Climbing Algorithm)確定了聚類中心,但受截斷距離的影響,其不能處理具有噪聲與不同密度的數(shù)據(jù)集。
為此,本文對文獻[7]進行改進,提出了一種基于模糊聚類的混合多傳感器數(shù)據(jù)融合算法,簡記為HFCM算法。該算法首先在CH-CCFDAC算法中采用高斯核函數(shù)進行局部密度度量以確定初始聚類中心,其次結(jié)合AFCM算法的聚類結(jié)果設(shè)計了一種融合策略。通過在UCI數(shù)據(jù)集上的仿真實驗,結(jié)果表明本文算法不僅能夠處理具有噪聲與不同密度的混合屬性數(shù)據(jù)集,還有效地提高了融合效果,較好地解決了艦船異質(zhì)傳感器及其不同數(shù)據(jù)屬性的數(shù)據(jù)融合問題。
在CH-CCFDAC算法中,局部密度度量采用的是分段函數(shù),其具體形式如下:
ρi=∑f(dij-dc)
(1)
從距離ρ=(ρ1,ρ2,…,ρn)的定義可知,ρ的大小影響著初始聚類中心的選取。由于CH-CCFDAC受到截斷距離dc的影響,其不能保證距當前點的距離的點數(shù)小于dc,對于具有不同密度的數(shù)據(jù),當采用γ=ρ·δ選擇聚類中心時,類中心點與其他點之間的判別度不高,其可能導(dǎo)致初始聚類中心的選擇失敗。因此,本文從數(shù)據(jù)的整體入手,用高斯核函數(shù)來計算密度,這是本文所做的工作之一。
對每個數(shù)據(jù)點xi,采用如下的局部密度定義:
(2)
式中:dij表示數(shù)據(jù)點xi與xj之間的相似性;dc為截斷距離。
初始聚類中心的選取方式類似于CH-CCFDAC算法,即先計算各點的ρ與δ值,再根據(jù)γ=ρ·δ的決策圖來確定k個初始聚類中心。
CH-CCFDAC算法能夠處理具有混合屬性的數(shù)據(jù)集,但其不能處理具有噪聲和不同密度的數(shù)據(jù)集,即帶有噪聲的不平衡數(shù)據(jù)集。此外,AFCM算法可以處理具有噪聲與不同密度的數(shù)據(jù)集,但其不能處理具有混合屬性的數(shù)據(jù)集,即具有數(shù)值屬性又具有分類屬性的數(shù)據(jù)集,且隨機的初始化聚類中心易使其陷入局部最優(yōu)。因此本文將CH-CCFDAC算法與AFCM算法進行結(jié)合,使其能夠很好地處理具有不同密度、噪聲以及混合屬性的數(shù)據(jù)集,這是本文所做的工作之二。
因為AFCM算法是隨機初始化聚類中心,若初始聚類中心與要聚類的數(shù)據(jù)點不完全匹配的話,易使其陷入局部最優(yōu)且會增加時間成本。此外,AFCM算法采用歐幾里得距離計算采樣點與聚類中心之間的距離,若該數(shù)據(jù)集具有混合屬性的話,則可能導(dǎo)致融合失敗。鑒于此,本文首先對數(shù)據(jù)進行主成分分析,然后使用改進的CH-CCFDAC算法獲得初始聚類中心,既克服了AFCM算法對初始聚類中心敏感且不能處理混合屬性數(shù)據(jù)集的局限性,又解決了CH-CCFDAC算法不能處理具有噪聲點與不同密度的數(shù)據(jù)集的問題。
最后利用AFCM算法基于數(shù)據(jù)點的相似性對數(shù)據(jù)進行聚類并設(shè)計了一種融合策略,即將樣本數(shù)據(jù)聚為2類:正常類與異常類,并把正常類的類中心作為最終的融合值,其中正常類為更接近真實值的數(shù)據(jù);否則,為異常類,將異常類作為故障數(shù)據(jù),不參與融合計算,這樣可有效避免誤差較大的數(shù)據(jù)對融合結(jié)果的影響,以實現(xiàn)被劃分到同一類的對象間相似性最大,類間具有較大差異性的分類目的。
本文提出的HFCM算法步驟如下:
Step1:對數(shù)據(jù)集進行主成分分析,計算所有數(shù)據(jù)點的相似性矩陣D=(dij)n×n。
Step2:初始化密度半徑dc,根據(jù)式(2)、(3)、(4)分別計算ρ、δ、γ的值;給定參數(shù)k,去掉ρ與δ偏差較大的奇異點,并將剩余的k個點作為第1次初始聚類中心。其中距離δ={δ1,δ2,…,δn}與變量γ={γ1,γ2,…,γn}的計算公式如下:
(3)
γi=ρi×δi
(4)
Step3:給定迭代半徑δ,根據(jù)改進的迭代爬山算法使Fitness值最大,以得到最優(yōu)的dc,返回Step2,找到最優(yōu)的初始聚類中心。其中Fitness的計算公式如下:
(5)
(6)
(7)
式中:d(xi,vj)表示xi與vj之間的距離,且d(xi,vj)=‖xi-vj‖2。
Step4:初始化聚類數(shù)目c,滿足2≤c≤n;初始化迭代停止條件ε,其中ε>0;初始化閾值γ;初始化隸屬度矩陣U=(uik)c×n。
Step5:t=1。
Step6:計算聚類中心和權(quán)重向量。
Step6.1:計算聚類中心。
假設(shè)隸屬度uik和權(quán)重向量κ=(κ1,κ2,…,κp)是固定的,在使得損失函數(shù)達到最小的條件下,則聚類中心vi=(vi1,vi2,…,vip)按照式(8)進行更新:
(8)
Step6.2:計算權(quán)重向量
假設(shè)隸屬度uik和聚類中心vi=(vi1,vi2,…,vip)是固定的,在損失函數(shù)最小的情況下,則權(quán)重向量κ=(κ1,κ2,…,κp)的計算公式如下:
(9)
式中:j=1,2,…,p。
Step7:計算隸屬度矩陣
(10)
Step8:若uik的變化量小于ε,則迭代停止;否則t=t+1,返回Step3。
Step9:檢查聚類的有效性,若某一類中數(shù)據(jù)點的個數(shù)小于總數(shù)據(jù)點個數(shù)的百分之γ,則該類無效,將該類中所有的點稱為噪聲點。
Step10:將正常類的類中心作為最后的融合結(jié)果。
為了驗證HFCM算法的有效性,本文利用UCI數(shù)據(jù)庫中的2個數(shù)據(jù)集進行實驗仿真,并與FCM、AFCM、CH-CCFDAC、KF[2](Kalman Filter)、RLS[2](Recursive Least Squares)算法進行對比,采用的評價指標為:運行時間(Time)、融合誤差(Fusion error)、判別函數(shù)(CF)、正確率(Accuracy of correct fusion)。其中融合誤差是指融合值與真實值之間的誤差,本文采用歐氏距離進行度量;判別函數(shù)是指時間、殘差平方和、方差之間的算術(shù)平均值;正確率是指正確融合的個數(shù)與總樣本數(shù)量的比值。
實驗1:采用了UCI機器學(xué)習(xí)庫里的CCS(Concrete compressive strength)數(shù)據(jù)集,該數(shù)據(jù)集是由8個輸入變量和1個輸出變量組成。CCS數(shù)據(jù)集的總樣本數(shù)量是1 030,本文采取其中的100個數(shù)據(jù)來驗證HFCM算法的性能,由于這8個屬性具有不同的數(shù)據(jù)級與不同的屬性特征,因此需要對其主成分進行分析并歸一化。
采用HFCM算法在CCS數(shù)據(jù)集上進行實驗仿真,在聚類階段將其分為2類,將正常類的類中心作為最終的融合值,并與CH-CCFDAC、RLS、KF、AFCM、FCM算法進行對比,融合誤差如圖1所示,各項性能指標如表1所示。
圖1 6種算法在CCS數(shù)據(jù)集上的融合誤差
表1 6種算法在CCS上的各項指標值
從圖1可看出,在這100個測試案例中,HFCM算法的融合誤差的波動范圍最小。從整體上看,HFCM的融合誤差較小,因此HFCM的融合效果較好。從表1可看出,HFCM算法的融合誤差和CF值均比CH-CCFDAC、RLS、KF、AFCM、FCM的小,表明HFCM算法融合效果較好。與FCM、AFCM算法相比較,HFCM算法的運行時間更短,因此該算法所選的初始聚類中心起著很好的作用,是可行且有效的。
為了比較融合的正確率,本文選取以真實值為中心,閾值為0.15的鄰域,若融合值落在該鄰域內(nèi),則表示該融合結(jié)果是正確的。6種算法在CCS數(shù)據(jù)集上的正確率如表2所示。
表2 6種算法在CCS上正確率
從表2可看出,HFCM算法的正確融合的精度是80%,均比H-CCFDAC、RLS、KF、AFCM、FCM算法的精度高,因此HFCM算法的融合效果較好。
實驗2:采用UCI機器學(xué)習(xí)庫里的Heart數(shù)據(jù)集,該數(shù)據(jù)集總共有270個數(shù)據(jù),包括從75個較大的集合中提取的13個屬性,且彼此獨立,互不影響。
本文采取該數(shù)據(jù)集的55個數(shù)據(jù)來驗證HFCM算法的性能。利用HFCM算法在Heart數(shù)據(jù)集上進行實驗仿真,在聚類階段將其分為2類,將正常類的類中心作為最終的融合值,并與CH-CCFDAC、RLS、KF、AFCM、FCM算法進行對比,融合誤差如圖2所示,各項性能指標如表3所示。
表3 6種算法在Heart數(shù)據(jù)集上的各項指標值
圖2 6種算法在Heart數(shù)據(jù)集上的融合誤差
從圖2可看出,在這55個測試案例中,HFCM算法的融合誤差的波動范圍最小。從整體上看,HFCM的融合誤差最小,因此HFCM的融合效果較好。從表3可看出,HFCM算法的融合誤差和CF值均比CH-CCFDAC、RLS、KF、AFCM、FCM的小,因此HFCM算法融合效果較好。此外,HFCM算法的融合時間均較FCM、AFCM算法短,表明HFCM算法所選的初始聚類中心是可行有效的。
為了比較正確率,本文選取以真實值為中心、閾值為0.15的鄰域。則6種算法在Heart數(shù)據(jù)集上的正確率如表4所示。
表4 6種算法在Heart數(shù)據(jù)集上的正確率
從表4可看出,HFCM算法正確融合的精度 82%,遠高于CH-CCFDAC、RLS、KF、AFCM、FCM這5種算法,因此HFCM算法的融合效果較好,且適用于該數(shù)據(jù)集。
從實驗1與實驗2的融合結(jié)果中,可看出HFCM算法的融合效果要優(yōu)于CH-CCFDAC、RLS、KF、AFCM、FCM這5種算法,融合的時間不僅僅取決于數(shù)據(jù)點的數(shù)量,還取決于初始聚類中心的選取。在Heart數(shù)據(jù)集上,由AFCM算法進行模糊聚類,且預(yù)聚類數(shù)量為2,其它5種算法錯誤融合的數(shù)量超過了本文所提算法,原因是AFCM算法隨機初始化聚類中心使其陷入了局部最優(yōu),所以本文所提算法將改進的CH-CCFDAC算法與AFCM算法相結(jié)合是有效的。在CCS數(shù)據(jù)集上的融合結(jié)果也體現(xiàn)了這一點,初始聚類中心的選取對融合精度有很大的影響。
本文針對艦船的多種異質(zhì)傳感器基于不同的數(shù)據(jù)屬性而帶來的數(shù)據(jù)融合問題,提出了一種基于模糊聚類的混合多傳感器數(shù)據(jù)融合算法。首先采用改進的CH-CCFDAC算法自動確定初始聚類中心且選取高斯核函數(shù)來測量具有不同屬性的數(shù)據(jù)集的密度。然后,對于具有噪聲的數(shù)據(jù)集,將AFCM應(yīng)用于數(shù)據(jù)融合以快速實現(xiàn)融合。
為了測試HFCM、CH-CCFDAC、RLS、KF、AFCM、FCM算法的融合效果,本文選取了UCI機器學(xué)習(xí)庫中的2個數(shù)據(jù)集進行實驗仿真。為了綜合比較這6種算法的融合效果,本文選取了融合誤差、融合時間、正確率、CF值這4個評價指標。實驗結(jié)果表明,對于UCI機器學(xué)習(xí)庫中的2個數(shù)據(jù)集,HFCM算法優(yōu)于文獻[2]、[6]、[7]中提出的基于模糊聚類的其他融合算法,較好地解決了艦船異質(zhì)傳感器及其不同數(shù)據(jù)屬性的數(shù)據(jù)融合問題。