?

一種有效降維的特征選擇方法及其在水聲目標識別中的應用

2021-03-10 07:58胡長青
聲學技術 2021年1期
關鍵詞:子集特征選擇維數

郭 政,趙 梅,胡長青

(1. 中國科學院聲學研究所東海研究站,上海201815;2. 中國科學院大學,北京100049)

0 引 言

在水聲目標的識別問題中,提取更多的特征是提高目標識別率的主要方法之一。較高的特征維度包含更為豐富的信息量,可以提高問題描述的準確性。但與此同時,高維特征的冗余信息會影響算法的速度,甚至有可能降低目標識別準確率。因此,根據所需識別數據特性對特征進行選擇以降低特征維度是有必要的。

遍歷所有特征空間得到最優特征子集的窮舉搜索方法是最基礎的特征選擇算法。但窮舉方法效率低下,在面對高維特征向量時計算量巨大。因此需要采取更高效的算法進行特征選擇。

通常,特征選擇算法可分為過濾式(Filter)算法與封裝式(Wrapper)兩類算法[1],兩者主要區別為,Filter方法獨立于分類識別算法,其優點在于以較小計算量的代價減少特征維數,但并不能保證結果用于分類識別的準確率[2];Wrapper方法則以分類識別算法的準確率來評價算法性能,雖然計算量較大但準確率較高[3]。在水聲目標識別應用中,Wrapper方法作為基礎的特征選擇算法更為適合。

Wrapper方法中一個關鍵問題是如何生成待檢驗特征子集。近年來,學界對此進行了大量研究,例如遺傳算法、差分進化算法、粒子群算法、蟻群算法以及模擬其他生物種群行為算法等均可應用于生成、搜索特征子集。Lin等[4]將貓群算法(Cat Swarm Optimization, CSO)應用于參數優化與特征選擇。張震等[1]將改進的粒子群算法與禁忌搜索結合應用于入侵檢測系統特征選擇。Guyon等[5]在應用基因選擇研究癌癥時提出支持向量機遞歸特征消除(Support Vector Machine Recursive Feature Elimination, SVM-RFE)算法。Yan等[6]、葉小泉等[7]將其分別與聚類方法等結合應用于特征選擇。但各種算法也存在其固有局限性。遺傳算法局部搜索性能較差[8],差分進化算法難以處理噪聲問題[9],粒子群算法在算法后期易于陷入局部最優解[10],蟻群算法復雜度較高[11],同屬 Wrapper方法的 SVM-RFE能以一定規則對特征進行排序和選擇,實現特征降維,但難以有效識別冗余特征,因而只能有限度地提高目標識別準確率[5]。

本文提出一種結合SVM-RFE和CSO的特征選擇方法,即SVM-RFE-CSO方法。貓群算法是在粒子群算法(Particle Swarm Optimization, PSO)的基礎上發展而來的,將種群分為跟蹤及搜尋兩種行為模式,通過多次迭代進行尋優。CSO的兩種工作模式利用變異算子對自身位置周圍進行搜索,并根據最優解位置不斷更新貓的當前位置,以跳出局部最優進而得到全局最優解[12],適合彌補SVM-RFE難以有效識別冗余特征的局限性。因此,將 CSO與SVM-RFE進行結合,并將其應用于水聲目標識別的特征選擇中,可取得較好的效果。

1 基本算法原理

1.1 支持向量機遞歸特征消除(SVM-RFE)算法

Guyon等[5]對SVM進行綜合考察,在此基礎上提出對特征進行排序的SVM-RFE特征選擇算法。SVM核心思想是建立一個決策曲面[13]:

以最大化分類間隔。在非線性情況下,引入松弛變量,目標函數可表示為

若移除第i個特征,對目標函數的影響根據泰勒展開有:

則對于目標函數J的最優解,可只考慮二階,因此有:

故在決策函數中特征的權值w大小表示了其包含信息量的多少,在SVM-RFE中則以w2表示特征的重要程度,作為特征排序的依據。SVM-RFE算法的流程如圖1所示。

圖1 SVM-RFE算法流程圖Fig.1 Flow chart of the SVM-RFE algorithm

圖1中,S表示當前特征列表索引序列,R表示執行完畢后輸出的特征排序列表索引序列,?表示空集。R中特征權值依次遞減,根據特征重要性對其進行排序。本文在此基礎上做進一步處理,根據R定義一組特征子集F1,··,Fm,其中前一個子集含于后一個子集中,且第m個子集包含權值最高的m個特征,即F1包含最重要的特征參數,F2包含最重要及次重要的特征參數,以此類推。之后綜合考慮識別準確率及對特征維數的需求選出特征子集,完成特征選擇。在目標識別中,本文采用SVM作為目標識別分類器,將特征選擇后確定維度的特征向量由原始空間映射到高維空間,并在高維空間構造決策函數,以RBF核函數替代內積來簡化運算。

SVM-REF特征選擇算法以特征對分類器的作用為依據計算特征權重,但對特征本身是否冗余欠缺考量[14]。在實際應用中,存在經過SVM-REF選擇后的M維非連續特征較N維連續特征的目標識別率沒有提升的情況(M<N,且特征按重要性由高至低選取)。因此,SVM-REF特征選擇算法在降低特征維數和選擇較高識別率的特征子集方面均有所局限,并不能給出最優解,需加以改進。

1.2 貓群算法(CSO)

貓群算法通過模仿自然界中貓群的行為,將其行為模式分為跟蹤模式及搜尋模式,通過定義兩者的比例關系(Mixture Ratio, MR)確定貓的分配模式進行尋優[15]。算法流程如圖2所示。

圖2 貓群算法流程圖Fig.2 Flow chart of the CSO algorithm

圖2中,搜尋模式設定4個基本要素:記憶池(Seeking Memory Pool, SMP)、搜尋維度范圍(Seeking Range of the Selected Dimension, SDR)、維度改變量(Counts of Dimension to Change, CDC)、自身位置判斷(Self Position Consideration, SPC)。首先創建N=PSM個當前貓的位置副本,根據SPC值確定SMP中保留的候選位置,再由CDC值對每個副本加或減,根據 SDR以一定比例確定增減值以替換其位置值,并根據式(5)計算待選位置可能性,之后據此選擇位置點替換當前貓的位置。

式中,Pi為待選位置可能性;FS,i為適應度;FS-best為最優適應度;PSM為記憶池個數。

根據MR確定分配模式后,對分配搜尋模式的個體標志位置 1。跟蹤模式則是根據全局最優位置更新貓當前速度,然后根據新的速度確定貓的當前位置。速度及位置更新方法如式(6)、(7)所示:

式(6)、(7)中:xl,d表示貓l第d維的當前位置,xbest,d表示貓群中最大適應度第d維的對應的位置點,r1為常量,c1表示通常取值范圍為[0, 1]的變量,貓群總維度為D,d≤D。

2 SVM-RFE-CSO算法

SVM-RFE算法在實現有效降維的同時存在一個缺陷,即難以較好地利用冗余特征,因而最后篩選出的特征子集未必是最優性能特征子集。本文利用CSO搜索最優解的能力,對SVM-RFE加以改進。改進后算法流程如圖3所示。

圖3 SVM-RFE-CSO算法流程圖Fig.3 Flow chart of the SVM-RFE-CSO algorithm

SVM-RFE-CSO算法實際分兩步進行特征選擇。首先進行 SVM-RFE,篩選出部分優秀特征子集作為部分初始種群,并加入隨機生成種群個體作為初始種群,而后應用 CSO 進行迭代計算,選出最優特征子集,完成特征選擇。

在判斷每次迭代生成的新的個體是否更優時,可應用適應度函數對其進行評價。通常適應度函數ffit由目標識別準確率與特征維數兩個變量來確定:

式(8)中:ffit表示適應度函數,Rauc表示目標識別準確率,ddim表示特征選擇后的特征維數,A、B分別為目標識別準確率和特征維數的權重參數。在評價迭代后的個體時,目標識別準確率與特征維數并非兩個孤立的變量,因而為保證兩者關聯性,將式(8)修正為式(9):

本文進行特征選擇的目的為在保證目標識別準確率的基礎上對特征降維,以選出最佳特征子集作為目標識別的特征向量,故在參考其他工作[1]的基礎上選取A=0.95進行計算。

3 算例驗證

為直觀說明SVM-RFE算法及CSO算法在本文算法中所起到的作用,以羅德島大學等機構公開的“Discovery of Sound in the Sea-Anthropogenic Sounds”數據[16]為例,分別應用 SVM-RFE、CSO及SVM-RFE-CSO方法進行特征選擇,將得到的特征向量應用于目標識別,并對比識別結果。

所使用的數據集包括4類共170個樣本,樣本特征向量維數m=10。圖4為應用SVM-RFE進行特征選擇的結果,對應維數的識別準確率表示經SVM-RFE處理后由排序靠前的m個特征組成的特征子集識別準確率。當m=6時,準確率為90.70%,達到最高值??梢奡VM-RFE能快速得出優秀的特征子集,起到特征降維效果。圖5為應用CSO及SVM-RFE-CSO進行特征選擇的結果。由圖5可知,兩者識別準確率均隨迭代次數上升而升高,CSO 方法依次達到 86.05%、88.37%和 90.70%,SVM-RFE-CSO方法快速達到 90.70%后即不再升高??梢?CSO能起到跳出局部最優值繼續尋優的作用,SVM-RFE-CSO相比CSO可更快達到最優值。此外,數據集原始特征維數較低會使計算過程更簡單,這也說明SVM-RFE-CSO在特征維數較高、計算過程更復雜的情況下才具有更明顯的優勢,在第4節中將重點分析該種情況。

圖4 識別準確率隨特征維數變化(處理數據取自文獻[16])Fig.4 The variation of recognition accuracy with the dimension of feature vectors (processed data from Ref. [16])

圖5 識別準確率隨迭代次數變化(處理數據取自文獻[16])Fig.5 The variation of recognition accuracy with the number of iterations (processed data from Ref. [16])

此外,在尋優計算過程中對適應度函數中權重系數A的取值進行了驗證,取A=1時可保證特征選擇后識別準確率達最高值 90.70%,因此在后續的計算中取A=1。

4 水聲目標識別實驗

4.1 實驗數據獲取

為驗證算法在水聲目標識別中的應用效果,選取2018年6月某次取的6種艦船輻射噪聲信號進行目標識別。

4.2 目標特征提取

首先進行樣本的特征提取。信號采樣頻率為32 kHz,6種不同水聲目標均取100段時長為 s的信號作為樣本。數據集具體信息如表1所示。

表1 水聲目標(船只)輻射噪聲樣本信息Table 1 Sample information of radiation noise from underwater acoustic targets (ships)

梅爾頻率倒譜系數(Mel-Frequency Cepstral MFCC)是一種基于人耳聽覺特性的目標特征參數,其在頻域上以Mel頻譜為標度,模擬了人耳聽覺對頻率識別的非線性特點,并描述了目標輻射噪聲在不同頻段上的聲學特性[17]。

MFCC的提取首先要經過數據預處理,將信號分幀加窗,而后經 FFT計算出每幀數據的頻譜參數,并將每幀頻譜參數通過數量為M的三角帶通濾波器組成的Mel頻率濾波器組,之后對每個濾波器輸出取對數,得到M個對數能量參數S(m),m= 1 ,2,···,M。最后對這些參數做離散余弦變換,即得到目標的MFCC,如式(10)所示[18]:

圖6所示即為不同水聲目標輻射噪聲的MFCC計算結果,其中圖6(a)~6(f)分別對應表1中不同的水聲目標??梢?,不同種類水聲目標的MFCC存在差異,可作為目標識別的依據。將MFCC按幀數求平均,結果如圖7所示。對比圖7(a)~7(f)可見不同種類水聲目標的 MFCC求幀數平均后依然保持了較好的區分度,因此,計算水聲目標輻射噪聲的30維MFCC幀數平均作為特征向量,用于特征選擇及目標分類識別實驗。

圖6 不同水聲目標輻射噪聲的MFCCFig.6 MFCC of different underwater acoustic targets

圖7 不同水聲目標輻射噪聲的MFCC幀數平均Fig.7 MFCCs’ frame average of different underwater acoustic targets

4.3 數據分析與結果

在水聲目標識別的實際應用場景中,通常在進行由原始信號提取目標信號的處理后也難以完全消除本底噪聲干擾。通過控制信噪比RSN對信號添加背景噪聲來模擬這種情況:

式(11)中:vnoise表示噪聲時域幅值,vsignal表示信號時域幅值。在后續處理過程中,對艦船輻射噪聲樣本添加高斯噪聲至RSN=0 dB。

經SVM-RFE特征選擇后,輸出最優特征子集維度的選擇對下一步特征選擇及分類結果有一定影響[14]。為分析經SVM-RFE特征選擇后得出的特征子集對算法結果的影響,分別應用 SVM-RFE、CSO、SVM-RFE-CSO算法進行特征選擇,結果如圖8、9所示。

圖8 高斯噪聲背景下水聲目標識別準確率隨特征維數變化Fig.8 The variation of underwater acoustic target recognition accuracy with the dimension of feature vectors under Gaussian noise background

由圖8可見,目標識別準確率與經SVM-RFE特征選擇后的特征子集維度m大致呈正相關,但并非特征子集維度越大目標識別準確率越高。m<16時目標識別準確率隨特征子集維度m的增加而升高,當m=16時準確率即達到最大值,而m>16時準確率隨特征子集維度m的增加而呈降低趨勢。據此可判定前 16維特征中包含了可用于目標識別的大部分有效信息,但不排除另外14維特征中也包含對準確識別目標有正向作用的有效信息。因此,在SVM-RFE特征選擇后續處理中特征子集最高維度可由此確定,并剔除排序靠后的特征。

圖9為CSO算法與SVM-RFE-CSO算法進行特征選擇過程中每一代最優特征子集的目標識別準確率??梢娊涍^相同次數的迭代,SVM-RFE-CSO算法相比 CSO算法,因初始特征子集更優而達到了更高的目標識別準確率。

圖9 高斯噪聲背景下水聲目標識別準確率隨迭代次數變化Fig.9 The variation of underwater acoustic target recognition accuracy with the number of iterations under Gaussian noise background

為了說明 SVM-RFE-CSO算法性能是否有改進,在Intel i5-9330H CPU、8G RAM的計算機環境下,取每一代個體數N=20、迭代次數I=50作為參數組合1,取N=5、I=30作為參數組合2,分別重復10次特征選擇實驗,結果如表2所示。由表2中的結果可見,經SVM-RFE處理及參數組合1、2情況下CSO算法處理后得出的10次平均準確率分別提高了5.52、5.71和3.13個百分點,最優子集維數分別下降了14、15.6和15.8;參數組合1情況下SVM-RFE-CSO處理后得出的 10次平均準確率相比SVM-RFE算法及CSO算法分別提高了1.17、0.98個百分點;參數組合2情況下SVM-RFE-CSO處理后得出的10次平均準確率相比 SVM-RFE算法及CSO算法分別提高了21.48、3.87個百分點,最優子集維數分別下降3.5、1.9和0.6、-1.2,而參數組合1、2情況下SVM-RFE-CSO算法10次平均用時為121.62 s和17.50 s,相比CSO算法10次平均用時118.60 s和17.67 s差距很小。綜合考慮兩種參數組合,對比本文提出的方法和分別單獨使用SVM-RFE方法及CSO方法,文中提出的方法在平均特征維數降低 8%的基礎上,平均目標識別率提高了1.88%。在排除了隨機性的前提下,算法性能得到了提升。對比兩種參數組合情況可知,通過調整參數,可改變SVM-RFE-CSO特征算法的降維效果、選出特征子集的識別準確率和計算時長,其綜合性能優于單一CSO算法和SVM-RFE算法。

表2 未經選擇全部特征及不同處理方法10次平均結果對比Table 2 Comparison of 10-time average results of all features and different processing methods

5 結 論

本文在分析SVM-RFE算法及CSO算法的基礎上,針對SVM-RFE特征選擇方法難以有效識別冗余特征的局限性,提出了一種結合兩者優勢的特征選擇算法。

文中提出的算法利用 CSO算法的尋找全局最優的特點,解決SVM-REF算法中特征維數降低及目標識別準確率提高有限的問題,在保證目標識別準確率的前提下,實現有效降維。此外,通過水聲目標識別實驗進行了驗證,改進后的 SVM-REFCSO特征選擇算法相比于單一 SVM-RFE算法及CSO算法,均提高了目標識別準確率,且相比CSO算法并未大幅提高運算時長。最后,本文提出的特征選擇算法除有效降低特征向量維度、提高目標識別準確率外,在驗證用于目標識別的新特征的性能時,對于判斷該特征是否適合用于此場景下目標識別也有一定應用價值。下一步還需進行最優參數選取的研究,以充分發揮算法性能。

猜你喜歡
子集特征選擇維數
修正的中間測度和維數
正交基低冗余無監督特征選擇法
拓撲空間中緊致子集的性質研究
網絡入侵檢測場景下的特征選擇方法對比研究
含非線性阻尼的二維g-Navier-Stokes方程全局吸引子的維數估計
Carmichael猜想的一個標注
關于奇數階二元子集的分離序列
基于最大信息系數和近似馬爾科夫毯的特征選擇方法
Kmeans 應用與特征選擇
每一次愛情都只是愛情的子集
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合