劉深
(昆明船舶設備研究試驗中心 云南 昆明 650051)
傳統的模式識別或人工神經網絡都是以大樣本統計理論為基礎的,而實際操作中常常面對的是小樣本。如何從小樣本集出發,得到泛化能力較好的模型,是模式識別研究領域內的一個難點。Vapnik等早在20世紀60年代開始研究有限樣本情況下的機器學習問題。近年來,有限樣本機器學習理論逐漸成熟,形成了完善的統計學習理論(SLT)體系,但也遇到了許多困難,如確定網絡結構的問題、過擬合與欠擬合問題、局部極小點問題等。1992到1995年,在SLT的基礎上發展了支持向量機(Support Vector Machine,SVM)算法,在解決小樣本、非線性及高維模式識別問題中表現出許多特有的優勢[1,2]。
水聲信號獲取不易,而支持向量機對小樣本數據具有很好的分類性能,因此解決了水聲信號樣本不足的問題。同時水聲信號類型多樣化,對分類器的泛化性能提出了很高的要求,這一點也是支持向量機分類器的優勢所在。
支持向量機利用線性可分或非線性不可分訓練樣本集,運用最優化理論在原始特征空間中建立最優線性分類界面或廣義最優線性分類界面,然后利用滿足Mercer定理的核函數代替原始分類界面函數中的內積,不需顯式地使用非線性變換的具體形式,將原始特征空間中的非線性分類界面隱式地映射到更高維的變換特征空間中產生線性分類界面,這樣可以方便的達到更好的分類效果。
設線性可分樣本集為(xi,yi),i=1,…,x,n∈Rd,y∈{+1,-1}是類別標號。d維空間中線性判別函數的一般形式為g(x)=w·x+b,分類面方程為[3]:

將判別函數歸一化,使兩類所有樣本都滿足|g(x)|≥1,即使離分類面最近的樣本的|g(x)|=1,這樣分類間隔就等于2/‖w‖,因此使間隔最大等價于使‖w‖或‖w‖2最??;而要求分類線對所有樣本正確分類,就是要求它滿足

因此,滿足上述條件且使‖w‖2最小的分類面就是最優分類面。兩類樣本中離分類面最近的點且平行于最優分類面上的訓練樣本就是上式中使等號成立的那些樣本,它們就是支持向量,因為它們支撐了最優分類面。
根據上面的討論,最優分類面問題可以表示成如下的約束化問題,即在式(2)的約束下,求函數

的最小值。為此,可以定義如下的Lagrange函數:

其中,αi>0為Lagrange系數,我們的問題是對w和b求Lagrange函數的極小值。分別對式(4)中w和b求偏微分并令它們等于0,就可以把原問題轉化為如下這種較簡單的對偶問題:
在約束條件

之下對αi求解下列函數的最大值:


即,最優分類面的權系數向量是訓練樣本向量的線性組合[4-5]。
這是一個不等式約束下二次函數極值問題,存在唯一解。求解上述問題后得到的最優分類函數是:

式中sgn()為符號函數。由于非支持向量對應的αi均為0,因此式(8)中的求和實際上只對支持向量進行。而b*是分類的域值,可以由任意一個支持向量用式(1)求得,或通過兩類中任意一對支持向量取中值求得。
如果用內積K(x,x′)代替最優分類面中的點積,就相當于把原特征空間變換到了某一新的特征空間,此時,優化函數變為:

而相應的判決函數式也應變為:

算法的其它條件均不變。這就是支持向量機。
這里的內積 K(x,x′)稱為核函數,本文使用徑向基函數(RBF)作為核函數。

式(11)中,σ為控制核函數高寬的參數。其滿足Mercer條件[6]。
SVM分類器采用徑向基函數作為核函數,可以解決任意維數的特征矩陣的問題。本文主要驗證3分類情況。
以下為設計思路:
1)讀入樣本數據,挑選合適的特征作為訓練集;
2)構造3個二分類器,分別計算這3個分類器的權值和偏置系數;
3)輸入測試集數據,分別代入3個分類器,計算得出三個信號的分類結果;
4)與該信號實際所屬類別比較,計算正確率。
分類數據為實際水聲信號,該信號有3類,編號為A、B、C,以矩陣形式存儲。

圖1 A類第一組信號小波系數圖Fig.1 First group of wavelet coefficients of A class

圖2 B類第一組信號小波系數圖Fig.2 First group of wavelet coefficients of B class

圖3 C類第一組信號小波系數圖Fig.3 First group of wavelet coefficients of C class
本節采用改進的支持向量機分類程序,重新設計了3類分類器,并進行了分類實驗。過程如下:
1)實際水聲信號的預處理:
信號預處理包括對信號的降噪、濾波等,不是本文重點,因此不做詳細介紹。
2)實際水聲信號的特征提取:
對實際信號進行分段、截取,將截取到的一段信號進行五層小波分解,得到各層小波系數,做出三類信號的功率譜,作為一個特征值。重復上述過程,直到將截取到的信號段的特征提取完為止。本實驗中選取的截取長度為1 000點,實際信號長度為32 000個點,采樣頻率為4 kHz。現以A、B、C三類信號的第一段為例。
①實際信號小波分解圖(僅對A、B、C三類的第一組詳細介紹,第二、三組與第一組類似)如圖1~3。
圖1~3中,從上到下依次為第五層、第四層、……、第一層小波系數,左側為低頻小波系數,右側為高頻小波系數。
②三類信號的功率譜,如圖4~6所示。

圖4 A類第一組信號功率譜圖Fig.4 First group of signal power spectrum of A class

圖5 B類第一組信號功率譜圖Fig.5 First group of signal power spectrum of B class

圖6 C類第一組信號功率譜圖Fig.6 First group of signal power spectrum of C class
觀察三類信號的功率譜圖可以發現,三類水聲信號的能量主要集中在低頻段,大概在 50~500 Hz之間,所以選擇低頻第一層、第二層和第三層小波系數就可以描述信號特征。
3)實際水聲信號的分類:
實際信號有A、B、C 3類,提取出來的特征矩陣共有三個樣本集,每個樣本集為的矩陣。我們從中隨即選取10組樣本作為訓練樣本,剩下的20組為測試樣本。表1為多次獨立試驗平均分類準確率。表2為使用神經網絡分類器進行多次獨立試驗的試驗結果。
對比表1和表2可以發現在相同訓練樣本和測試樣本條件下,SVM多分類器的分類效果要優于神經網絡分類器,證明了本文設計的SVM分類器的有效性,也從側面驗證了SVM分類器在處理小樣本數據時的優越性。

表1 SVM分類器多次獨立重復試驗結果Tab.1 Independent repeated trials result of SVM classifier

表2 神經網絡分類器多次獨立重復試驗結果Tab.2 Independent repeated trials result of neural network classifier
本文初步研究了基于支持向量機的分類器在多類水聲信號分類問題中的應用。該方法有效的避免了“維數災難”,可以較好的解決多類水聲信號的分類問題,使得算法復雜度可以不隨維數的增加而增加。但是本文也有不足,由于水聲信號提取難度較大,本文只驗證了三分類的情況,若以后獲得其他水聲信號數據,本文作者將做更深一步的研究與驗證。
[1]周綺鳳.基于支持向量機的若干分類問題研究[D].廈門:廈門大學,2007.
[2]孫即祥.現代模式識別[M].2版.高等教育出版社,2008.
[3]肖健華.智能模式識別方法[M].廣州:華南理工大學出版社,2006.
[4]王國勝.支持向量機的理論與算法研究[D].北京:北京郵電大學,2007.
[5]王曉丹,王積勤.支持向量機和實現算法綜述[J].計算機工程與應用,2004,40(13):75-78.WANG Xiao-dan,WANG Ji-qin.A survey on support vector machines training and testing algorithms[J].Computer Engineering and Applications,2004,40(13):75-78.
[6]羅林開.支持向量機的核選擇[D].廈門:廈門大學,2007.