朱宗斌,陶劍鋒,葛輝良,鄭 佳
(中國(guó)船舶重工集團(tuán)公司第七一五研究所,浙江 杭州 310023)
聲吶是海軍進(jìn)行水下作戰(zhàn)的重要裝備,而聲吶目標(biāo)分類識(shí)別技術(shù)則是聲吶裝備的關(guān)鍵技術(shù)之一。目前較常用的目標(biāo)分類識(shí)別算法主要有反向傳播(Back Propagation,BP)神經(jīng)網(wǎng)絡(luò)、支持向量機(jī)(Support Vector Machine,SVM)、k最近鄰(k-Nearest Neighbor,KNN)分類等[1-2]。其中,最近鄰分類算法由于算法簡(jiǎn)單、容易理解和實(shí)現(xiàn)且分類效果較好,因此廣泛應(yīng)用于目標(biāo)分類識(shí)別中[3]。被動(dòng)聲吶主要依據(jù)探測(cè)到的目標(biāo)輻射噪聲進(jìn)行海上目標(biāo)分類識(shí)別,然而由于海洋環(huán)境復(fù)雜和水聲信道特殊,如何在艦船輻射噪聲中提取有效的特征一直是聲吶目標(biāo)識(shí)別的研究重點(diǎn)和難點(diǎn)。目前使用較多的特征提取方法有:時(shí)域特征提取、線譜特征提取、雙譜特征提取等[4-7]。在艦船輻射噪聲中螺旋槳節(jié)拍對(duì)艦船的輻射噪聲存在明顯的振幅調(diào)制,這種幅度調(diào)制信號(hào)攜帶著艦船的重要特征信息,這些特征信息能夠用來(lái)進(jìn)行目標(biāo)的分類識(shí)別。對(duì)艦船輻射噪聲求功率譜即可得到目標(biāo)功率譜特征,功率譜特征包括線譜特征和連續(xù)譜特征,這兩種特征廣泛應(yīng)用于聲吶目標(biāo)的分類和識(shí)別中[4,6-9]。
鑒于水中艦艇目標(biāo)低頻特征豐富,本研究基于提取得到的低頻功率譜譜線特征直接用于被動(dòng)聲吶目標(biāo)識(shí)別,但是由于直接提取得到的特征量維度過高,導(dǎo)致特征間相關(guān)性較大,不利于分類器的識(shí)別。特征選擇是一種基于對(duì)建模數(shù)據(jù)分類時(shí)提供最強(qiáng)預(yù)測(cè)能力特征子集的方法,有效的特征選擇方法可以降低特征空間的維度,提高對(duì)樣本集的正確識(shí)別率和識(shí)別效率?;趯?duì)自然界鳥群捕食行為的模擬,KENNEDY等[10]在1995年提出了粒子群優(yōu)化(Particle Swarm Optimization,PSO)搜索算法,在PSO中,每個(gè)粒子都有一個(gè)候選解,候選解的好壞由粒子所在位置對(duì)應(yīng)的適應(yīng)度值(fitness value)表示,粒子通過在空間中不斷運(yùn)動(dòng),利用粒子的適應(yīng)度函數(shù)值逐漸搜索到最優(yōu)位置,即找到較優(yōu)的候選解。本文基于二進(jìn)制粒子群優(yōu)化(Binary Particle Swarm Optimization,BPSO)算法結(jié)合KNN算法實(shí)現(xiàn)對(duì)功率譜特征的優(yōu)化選擇和k最近鄰(k-Nearest Neighbor,KNN)算法中k參數(shù)的優(yōu)化處理,并將算法優(yōu)化后的特征向量和參數(shù)輸入至KNN分類器中,實(shí)現(xiàn)對(duì)被動(dòng)聲吶目標(biāo)的分類識(shí)別。利用本文算法對(duì)4類實(shí)際海上目標(biāo)進(jìn)行分類,驗(yàn)證了該算法具有較好的特征優(yōu)化選擇能力和被動(dòng)聲吶目標(biāo)分類識(shí)別能力。
PSO提出之初,較多應(yīng)用于解決連續(xù)空間優(yōu)化問題[11]。它首先隨機(jī)初始化一群獨(dú)立粒子,粒子群中每個(gè)粒子的屬性由其具有的速度和位置兩個(gè)特征表示,速度特征即該粒子在迭代過程中需要移動(dòng)的位移,位置特征表示粒子候選解的值,粒子在迭代過程中使得初始粒子的速度和位置不斷變化,粒子位置的優(yōu)劣程度由適應(yīng)度函數(shù)衡量。根據(jù)計(jì)算的適應(yīng)度函數(shù),粒子通過尋找個(gè)體極值最優(yōu)解Pibest和全局極值最優(yōu)解Pgbest不斷更新位置。設(shè)在D維空間中有N個(gè)粒子構(gòu)成的粒子群,第i個(gè)粒子在D維解空間的速度和位置分別表示為vid=(vi1,vi2,??viD),xid=(xi1,xi2,??xiD),其中,i=1,2,??,N,其搜索的個(gè)體最優(yōu)位置和全局最優(yōu)位置記為pid=(pi1,pi2,??piD),pg=(pg1,pg2,??pgD),則粒子群算法的速度和位置更新公式可表達(dá)為
式(1)中:w為慣性系數(shù),表示前次經(jīng)歷速度對(duì)當(dāng)前速度的影響程度;c1和c2是學(xué)習(xí)因子,均為非負(fù)常數(shù),可以反映粒子群間的信息共享和交互;r1和r2為分布在[0,1]區(qū)間的隨機(jī)值。
由于PSO算法主要應(yīng)用于連續(xù)空間的優(yōu)化,1997年Kennedy等[12]提出了針對(duì)離散問題的二進(jìn)制粒子群優(yōu)化(BPSO)算法。在BPSO中,粒子的速度和位置均是從概率的角度來(lái)定義的,粒子群中每一個(gè)粒子的位置都被限定為0或1,0或1位置的選擇由粒子速度來(lái)決定,粒子速度的變化大小決定了粒子位置的翻轉(zhuǎn)概率,粒子速度一般利用sigmoid函數(shù)限定在[0,1]區(qū)間內(nèi),則BPSO位置更新公式為
式(3)中,r為范圍在[0,1]區(qū)間的隨機(jī)數(shù)。
在BPSO算法求解中,c1和c2兩個(gè)學(xué)習(xí)因子影響著個(gè)體粒子和整個(gè)粒子群之間的信息交互。若c1比較大,粒子對(duì)個(gè)體信息較為重視,粒子在更新時(shí)會(huì)更多地向個(gè)體極值最優(yōu)解Pibest學(xué)習(xí),粒子的全局搜索能力較強(qiáng);若c2值比較大,粒子的更新更容易受到全局極值最優(yōu)解Pgbest影響,粒子局部搜索能力增強(qiáng),因而容易較早陷入局部收斂。針對(duì)此種情況,RATNAWEERA等[13]提出一種學(xué)習(xí)因子改進(jìn)調(diào)整方法,即c1在算法過程中,由初始的較大值逐漸調(diào)整為較小值,而c2則由初始的較小值調(diào)整為后期的較大值。c1、c2在整個(gè)迭代過程中的變化可表示為
式中,c1b和c1e分別表示c1的初始值和最終值,c2b和c2e分別表示c2的初始值和最終值,i和M分別表示當(dāng)前迭代次數(shù)和最大迭代次數(shù)。
本文算法中,每個(gè)粒子的結(jié)構(gòu)由參數(shù)k和特征掩碼兩部分構(gòu)成,其中參數(shù)k即KNN算法中的k參數(shù),即該樣本通過距離其最近的k個(gè)樣本數(shù)據(jù)來(lái)對(duì)其屬性進(jìn)行判斷,特征掩碼是一組二進(jìn)制組合,表示該特征選中與否。粒子設(shè)計(jì)形式如表1所示。
表1 BPSO-KNN算法粒子設(shè)計(jì)Table 1 Swarm design of BPSO-KNN algorithm
表1中,前面nk位代表參數(shù)k,其十進(jìn)制值的表達(dá)可利用下式進(jìn)行轉(zhuǎn)換:
式中,dmin表示k參數(shù)的最小值,dmax表示k參數(shù)的最大值,p和d分別表示二進(jìn)制位組合的長(zhǎng)度以及該組合代表的十進(jìn)制值,根據(jù)需要可對(duì)參數(shù)的精度和范圍進(jìn)行設(shè)定。余下nF位表示特征掩碼,1和0分別代表該特征被選擇和未被選擇,因此,不同的特征組合即對(duì)應(yīng)不同的二進(jìn)制組合。
適應(yīng)度函數(shù)是衡量粒子構(gòu)成優(yōu)劣的重要標(biāo)準(zhǔn),本文中適應(yīng)度函數(shù)值的大小由兩部分內(nèi)容決定,即KNN分類算法的正確分類率和被選中特征的數(shù)量,一般來(lái)說,一個(gè)粒子較低的特征維度和較高的分類正確率所對(duì)應(yīng)的適應(yīng)度函數(shù)值較為理想,因此,本文BPSO-KNN算法中的適應(yīng)度函數(shù)值可表達(dá)為
式中,wF和wc分別表示所用特征個(gè)數(shù)的權(quán)重和KNN對(duì)測(cè)試樣本集分類正確率的權(quán)重,F(xiàn)i代表特征位串對(duì)應(yīng)的值,即0或者1。
BPSO-KNN算法流程圖如圖1所示,算法步驟如下:
(1)粒子群初始化,包括確定粒子群個(gè)數(shù)、算法迭代次數(shù)、粒子速度范圍、粒子群各參數(shù)等。
(2)根據(jù)粒子結(jié)構(gòu)將每個(gè)粒子的二進(jìn)制表達(dá)表征為BPSO-KNN的參數(shù)k和特征子集。
(3)對(duì)樣本集目標(biāo)進(jìn)行KNN分類,計(jì)算粒子群中各粒子適應(yīng)度值,選出并更新粒子個(gè)體極值最優(yōu)值Pibest和全局極值最優(yōu)值Pgbest。
(4)判斷算法結(jié)束條件,本文即判斷是否達(dá)到最大迭代次數(shù),如果達(dá)到最大迭代次數(shù)則輸出結(jié)果并結(jié)束,則此時(shí)全局最優(yōu)位置即參數(shù)k和特征組合最優(yōu)狀態(tài),輸出內(nèi)容主要包括參數(shù)k、最優(yōu)特征組合和測(cè)試樣本集正確分類率。若未達(dá)到最大迭代次數(shù),則繼續(xù)進(jìn)行步驟(5)迭代計(jì)算。
(5)繼續(xù)迭代計(jì)算,根據(jù)公式(1)、(3)更新粒子的速度和位置,同時(shí)根據(jù)公式(5)、(6)調(diào)整學(xué)習(xí)因子c1和c2。并返回步驟(2)繼續(xù)算法過程。
艦船輻射噪聲由線譜和連續(xù)譜組成,若艦船噪聲隨機(jī)過程用{S(t)}表示,則船舶噪聲周期性局部平穩(wěn)過程模型[14]可表示為
圖1 算法流程圖Fig.1 Flowchart of the BPSO-KNN algorithm
式中,x(t)表示窄帶平穩(wěn)白色高斯隨機(jī)過程,m(t)表示調(diào)制函數(shù),是慢變化周期信號(hào),S(t)為周期性局部平穩(wěn)高斯隨機(jī)過程。
艦船輻射噪聲功率譜可用下式表達(dá)為
式中,T是傅里葉變換時(shí)每段截取的信號(hào)長(zhǎng)度,M為該信號(hào)段對(duì)應(yīng)編號(hào),E是集合求平均。式(10)是艦船輻射噪聲譜在數(shù)學(xué)模型下較為嚴(yán)格的定義,該過程需要截取無(wú)窮多個(gè)信號(hào)段,并且每段截取的信號(hào)長(zhǎng)度都趨于無(wú)窮。在實(shí)際應(yīng)用中,往往只能作有限長(zhǎng)信號(hào)的集合平均。在利用目標(biāo)的功率譜譜線特征進(jìn)行目標(biāo)識(shí)別時(shí),較高的頻率分辨率有利于目標(biāo)識(shí)別,但是考慮到實(shí)際的物理特征和應(yīng)用需求,本文目標(biāo)的時(shí)域單波束數(shù)據(jù)采樣率Fs=5 000 Hz,傅里葉變換點(diǎn)數(shù)取4 096,即頻率分辨率Δf≈1.22 Hz。選取被動(dòng)聲吶目標(biāo)功率譜特征區(qū)間為[5,90]Hz,由于本文直接將區(qū)間內(nèi)的功率譜作為特征向量,因此共得到70維特征向量。
由于直接求得的功率譜特征各目標(biāo)的可比性較差,因此首先對(duì)樣本集各維功率譜特征進(jìn)行預(yù)處理。預(yù)處理包括特征歸一化和野值去除兩個(gè)步驟。
本文均是提取得到的功率譜特征,特征量綱相同,考慮到后續(xù)繼續(xù)加入其它量綱不一致并且差別較大的特征,若對(duì)每個(gè)樣本進(jìn)行所有特征歸一化,就會(huì)導(dǎo)致較大數(shù)值的特征掩蓋掉較小數(shù)值特征的變化,此時(shí)進(jìn)行分類,較小特征的變化可能被忽略掉,不利于分類器的識(shí)別,因而本文采取對(duì)各維功率譜特征分別進(jìn)行歸一化預(yù)處理。
本文采取的預(yù)處理公式為
式中,x表示直接求得的功率譜特征量,x*表示歸一化后的特征量,min(x)表示該特征量的最小值,max(x)表示該特征量的最大值。m和σ分別表示對(duì)式(11)歸一化后的特征量x*求均值和求均方差處理,xnew表示預(yù)處理后的特征量。
隨機(jī)選取4類海上被動(dòng)聲吶目標(biāo)共7 776個(gè)樣本數(shù)據(jù),其中目標(biāo)1為水下目標(biāo),其它3類為水面艦船目標(biāo),每類目標(biāo)各1 944個(gè)樣本,對(duì)于目標(biāo)時(shí)域單波束數(shù)據(jù),選取0.819 2 s時(shí)間長(zhǎng)度信號(hào)作為單個(gè)樣本原始數(shù)據(jù),對(duì)選取的時(shí)間長(zhǎng)度數(shù)據(jù)求取功率譜特征,對(duì)每個(gè)樣本目標(biāo)提取得到的功率譜特征都首先利用式(11)、(12)進(jìn)行特征預(yù)處理。隨機(jī)選取5 832個(gè)樣本作為KNN分類器的訓(xùn)練數(shù)據(jù),余下1 944個(gè)樣本作為分類器的測(cè)試數(shù)據(jù)用來(lái)驗(yàn)證本文算法的有效性。4類目標(biāo)在訓(xùn)練數(shù)據(jù)和測(cè)試數(shù)據(jù)中所占個(gè)數(shù)如表2中所示。
對(duì)訓(xùn)練樣本集和測(cè)試樣本集進(jìn)行70維特征處理,得到的均值和均方差值如圖2所示。
圖2中,分別給出了訓(xùn)練樣本集和測(cè)試樣本集的均值和均方差值,其中橫坐標(biāo)表示頻率維度,縱坐標(biāo)表示數(shù)值幅度。
隨機(jī)挑選4個(gè)不同種類的目標(biāo)樣本,按照式(11)、(12)特征預(yù)處理后的70維功率譜特征譜線如圖3所示。
圖2 樣本集均值和均方差值Fig.2 Mean value and standard deviation value of sample set
圖3 預(yù)處理后的功率譜特征譜線Fig.3 Power spectral characteristics after preprocessing
結(jié)合多次實(shí)驗(yàn)結(jié)果,BPSO-KNN算法中各參數(shù)設(shè)置如下:粒子群個(gè)數(shù)取30,算法最大迭代次數(shù)M=20,參數(shù)k的位串個(gè)數(shù)nk=20,特征量位串個(gè)數(shù)nF=70,即算法解空間維數(shù)D=90,粒子速度初始范圍取[-5,5],慣性權(quán)值w=1,若c1、c2均取固定值,則算法容易陷入局部收斂導(dǎo)致分類器的正確識(shí)別率降低,故式(5)、(6)中的c1b=2.75,c1e=1.25,c2b=0.5,c2e=2.25,通過對(duì)c1、c2的調(diào)整進(jìn)而實(shí)現(xiàn)對(duì)粒子速度的調(diào)節(jié),防止算法陷入局部收斂,式(8)中權(quán)值wF=0.2,wc=0.8,KNN分類算法中k∈[1,100]。最近鄰分類器采用歐氏距離(Euclidean distance)作為距離衡量,分類器的正確識(shí)別率由式(13)表示:
式中,n表示對(duì)該類別目標(biāo)正確分類的個(gè)數(shù),N表示該類別目標(biāo)的總個(gè)數(shù)。
直接利用KNN分類算法和本文算法分類的結(jié)果對(duì)比如表2所示。
表2中,KNN算法識(shí)別所用特征個(gè)數(shù)為原始功率譜特征70個(gè),參數(shù)k取推薦值1,BPSO-KNN算法中經(jīng)過特征選擇后所用特征個(gè)數(shù)為24個(gè),算法優(yōu)化后參數(shù)值k=21。由表2結(jié)果可以看出,在大幅優(yōu)化特征維度的情況下,本文算法對(duì)4類聲吶目標(biāo)的正確識(shí)別率分別較KNN算法提高了23.51%,9.72%,3.02%,1.14%;對(duì)4個(gè)目標(biāo)的總正確識(shí)別率BPSO-KNN算法較KNN算法提高了8.60%。并且不難看出,直接利用KNN算法進(jìn)行分類識(shí)別時(shí),對(duì)4個(gè)不同目標(biāo)的識(shí)別能力差別較大;而本文所提算法對(duì)各個(gè)目標(biāo)的識(shí)別能力相當(dāng)。因此,BPSOKNN不僅大幅優(yōu)化了特征向量,提高了目標(biāo)分類識(shí)別效率,而且增加了對(duì)各個(gè)目標(biāo)的正確識(shí)別率,驗(yàn)證了本文算法在被動(dòng)聲吶目標(biāo)識(shí)別上的有效性。
表2 KNN算法與BPSO-KNN算法分類結(jié)果對(duì)比Table 2 Comparison of recognition results between KNN and BPSO-KNN algorithm
本文提出一種基于二進(jìn)制粒子群優(yōu)化(BPSO)算法和最近鄰(KNN)分類算法相結(jié)合的BPSO-KNN算法,實(shí)現(xiàn)對(duì)被動(dòng)聲吶目標(biāo)功率譜特征的降維優(yōu)化處理。該算法將分類器參數(shù)和特征量粒子化,通過粒子群的不斷變化來(lái)對(duì)KNN參數(shù)進(jìn)行優(yōu)化和搜尋較優(yōu)的特征組合。實(shí)驗(yàn)表明,BPSOKNN算法可對(duì)KNN進(jìn)行參數(shù)優(yōu)化和對(duì)功率譜特征進(jìn)行降維優(yōu)化處理,提高對(duì)目標(biāo)的分類識(shí)別率。該算法對(duì)被動(dòng)聲吶目標(biāo)的自動(dòng)識(shí)別分類有參考價(jià)值。