郭 政,趙 梅,胡長(zhǎng)青
(1. 中國(guó)科學(xué)院聲學(xué)研究所東海研究站,上海201815;2. 中國(guó)科學(xué)院大學(xué),北京100049)
在水聲目標(biāo)的識(shí)別問題中,提取更多的特征是提高目標(biāo)識(shí)別率的主要方法之一。較高的特征維度包含更為豐富的信息量,可以提高問題描述的準(zhǔn)確性。但與此同時(shí),高維特征的冗余信息會(huì)影響算法的速度,甚至有可能降低目標(biāo)識(shí)別準(zhǔn)確率。因此,根據(jù)所需識(shí)別數(shù)據(jù)特性對(duì)特征進(jìn)行選擇以降低特征維度是有必要的。
遍歷所有特征空間得到最優(yōu)特征子集的窮舉搜索方法是最基礎(chǔ)的特征選擇算法。但窮舉方法效率低下,在面對(duì)高維特征向量時(shí)計(jì)算量巨大。因此需要采取更高效的算法進(jìn)行特征選擇。
通常,特征選擇算法可分為過濾式(Filter)算法與封裝式(Wrapper)兩類算法[1],兩者主要區(qū)別為,F(xiàn)ilter方法獨(dú)立于分類識(shí)別算法,其優(yōu)點(diǎn)在于以較小計(jì)算量的代價(jià)減少特征維數(shù),但并不能保證結(jié)果用于分類識(shí)別的準(zhǔn)確率[2];Wrapper方法則以分類識(shí)別算法的準(zhǔn)確率來評(píng)價(jià)算法性能,雖然計(jì)算量較大但準(zhǔn)確率較高[3]。在水聲目標(biāo)識(shí)別應(yīng)用中,Wrapper方法作為基礎(chǔ)的特征選擇算法更為適合。
Wrapper方法中一個(gè)關(guān)鍵問題是如何生成待檢驗(yàn)特征子集。近年來,學(xué)界對(duì)此進(jìn)行了大量研究,例如遺傳算法、差分進(jìn)化算法、粒子群算法、蟻群算法以及模擬其他生物種群行為算法等均可應(yīng)用于生成、搜索特征子集。Lin等[4]將貓群算法(Cat Swarm Optimization, CSO)應(yīng)用于參數(shù)優(yōu)化與特征選擇。張震等[1]將改進(jìn)的粒子群算法與禁忌搜索結(jié)合應(yīng)用于入侵檢測(cè)系統(tǒng)特征選擇。Guyon等[5]在應(yīng)用基因選擇研究癌癥時(shí)提出支持向量機(jī)遞歸特征消除(Support Vector Machine Recursive Feature Elimination, SVM-RFE)算法。Yan等[6]、葉小泉等[7]將其分別與聚類方法等結(jié)合應(yīng)用于特征選擇。但各種算法也存在其固有局限性。遺傳算法局部搜索性能較差[8],差分進(jìn)化算法難以處理噪聲問題[9],粒子群算法在算法后期易于陷入局部最優(yōu)解[10],蟻群算法復(fù)雜度較高[11],同屬 Wrapper方法的 SVM-RFE能以一定規(guī)則對(duì)特征進(jìn)行排序和選擇,實(shí)現(xiàn)特征降維,但難以有效識(shí)別冗余特征,因而只能有限度地提高目標(biāo)識(shí)別準(zhǔn)確率[5]。
本文提出一種結(jié)合SVM-RFE和CSO的特征選擇方法,即SVM-RFE-CSO方法。貓群算法是在粒子群算法(Particle Swarm Optimization, PSO)的基礎(chǔ)上發(fā)展而來的,將種群分為跟蹤及搜尋兩種行為模式,通過多次迭代進(jìn)行尋優(yōu)。CSO的兩種工作模式利用變異算子對(duì)自身位置周圍進(jìn)行搜索,并根據(jù)最優(yōu)解位置不斷更新貓的當(dāng)前位置,以跳出局部最優(yōu)進(jìn)而得到全局最優(yōu)解[12],適合彌補(bǔ)SVM-RFE難以有效識(shí)別冗余特征的局限性。因此,將 CSO與SVM-RFE進(jìn)行結(jié)合,并將其應(yīng)用于水聲目標(biāo)識(shí)別的特征選擇中,可取得較好的效果。
Guyon等[5]對(duì)SVM進(jìn)行綜合考察,在此基礎(chǔ)上提出對(duì)特征進(jìn)行排序的SVM-RFE特征選擇算法。SVM核心思想是建立一個(gè)決策曲面[13]:
以最大化分類間隔。在非線性情況下,引入松弛變量,目標(biāo)函數(shù)可表示為
若移除第i個(gè)特征,對(duì)目標(biāo)函數(shù)的影響根據(jù)泰勒展開有:
則對(duì)于目標(biāo)函數(shù)J的最優(yōu)解,可只考慮二階,因此有:
故在決策函數(shù)中特征的權(quán)值w大小表示了其包含信息量的多少,在SVM-RFE中則以w2表示特征的重要程度,作為特征排序的依據(jù)。SVM-RFE算法的流程如圖1所示。
圖1 SVM-RFE算法流程圖Fig.1 Flow chart of the SVM-RFE algorithm
圖1中,S表示當(dāng)前特征列表索引序列,R表示執(zhí)行完畢后輸出的特征排序列表索引序列,?表示空集。R中特征權(quán)值依次遞減,根據(jù)特征重要性對(duì)其進(jìn)行排序。本文在此基礎(chǔ)上做進(jìn)一步處理,根據(jù)R定義一組特征子集F1,··,Fm,其中前一個(gè)子集含于后一個(gè)子集中,且第m個(gè)子集包含權(quán)值最高的m個(gè)特征,即F1包含最重要的特征參數(shù),F(xiàn)2包含最重要及次重要的特征參數(shù),以此類推。之后綜合考慮識(shí)別準(zhǔn)確率及對(duì)特征維數(shù)的需求選出特征子集,完成特征選擇。在目標(biāo)識(shí)別中,本文采用SVM作為目標(biāo)識(shí)別分類器,將特征選擇后確定維度的特征向量由原始空間映射到高維空間,并在高維空間構(gòu)造決策函數(shù),以RBF核函數(shù)替代內(nèi)積來簡(jiǎn)化運(yùn)算。
SVM-REF特征選擇算法以特征對(duì)分類器的作用為依據(jù)計(jì)算特征權(quán)重,但對(duì)特征本身是否冗余欠缺考量[14]。在實(shí)際應(yīng)用中,存在經(jīng)過SVM-REF選擇后的M維非連續(xù)特征較N維連續(xù)特征的目標(biāo)識(shí)別率沒有提升的情況(M<N,且特征按重要性由高至低選取)。因此,SVM-REF特征選擇算法在降低特征維數(shù)和選擇較高識(shí)別率的特征子集方面均有所局限,并不能給出最優(yōu)解,需加以改進(jìn)。
貓群算法通過模仿自然界中貓群的行為,將其行為模式分為跟蹤模式及搜尋模式,通過定義兩者的比例關(guān)系(Mixture Ratio, MR)確定貓的分配模式進(jìn)行尋優(yōu)[15]。算法流程如圖2所示。
圖2 貓群算法流程圖Fig.2 Flow chart of the CSO algorithm
圖2中,搜尋模式設(shè)定4個(gè)基本要素:記憶池(Seeking Memory Pool, SMP)、搜尋維度范圍(Seeking Range of the Selected Dimension, SDR)、維度改變量(Counts of Dimension to Change, CDC)、自身位置判斷(Self Position Consideration, SPC)。首先創(chuàng)建N=PSM個(gè)當(dāng)前貓的位置副本,根據(jù)SPC值確定SMP中保留的候選位置,再由CDC值對(duì)每個(gè)副本加或減,根據(jù) SDR以一定比例確定增減值以替換其位置值,并根據(jù)式(5)計(jì)算待選位置可能性,之后據(jù)此選擇位置點(diǎn)替換當(dāng)前貓的位置。
式中,Pi為待選位置可能性;FS,i為適應(yīng)度;FS-best為最優(yōu)適應(yīng)度;PSM為記憶池個(gè)數(shù)。
根據(jù)MR確定分配模式后,對(duì)分配搜尋模式的個(gè)體標(biāo)志位置 1。跟蹤模式則是根據(jù)全局最優(yōu)位置更新貓當(dāng)前速度,然后根據(jù)新的速度確定貓的當(dāng)前位置。速度及位置更新方法如式(6)、(7)所示:
式(6)、(7)中:xl,d表示貓l第d維的當(dāng)前位置,xbest,d表示貓群中最大適應(yīng)度第d維的對(duì)應(yīng)的位置點(diǎn),r1為常量,c1表示通常取值范圍為[0, 1]的變量,貓群總維度為D,d≤D。
SVM-RFE算法在實(shí)現(xiàn)有效降維的同時(shí)存在一個(gè)缺陷,即難以較好地利用冗余特征,因而最后篩選出的特征子集未必是最優(yōu)性能特征子集。本文利用CSO搜索最優(yōu)解的能力,對(duì)SVM-RFE加以改進(jìn)。改進(jìn)后算法流程如圖3所示。
圖3 SVM-RFE-CSO算法流程圖Fig.3 Flow chart of the SVM-RFE-CSO algorithm
SVM-RFE-CSO算法實(shí)際分兩步進(jìn)行特征選擇。首先進(jìn)行 SVM-RFE,篩選出部分優(yōu)秀特征子集作為部分初始種群,并加入隨機(jī)生成種群個(gè)體作為初始種群,而后應(yīng)用 CSO 進(jìn)行迭代計(jì)算,選出最優(yōu)特征子集,完成特征選擇。
在判斷每次迭代生成的新的個(gè)體是否更優(yōu)時(shí),可應(yīng)用適應(yīng)度函數(shù)對(duì)其進(jìn)行評(píng)價(jià)。通常適應(yīng)度函數(shù)ffit由目標(biāo)識(shí)別準(zhǔn)確率與特征維數(shù)兩個(gè)變量來確定:
式(8)中:ffit表示適應(yīng)度函數(shù),Rauc表示目標(biāo)識(shí)別準(zhǔn)確率,ddim表示特征選擇后的特征維數(shù),A、B分別為目標(biāo)識(shí)別準(zhǔn)確率和特征維數(shù)的權(quán)重參數(shù)。在評(píng)價(jià)迭代后的個(gè)體時(shí),目標(biāo)識(shí)別準(zhǔn)確率與特征維數(shù)并非兩個(gè)孤立的變量,因而為保證兩者關(guān)聯(lián)性,將式(8)修正為式(9):
本文進(jìn)行特征選擇的目的為在保證目標(biāo)識(shí)別準(zhǔn)確率的基礎(chǔ)上對(duì)特征降維,以選出最佳特征子集作為目標(biāo)識(shí)別的特征向量,故在參考其他工作[1]的基礎(chǔ)上選取A=0.95進(jìn)行計(jì)算。
為直觀說明SVM-RFE算法及CSO算法在本文算法中所起到的作用,以羅德島大學(xué)等機(jī)構(gòu)公開的“Discovery of Sound in the Sea-Anthropogenic Sounds”數(shù)據(jù)[16]為例,分別應(yīng)用 SVM-RFE、CSO及SVM-RFE-CSO方法進(jìn)行特征選擇,將得到的特征向量應(yīng)用于目標(biāo)識(shí)別,并對(duì)比識(shí)別結(jié)果。
所使用的數(shù)據(jù)集包括4類共170個(gè)樣本,樣本特征向量維數(shù)m=10。圖4為應(yīng)用SVM-RFE進(jìn)行特征選擇的結(jié)果,對(duì)應(yīng)維數(shù)的識(shí)別準(zhǔn)確率表示經(jīng)SVM-RFE處理后由排序靠前的m個(gè)特征組成的特征子集識(shí)別準(zhǔn)確率。當(dāng)m=6時(shí),準(zhǔn)確率為90.70%,達(dá)到最高值??梢奡VM-RFE能快速得出優(yōu)秀的特征子集,起到特征降維效果。圖5為應(yīng)用CSO及SVM-RFE-CSO進(jìn)行特征選擇的結(jié)果。由圖5可知,兩者識(shí)別準(zhǔn)確率均隨迭代次數(shù)上升而升高,CSO 方法依次達(dá)到 86.05%、88.37%和 90.70%,SVM-RFE-CSO方法快速達(dá)到 90.70%后即不再升高??梢?CSO能起到跳出局部最優(yōu)值繼續(xù)尋優(yōu)的作用,SVM-RFE-CSO相比CSO可更快達(dá)到最優(yōu)值。此外,數(shù)據(jù)集原始特征維數(shù)較低會(huì)使計(jì)算過程更簡(jiǎn)單,這也說明SVM-RFE-CSO在特征維數(shù)較高、計(jì)算過程更復(fù)雜的情況下才具有更明顯的優(yōu)勢(shì),在第4節(jié)中將重點(diǎn)分析該種情況。
圖4 識(shí)別準(zhǔn)確率隨特征維數(shù)變化(處理數(shù)據(jù)取自文獻(xiàn)[16])Fig.4 The variation of recognition accuracy with the dimension of feature vectors (processed data from Ref. [16])
圖5 識(shí)別準(zhǔn)確率隨迭代次數(shù)變化(處理數(shù)據(jù)取自文獻(xiàn)[16])Fig.5 The variation of recognition accuracy with the number of iterations (processed data from Ref. [16])
此外,在尋優(yōu)計(jì)算過程中對(duì)適應(yīng)度函數(shù)中權(quán)重系數(shù)A的取值進(jìn)行了驗(yàn)證,取A=1時(shí)可保證特征選擇后識(shí)別準(zhǔn)確率達(dá)最高值 90.70%,因此在后續(xù)的計(jì)算中取A=1。
為驗(yàn)證算法在水聲目標(biāo)識(shí)別中的應(yīng)用效果,選取2018年6月某次取的6種艦船輻射噪聲信號(hào)進(jìn)行目標(biāo)識(shí)別。
首先進(jìn)行樣本的特征提取。信號(hào)采樣頻率為32 kHz,6種不同水聲目標(biāo)均取100段時(shí)長(zhǎng)為 s的信號(hào)作為樣本。數(shù)據(jù)集具體信息如表1所示。
表1 水聲目標(biāo)(船只)輻射噪聲樣本信息Table 1 Sample information of radiation noise from underwater acoustic targets (ships)
梅爾頻率倒譜系數(shù)(Mel-Frequency Cepstral MFCC)是一種基于人耳聽覺特性的目標(biāo)特征參數(shù),其在頻域上以Mel頻譜為標(biāo)度,模擬了人耳聽覺對(duì)頻率識(shí)別的非線性特點(diǎn),并描述了目標(biāo)輻射噪聲在不同頻段上的聲學(xué)特性[17]。
MFCC的提取首先要經(jīng)過數(shù)據(jù)預(yù)處理,將信號(hào)分幀加窗,而后經(jīng) FFT計(jì)算出每幀數(shù)據(jù)的頻譜參數(shù),并將每幀頻譜參數(shù)通過數(shù)量為M的三角帶通濾波器組成的Mel頻率濾波器組,之后對(duì)每個(gè)濾波器輸出取對(duì)數(shù),得到M個(gè)對(duì)數(shù)能量參數(shù)S(m),m= 1 ,2,···,M。最后對(duì)這些參數(shù)做離散余弦變換,即得到目標(biāo)的MFCC,如式(10)所示[18]:
圖6所示即為不同水聲目標(biāo)輻射噪聲的MFCC計(jì)算結(jié)果,其中圖6(a)~6(f)分別對(duì)應(yīng)表1中不同的水聲目標(biāo)??梢姡煌N類水聲目標(biāo)的MFCC存在差異,可作為目標(biāo)識(shí)別的依據(jù)。將MFCC按幀數(shù)求平均,結(jié)果如圖7所示。對(duì)比圖7(a)~7(f)可見不同種類水聲目標(biāo)的 MFCC求幀數(shù)平均后依然保持了較好的區(qū)分度,因此,計(jì)算水聲目標(biāo)輻射噪聲的30維MFCC幀數(shù)平均作為特征向量,用于特征選擇及目標(biāo)分類識(shí)別實(shí)驗(yàn)。
圖6 不同水聲目標(biāo)輻射噪聲的MFCCFig.6 MFCC of different underwater acoustic targets
圖7 不同水聲目標(biāo)輻射噪聲的MFCC幀數(shù)平均Fig.7 MFCCs’ frame average of different underwater acoustic targets
在水聲目標(biāo)識(shí)別的實(shí)際應(yīng)用場(chǎng)景中,通常在進(jìn)行由原始信號(hào)提取目標(biāo)信號(hào)的處理后也難以完全消除本底噪聲干擾。通過控制信噪比RSN對(duì)信號(hào)添加背景噪聲來模擬這種情況:
式(11)中:vnoise表示噪聲時(shí)域幅值,vsignal表示信號(hào)時(shí)域幅值。在后續(xù)處理過程中,對(duì)艦船輻射噪聲樣本添加高斯噪聲至RSN=0 dB。
經(jīng)SVM-RFE特征選擇后,輸出最優(yōu)特征子集維度的選擇對(duì)下一步特征選擇及分類結(jié)果有一定影響[14]。為分析經(jīng)SVM-RFE特征選擇后得出的特征子集對(duì)算法結(jié)果的影響,分別應(yīng)用 SVM-RFE、CSO、SVM-RFE-CSO算法進(jìn)行特征選擇,結(jié)果如圖8、9所示。
圖8 高斯噪聲背景下水聲目標(biāo)識(shí)別準(zhǔn)確率隨特征維數(shù)變化Fig.8 The variation of underwater acoustic target recognition accuracy with the dimension of feature vectors under Gaussian noise background
由圖8可見,目標(biāo)識(shí)別準(zhǔn)確率與經(jīng)SVM-RFE特征選擇后的特征子集維度m大致呈正相關(guān),但并非特征子集維度越大目標(biāo)識(shí)別準(zhǔn)確率越高。m<16時(shí)目標(biāo)識(shí)別準(zhǔn)確率隨特征子集維度m的增加而升高,當(dāng)m=16時(shí)準(zhǔn)確率即達(dá)到最大值,而m>16時(shí)準(zhǔn)確率隨特征子集維度m的增加而呈降低趨勢(shì)。據(jù)此可判定前 16維特征中包含了可用于目標(biāo)識(shí)別的大部分有效信息,但不排除另外14維特征中也包含對(duì)準(zhǔn)確識(shí)別目標(biāo)有正向作用的有效信息。因此,在SVM-RFE特征選擇后續(xù)處理中特征子集最高維度可由此確定,并剔除排序靠后的特征。
圖9為CSO算法與SVM-RFE-CSO算法進(jìn)行特征選擇過程中每一代最優(yōu)特征子集的目標(biāo)識(shí)別準(zhǔn)確率。可見經(jīng)過相同次數(shù)的迭代,SVM-RFE-CSO算法相比 CSO算法,因初始特征子集更優(yōu)而達(dá)到了更高的目標(biāo)識(shí)別準(zhǔn)確率。
圖9 高斯噪聲背景下水聲目標(biāo)識(shí)別準(zhǔn)確率隨迭代次數(shù)變化Fig.9 The variation of underwater acoustic target recognition accuracy with the number of iterations under Gaussian noise background
為了說明 SVM-RFE-CSO算法性能是否有改進(jìn),在Intel i5-9330H CPU、8G RAM的計(jì)算機(jī)環(huán)境下,取每一代個(gè)體數(shù)N=20、迭代次數(shù)I=50作為參數(shù)組合1,取N=5、I=30作為參數(shù)組合2,分別重復(fù)10次特征選擇實(shí)驗(yàn),結(jié)果如表2所示。由表2中的結(jié)果可見,經(jīng)SVM-RFE處理及參數(shù)組合1、2情況下CSO算法處理后得出的10次平均準(zhǔn)確率分別提高了5.52、5.71和3.13個(gè)百分點(diǎn),最優(yōu)子集維數(shù)分別下降了14、15.6和15.8;參數(shù)組合1情況下SVM-RFE-CSO處理后得出的 10次平均準(zhǔn)確率相比SVM-RFE算法及CSO算法分別提高了1.17、0.98個(gè)百分點(diǎn);參數(shù)組合2情況下SVM-RFE-CSO處理后得出的10次平均準(zhǔn)確率相比 SVM-RFE算法及CSO算法分別提高了21.48、3.87個(gè)百分點(diǎn),最優(yōu)子集維數(shù)分別下降3.5、1.9和0.6、-1.2,而參數(shù)組合1、2情況下SVM-RFE-CSO算法10次平均用時(shí)為121.62 s和17.50 s,相比CSO算法10次平均用時(shí)118.60 s和17.67 s差距很小。綜合考慮兩種參數(shù)組合,對(duì)比本文提出的方法和分別單獨(dú)使用SVM-RFE方法及CSO方法,文中提出的方法在平均特征維數(shù)降低 8%的基礎(chǔ)上,平均目標(biāo)識(shí)別率提高了1.88%。在排除了隨機(jī)性的前提下,算法性能得到了提升。對(duì)比兩種參數(shù)組合情況可知,通過調(diào)整參數(shù),可改變SVM-RFE-CSO特征算法的降維效果、選出特征子集的識(shí)別準(zhǔn)確率和計(jì)算時(shí)長(zhǎng),其綜合性能優(yōu)于單一CSO算法和SVM-RFE算法。
表2 未經(jīng)選擇全部特征及不同處理方法10次平均結(jié)果對(duì)比Table 2 Comparison of 10-time average results of all features and different processing methods
本文在分析SVM-RFE算法及CSO算法的基礎(chǔ)上,針對(duì)SVM-RFE特征選擇方法難以有效識(shí)別冗余特征的局限性,提出了一種結(jié)合兩者優(yōu)勢(shì)的特征選擇算法。
文中提出的算法利用 CSO算法的尋找全局最優(yōu)的特點(diǎn),解決SVM-REF算法中特征維數(shù)降低及目標(biāo)識(shí)別準(zhǔn)確率提高有限的問題,在保證目標(biāo)識(shí)別準(zhǔn)確率的前提下,實(shí)現(xiàn)有效降維。此外,通過水聲目標(biāo)識(shí)別實(shí)驗(yàn)進(jìn)行了驗(yàn)證,改進(jìn)后的 SVM-REFCSO特征選擇算法相比于單一 SVM-RFE算法及CSO算法,均提高了目標(biāo)識(shí)別準(zhǔn)確率,且相比CSO算法并未大幅提高運(yùn)算時(shí)長(zhǎng)。最后,本文提出的特征選擇算法除有效降低特征向量維度、提高目標(biāo)識(shí)別準(zhǔn)確率外,在驗(yàn)證用于目標(biāo)識(shí)別的新特征的性能時(shí),對(duì)于判斷該特征是否適合用于此場(chǎng)景下目標(biāo)識(shí)別也有一定應(yīng)用價(jià)值。下一步還需進(jìn)行最優(yōu)參數(shù)選取的研究,以充分發(fā)揮算法性能。