戴衛(wèi)國,李海濤,李智忠,王易川
(海軍潛艇學院,山東 青島266042)
船舶輻射噪聲的復雜性使得很難對其進行分類與識別,船舶輻射噪聲的特征提取和分類方法是人們一直研究探索的技術難題。船舶輻射噪聲(Detection of Envelope Modulation On noise,DEMON)譜反映了航行艦船噪聲的節(jié)奏信息和船舶本身一些固有的物理不變特征,通過對船舶輻射噪聲的DEMON 譜分析可以獲取船舶目標槳葉數(shù)特征[1];船舶目標槳葉數(shù)物理意義明確,與船舶工況無相關性,是進行水聲目標識別最重要的識別特征之一,在某些情況下單憑槳葉數(shù)即可識別目標,這對艦船目標識別具有特別的意義。
支持向量機 (Support Vector Machine,SVM)是一種基于統(tǒng)計學習理論的模式識別方法,采用結構風險最小化原則代替了傳統(tǒng)機器學習方法中的經驗風險最小化原則,在解決有限樣本、非線性及高維模式識別問題中表現(xiàn)出許多特有的優(yōu)勢,與其他學習機相比具有良好的推廣能力和很強的普適性[2-3]。
本文利用船舶目標輻射噪聲DEMON 譜特征,采用徑向基支持向量機改進算法,實現(xiàn)了對船舶螺旋槳槳葉數(shù)的分類識別應用研究。針對支持向量機算法[2-3]對噪聲比較敏感和最優(yōu)分類面求解時約束太多不利于求解問題,根據支持向量機在不等式約束條件下可以保持支持向量解的稀疏性特性,在應用徑向基等平移不變核函數(shù)的情況下,對支持向量機的松弛變量和決策函數(shù)2 方面進行改進,從而構造齊次決策二階損失函數(shù)徑向基支持向量機的分類算法(簡稱:徑向基支持向量機改進算法),在支持向量機算法中實現(xiàn)二次規(guī)劃中的最小約束條件下最優(yōu)分類面求解,研究其Matlab實現(xiàn)方法,并采用擴展的XOR 仿真數(shù)據、雙螺旋仿真數(shù)據、船舶輻射輻射噪聲數(shù)據進行螺旋槳槳葉數(shù)分類識別實驗。實驗表明,該算法具有分類面劃分合理、模型參數(shù)尋優(yōu)空間廣闊、總體分類性能優(yōu)的特性。
支持向量機從線性可分情況下的最優(yōu)分類面發(fā)展而來,最優(yōu)分類面是要求分類面不但能將兩類正確分開,而且使分類間隔最大。d 維空間中線性判別函數(shù)的一般形式為g(x)=w·x +b,設分類面的方程為(w·x)+b = 0,使得對線性可分的樣本集(xi,yi),i = 1,2,…,l,x ∈Rd為輸入樣本,d 為訓練樣本維數(shù),y ∈{+1,-1}為輸出類別,滿足yi[(w·xi)+ b]-1 ≥0,i = 1,2,…,n[1]。
在線性不可分和在非線性情況下,通過在求解二次規(guī)劃約束條件中增加一個非負的松弛項ξi,以及引入核函數(shù)K(xi,xi)= φ(xi)·φ(xi)后,支持向量機的分類問題轉化為求(w,b,ξ)T為決策變量的二次規(guī)劃問題[4-5]:
式中:C 為懲罰因子;ξ=(ξ1,…,ξl)T。
該問題可通過求解其拉格朗日對偶問題得其最優(yōu)解,其對偶問題為:
支持向量的稀疏性是支持向量機的主要特性之一。在保持支持向量稀疏特性的前提下,為解決支持向量機算法對噪聲比較敏感的問題,并尋求最小約束中條件下的最優(yōu)分類面尋優(yōu),對支持向量機在以下2 個方面進行改進:一是將松弛變量ξi采用的一階函數(shù)形式改為二階函數(shù)形式,即在目標函數(shù)中采用來代替此改進可以去掉所求解的二次型規(guī)劃的對偶問題中關于αi不等式約束中的上限約束條件αi≤C,i = 1,…,l,并鈍化支持向量機算法對噪聲數(shù)據的敏感性;二是根據徑向基核函數(shù)具備的平移不變性,在基于徑向基核函數(shù)的支持向量機算法中,可對支持向量機決策函數(shù)進行齊次處理去掉偏置b,將其決策函數(shù)修改為f(x)= sgn(w*·Φ(x)),從而在求解二次規(guī)劃問題的對偶問題時,可減少關于αi等式約束條件僅余下不等式約束中的下界約束αi≥0,i = 1,…,l。通過此2 處改進,構建了基于徑向基核函數(shù)的齊次決策二階損失函數(shù)支持向量機的改進算法,從而實現(xiàn)二次規(guī)劃中的最小約束條件下最優(yōu)分類面求解。
此時其原始問題的目標函數(shù)和約束條件為
此目標函數(shù)為凸函數(shù),不等式約束條件為線性函數(shù),強對偶條件成立[6]。求解式(4)的對偶規(guī)劃,引入拉格朗日函數(shù)
先求拉格朗日函數(shù)L(w,ξ,α)關于w,ξ 的極小值
所以原始問題的對偶問題可表示為
關于在線性約束條件下的二次規(guī)劃問題,在Matlab 中專門提供了用于求解二次規(guī)劃問題的quadprog 函數(shù),可直接用于求解中等規(guī)模的支持向量機問題。相對于大規(guī)模的支持向量機求解的選塊算法、分解算法、序列最小最優(yōu)化算法而言,quadprog 函數(shù)直接求解方法意義明確、中間變量清楚、過程可控,且運算速度可行,是一種較好的學習及調試手段。
quadprog 函數(shù)求解的最優(yōu)化問題形式為[7]:
對于支持向量機和支持向量機改進算法,應用quadprog 函數(shù)求解的對比如表1 所示。
表1 應用Quadprog 函數(shù)求解支持向量機實現(xiàn)方法對比Tab.1 The comparation between SVM and improved algorithm on Quadprog function
為了驗證該支持向量機改進算法的實際效果,本文利用擴展的XOR 仿真數(shù)據和雙螺旋線仿真數(shù)據進行實驗分析。
平面上相間排列的25 點的兩類點集,可以看作是擴展的XOR 數(shù)據,如圖1 所示。
圖1 平面上相間排列的25 點的兩類點集Fig.1 25 points on a plane of two type point sets
1)選取懲罰因子C =10,徑向基核函數(shù)參數(shù)σ = 0. 2,對該25 點的兩類點集進行支持向量機及其改進算法的訓練和測試分類實驗,其在原始空間的分類曲線分布如圖2 和圖3 所示。其中圖中圓點為正類目標,十字為負類目標,實線為最優(yōu)分類曲線(二維情況下,分類曲面退化為分類曲線)。
圖2 SVM 的分類曲線Fig.2 Classification curve of SVM
圖3 改進算法的分類曲線Fig.3 Classification curve of improved algorithm
由對比可見,由于減少了約束條件,故獲取了更寬的優(yōu)化空間,在此模型參數(shù)下,改進算法的分類曲線對樣本空間劃分合理,分類均衡。
2)選取懲罰因子C = 10,徑向基核函數(shù)參數(shù)σ = 0.55,對該25 點的兩類點集進行支持向量機及其改進算法的訓練和測試分類實驗,其在原始空間的分類曲線分布如圖4 和圖5 所示。
由對比可見,此時改進算法可以對所有目標全部正確分類而原算法不能,因此改進算法獲取了更為廣闊的核函數(shù)模型尋優(yōu)空間,更有利于核函數(shù)模型的參數(shù)尋優(yōu)。
圖4 SVM 的分類曲線Fig.4 Classification curve of SVM
圖5 改進算法的分類曲線Fig.5 Classification curve of improved algorithm
雙螺旋線分類一直是模式識別領域公認的一個難題,它也因其難度而經常被用作檢驗模式識別算法性能的“試金石”[3]。該問題的分類要求是把x -y 坐標平面上2 條不同螺旋線的點正確分開。
雙螺旋的平面坐標形式用如下的參數(shù)方程來表示:
在本實驗中,令k1=k2=2,e1=1,e2=3,θ∈[0,4π]。對每類在區(qū)間[0,4π]上等間隔采樣126 個點,再在其中等間隔取26 個作為訓練樣本,其余100 個作為測試樣本,因此共有52 個訓練樣本,200 個測試樣本。
采用網格搜索法,懲罰因子C 取值范圍為1 至100,步進為1;徑向基核函數(shù)σ 的取值0.01 至1,步進為0.01,在100 × 100 的網格范圍內,對雙螺旋線數(shù)據樣本進行訓練和測試。
采用支持向量機算法,訓練樣本數(shù)據的錯誤率隨參數(shù)C 和σ 的分布如圖6 所示。
圖6 SVM 算法中訓練數(shù)據錯誤率分布Fig.6 The error rate distribution of SVM for training
采用改進的支持向量機算法訓練樣本數(shù)據的錯誤率隨參數(shù)C 和σ 的分布如圖7 所示。
圖7 改進算法中訓練樣本錯誤率分布Fig.7 The error rate distribution of improved for training
從訓練樣本的訓練錯誤率隨模型參數(shù)的變化來看,改進支持向量機在訓練樣本中,具備較寬的低錯誤率訓練空間。
此時,采用支持向量機算法,測試樣本數(shù)據的錯誤率隨參數(shù)C 和σ 的分布如圖8 所示。
圖8 SVM 算法中測試數(shù)據錯誤率分布Fig.8 The error rate distribution of SVM for testing
采用改進算法,測試樣本數(shù)據的錯誤率隨參數(shù)C 和σ 的分布如圖9 所示。
從測試樣本數(shù)據的測試錯誤率隨模型參數(shù)的變化來看,改進支持向量機具備較寬的低錯誤率測試空間。
從仿真數(shù)據綜合來看,改進的支持向量機算法性能較優(yōu)。
圖9 改進SVM 算法中測試樣本錯誤率分布Fig.9 The error rate distribution of improved SVM for testing
目前,船舶螺旋槳槳葉數(shù)一般為3 葉、4 葉、5葉、6 葉和7 葉共5 類,根據槳葉數(shù)從3 葉到7 葉的順序,可將艦船目標分為A ~E 五類。
槳葉數(shù)識別主要包括特征提取和分類識別兩部分。在特征提取部分,通過對船舶目標輻射噪聲進行DEMON 譜分析,提取DEMON 譜軸頻的1 ~15 階諧波線譜的幅度、線譜寬度,軸頻的頻率穩(wěn)定度、幅度穩(wěn)定度,諧波簇信噪比共33 維特征,進行歸一化處理后作為槳葉數(shù)識別的特征。
進行試驗的船舶目標輻射噪聲樣本全部為海上綜合聲吶聽測波束實際錄取的船舶目標噪聲,試驗樣本的選取條件如下:
1)在綜合聲吶對噪聲目標探測和穩(wěn)定跟蹤后輸出得到的遠場單目標噪聲信號;
2)船舶目標噪聲DEMON 譜中存在可見的調制線譜;
3)船舶目標的類型特征、槳葉數(shù)明確。通過樣本選取共獲取了3 725 個船舶目標噪聲樣本,按槳葉數(shù)進行分類,其中A 類樣本1 466 個,B 類樣本1 101 個,C 類樣本570 個,D 類樣本240 個,E類樣本348 個。
對船舶輻射噪聲依次進行帶通濾波、檢波、低通濾波、降采樣、FFT 變換得到DEMON 譜[1],如圖10 所示,橫坐標為頻率,縱坐標為幅度。DEMON 譜中一般存在很多頻率成倍數(shù)關系的諧波線譜,這組諧波中的第一根線譜頻率對應螺旋槳轉速。根據諧波線譜的幅度關系、寬度特征、穩(wěn)定度、信噪比等特征,可以判斷目標的類型,圖10 為典型的B 類目標DEMON 譜圖。
圖10 某典型B 類目標DEMON 譜圖Fig.10 A typical DEMON of target B
本文提取的目標類型識別特征是由以下5 部分特征組成的33 維特征矢量:
1)軸頻的1 ~15 階諧波線譜的歸一化幅度大小;
2)軸頻的1 ~15 階諧波線譜的歸一化寬度大小;
3)軸頻的頻率穩(wěn)定性,本文以30 s 數(shù)據中軸頻頻率變化的方差作為頻率穩(wěn)定性特征;
4)軸頻的幅度穩(wěn)定性,本文以30 s 數(shù)據中軸頻幅度變化的方差作為幅度穩(wěn)定性特征;
5)諧波簇信噪比,本文以15 階諧波線譜相對背景干擾線譜的突出程度作為信噪比特征。
據此對圖10 所示DEMON 譜進行分析,得到33維槳葉數(shù)識別特征矢量如圖11 所示。
圖11 33 維特征矢量示意圖Fig.11 Schematic diagram of 33 dimension feature vector
將選取的目標噪聲按類別隨機分為對等的2 部分:一部分用來訓練,另一部分用來測試,對支持向量機及其改進算法,以及神經網絡算法進行對比。
支持向量機模型選取采用網格搜索法,懲罰因子C 取值為C =1.25k1,k1=1,2,…,20,徑向基核函數(shù)的σ 取值為σ = 1.25k2/20,k2= 1,2,…,20,在20×20 的網格范圍內,分別采用“一對一”、 “一對余”[8-10]的支持向量機多分類方法,分別進行目標類型識別的分類實驗。
根據總樣本的錯誤識別率最小原則[1],分別獲取支持向量機算法模型的最優(yōu)參數(shù),以此為訓練參數(shù),對目標樣本進行10 次的隨機分類實驗,測試與訓練樣本各占50%。
同時對同一批數(shù)據,與應用最為廣泛的BP 神經網絡學習算法[11]進行了對比。BP 算法采用隨機抽取50%樣本訓練,50%進行測試,通過綜合考慮和模型尋優(yōu)后,采用輸入層為33 個神經元,中間層為12 個神經元、輸出層為5 個神經元的3 層BP 神經網絡進行了10 次分類實驗。
最終統(tǒng)計獲得在“一對一”、“一對余”的多分類方法下的支持向量機及其改進算法的對比,以及與BP 神經網絡的實驗結果如表2 和表3 所示。
表2 基于“一對一”方法實驗結果平均正確率比較Tab.2 Average correct rate on“one-versus-one”
表3 基于“一對余”方法實驗結果平均正確率比較Tab.3 Average correct rate on“one-versus-all”
由實驗結果可知,在“一對一”、“一對余”模式下,改進支持向量機算法對相對于原支持向量機算法,以及BP 神經網絡算法而言,具備較好的分類識別能力,性能較優(yōu)。
通過理論分析、擴展的XOR 數(shù)據、雙螺旋仿真數(shù)據和船舶輻射噪聲DENOM 譜特征分類實驗數(shù)據表明,對支持向量機在松弛變量和決策函數(shù)兩方面進行改進而提出的基于徑向基核函數(shù)的齊次決策二階損失函數(shù)支持向量機改進算法,具有分類面劃分合理、模型參數(shù)尋優(yōu)空間廣闊、總體分類性能優(yōu)的特點,分類性能優(yōu)于原支持向量機算法等分類算法,該支持向量機改進算法是一種適用于船舶螺旋槳槳葉數(shù)識別應用的有效的分類算法,實現(xiàn)了對船舶螺旋槳槳葉數(shù)的有效分類識別。
[1]戴衛(wèi)國,程玉勝,王易川. 支持向量機對艦船噪聲DEMON 譜的分類識別[J]. 應用聲學,2010(3):206-211.DAI Wei-guo,CHENG Yu-sheng,WANG Yi-chuan.Classification of the DEMON spectra of ship-radiated noise based on Support Vector Machine[J]. Applied Acoustic,2010(3):206 -211.
[2]VAPNIK V N.統(tǒng)計學習理論的本質[M].張學工,譯.北京:清華大學出版社,2000.
[3]焦李成,周偉達,張莉.智能目標識別與分類[M].北京:科學出版社,2010.JIAO Li-cheng,ZHOU Wei-da,ZHANG Li. Intelligent target identification and classification[M].Beijing:Science Press,2010.
[4]鄧乃楊,田英杰.數(shù)據挖掘中的新方法——支持向量機[M].北京:科學出版社,2004.
[5]張春華.支持向量機中最優(yōu)化問題的研究[D].北京:中國農業(yè)大學,2004.
[6]陳寶林.最優(yōu)化理論與算法(第2 版)[M]. 北京:清華大學出版社,2005.
[7]李明.詳解MATLAB 在最優(yōu)化計算中的應用[M]. 北京:北京電子工業(yè)出版社,2011.LI Ming. Application of MATLAB for Optimization Theory[M]. Beijing:Beijing Electronics Industry Publishing Press,2011.
[8]趙春暉,陳萬海,郭春燕.多類支持向量機方法的研究現(xiàn)狀與分析[J].智能系統(tǒng)學報,2007,2(2):11 -17.ZHAO Chun-hui,CHEN Wan-hai,GUO Chun-yan.Research and analysis of methods for multiclass support vector machines[J]. CAAI Transactions on Intelligent Systems,2007,2(2):11 -17.
[9]黃勇,鄭春穎,宋忠虎. 多類支持向量機算法綜述[J].計算技術與自動化,2005,24(4):61 -63.HUANG Yong,ZHENG Chuan-ying,SONG Zhong-hu.Multi-class support vector machines algorithm summarization[J].Computing Technology and Automation,2005,24(4):61 -63.
[10]Vojtech Franc Vaclav HlavaC. Statistical Pattern Recognition Toolbox for Matlab User′s guide[R].ftp://cmp.felk.cvut.cz/pub/cmp/articles/Franc-TR-2020-08.pdf.
[11]許東,吳錚.基于MATLAB6.X 的系統(tǒng)分析與設計——神經網絡[M]. 西安:西安電子科技大學出版社,2003:19 -24.XU Dong,WU Zheng.System analysis and design based on MATLAB6. X[M]. Xi′an:Xi′an Electronic and Science University Press,2003:19 -24.