宋曉晶 封丹丹
摘 要 支持向量機(support vector machine, SVM)是一種基于統(tǒng)計學習理論的新型的機器學習方法,由于出色的學習性能,已經(jīng)成為當前機器學習界的研究熱點。本文系統(tǒng)地介紹了支持向量機分類和回歸的理論基礎,運用統(tǒng)計軟件對分類和回歸進行數(shù)值模擬實驗并分析結(jié)果。
關鍵詞 支持向量機 統(tǒng)計學習理論 分類 回歸
中圖分類號:P39 文獻標識碼:A
1 SVM理論
支持向量機是建立在統(tǒng)計學習理論基礎上的一種數(shù)據(jù)挖掘方法,可以處理回歸問題(時間序列分析)和模式識別(分類問題、判別分析)等諸多問題。國際上有很多關于SVM的研究報道,目前已經(jīng)被成功應用到各種實際問題,如粒子鑒定、臉譜識別、文本分類、生物信息等。支持向量機的實現(xiàn)原理是:通過某種事先選擇的非線性映射(核函數(shù))將輸入向量映射到一個高維特征空間,在這個空間中構(gòu)造最優(yōu)分類超平面。
1.1支持向量機
對于給定的訓練樣本集(x1,y1),(x2,y2),…,(x,y),如果樣本是線性可分離的,設劃分超平面L的方程為:(w x)+b=0,為了使分類面對所有樣本正確分類并且具備分類間隔,就要求它滿足如下約束:
yi(w x)+b)≥1 i=1,2,…,
分類間隔為2/||w||,因此建立線性支持向量機的問題轉(zhuǎn)化為求解如下一個二次凸規(guī)劃問題:
(1)
應用Lagrange乘子法并考慮滿足KKT條件,求得最優(yōu)超平面決策函數(shù)為:
(2)
其中,為確定最優(yōu)劃分超平面的參數(shù),為兩個向量的點積。
1.2 非線性支持向量機
SVM方法真正價值是用來解決非線性問題。思路是通過一個非線性映射 ,把樣本空間映射到一個高維乃至無窮維的特征空間。之后根據(jù)Mercer定理,如果只用到映象的點積,則可以用相對應的核函數(shù)K(x,y)=( (x) (y))來代替,不需要知道映射的顯性表達式。這是從線性支持向量機到非線性支持向量機的關鍵一步。在特征空間中應用線性支持向量機的方法,分類決策函數(shù)式(2)變?yōu)椋?/p>
(3)
考慮到Mercer定理,上式化簡為:
(4)
這就是非線性支持向量學習機的最終分類決策函數(shù)。在實際運算中,我們只需求出支持向量及其支持的“強度”和閾值,通過核函數(shù)的計算,即可得到原來樣本空間的非線性劃分輸出值。
1.3 SVM回歸
SVR是將模式識別問題中得到的結(jié)果在回歸情況下的推廣。在回歸情況下需要引入不敏感損失函數(shù),它的含義是如果預測值和實際值之間的差別小于,則損失等于0,盡管預測值與觀測值可能并不完全相等。具體形式為:
(5)
假設對于給定的訓練數(shù)據(jù),用線性函數(shù)擬合數(shù)據(jù),用(5)式作為損失函數(shù),那么就產(chǎn)生了對回歸的支持向量估計。通過使回歸函數(shù)盡可能的平坦來控制函數(shù)的復雜性,并綜合考慮擬合誤差,可以得到線性回歸估計的優(yōu)化問題。然后利用Lagrange乘子法結(jié)合KKT條件,最終確定對應的決策函數(shù)形式為:
(6)
與分類情況下類似,線性SVR可以通過引入核函數(shù)推廣到高維空間中,然后求解優(yōu)化問題在高維空間中構(gòu)造決策超平面。
2 仿真實驗
2.1 數(shù)值實驗
(1)實驗數(shù)據(jù)源于1936年費希爾發(fā)表的一篇重要論文。彼時收集了三種鳶尾花的花萼和花瓣數(shù)據(jù),包括花萼的長度和寬度,花瓣的長度和寬度。其中包含150個樣本,每類樣本50個。我們根據(jù)這四個特征來建立SVM模型實現(xiàn)對三種鳶尾花的分類判別任務。對分類結(jié)果可視化,如圖1所示。從圖中可以看到,鳶尾花中的setosa類別同其他兩種區(qū)別較大,而剩下的兩種類別相差很小,甚至存在交叉難以區(qū)分。
(2)隨機生成一組對數(shù)序列,然后采用SVR方法進行擬合,所得實驗結(jié)果如圖2所示。其中紅線表示真值,藍線表示擬合所得的結(jié)果,對比可以看出SVR回歸的誤差非常小,幾乎是反映樣本數(shù)據(jù)的最優(yōu)函數(shù)關系。
2.2結(jié)論
SVM是一種有堅實理論基礎的新穎的小樣本學習方法,實現(xiàn)了高效的從訓練樣本到預報樣本的推理。SVM的最終決策函數(shù)只由少數(shù)的支持向量所確定,而不是樣本空間的維數(shù),在某種意義上避免了“維數(shù)災”。而且該方法不但算法簡單,而且具有較好的“魯棒”性。因此,近年來SVM方法已經(jīng)在圖像識別、信號處理和基因圖譜識別等方面得到了成功的應用。
參考文獻
[1] 李曉宇, 張新峰, 沈蘭蓀. 支持向量機(SVM)的研究進展[J]. 測控技術, 2006, 25(5):7-12.
[2] 梁燕. SVM分類器的擴展及其應用研究[D]. 湖南大學, 2008.
[3] 劉靖旭. 支持向量回歸的模型選擇及應用研究[D]. 國防科學技術大學, 2006.
[4] 陳永義, 俞小鼎, 高學浩等. 處理非線性分類和回歸問題的一種新方法(Ⅰ)—支持向量機方法簡介[J]. 應用氣象學報, 2004, 15(3):345-354.
[5] Scholkopf B, BurgesCh-J C and Smola A J, edited. Advances in Kernel Methods-Support Vector Learning. MIT Press, Cambridge, 1999.endprint