摘 要:支持向量機(jī)是建立在統(tǒng)計學(xué)習(xí)理論基礎(chǔ)上的一種小樣本機(jī)器學(xué)習(xí)方法,用于解決二分類問題。本文闡述了支持向量機(jī)的理論基礎(chǔ)并對核函數(shù)的參數(shù)選擇進(jìn)行了分析研究。
關(guān)鍵詞:支持向量機(jī) 最優(yōu)超平面 二分類 核函數(shù)
中圖分類號:TP751 文獻(xiàn)標(biāo)識碼:A 文章編號:1672-3791(2011)10(c)-0000-00
1 支持向量機(jī)
支持向量機(jī)是統(tǒng)計學(xué)習(xí)理論中最年輕的部分,是Vapnik等根據(jù)統(tǒng)計學(xué)習(xí)理論中的結(jié)構(gòu)風(fēng)險最小化原則提出的。其主要內(nèi)容在1992到1995年間才基本完成,目前仍處在不斷發(fā)展階段。支持向量機(jī)充分考慮了算法的推廣能力,很多傳統(tǒng)的機(jī)器學(xué)習(xí)方法都可以看作是支持向量機(jī)方法的一種實現(xiàn),因而統(tǒng)計學(xué)習(xí)理論和支持向量機(jī)被很多人認(rèn)為是研究機(jī)器學(xué)習(xí)問題的一個基本框架。
最優(yōu)分類超平面的構(gòu)造
支持向量機(jī)方法是從線性可分情況下的最優(yōu)分類超平面提出的。對于兩類的分類問題,設(shè)訓(xùn)練數(shù)據(jù),,可以被一個超平面分開,即存在,使
(2.1)
分類的目的是尋求來最佳分離兩類數(shù)據(jù)。此時假設(shè)空間為:
(2.2)
在這個公式里,為符號函數(shù),和是非零常數(shù),能任意縮放。為減少分類超平面的重復(fù),對進(jìn)行如下約束:
(2.3)
考慮圖2.1所示的二維兩類線性可分情況,圖中實心點(diǎn)和空心點(diǎn)分別表示兩類訓(xùn)練樣本,為把兩類沒有錯誤地分開的分類線,、分別為過各類樣本中離分類
圖2.1 最優(yōu)分類超平面
線最近的點(diǎn)且平行于分類線的直線,和之間的距離叫做兩類的分類間隔(margin)。所謂最優(yōu)分類線就是要求分類線不但能將兩類無錯誤地分開(訓(xùn)練錯誤率為0),而且要使兩類的分類間隔最大。推廣到高維空間,最優(yōu)分類線就成為最優(yōu)分類超平面。由約束條件式得:
(2.4)
3 支持向量機(jī)的算法
3.1 線性可分情況
在結(jié)構(gòu)風(fēng)險最小化原則下的最優(yōu)超平面可以通過最小化泛函
得到。按照最優(yōu)化理論中二次規(guī)劃的解法,可把該問題轉(zhuǎn)化為Wolfe對偶問題來求解。構(gòu)造Lagrange函數(shù):
(3.1)
式中為Lagrange乘子。
可采用優(yōu)化算法解得最優(yōu)超平面為:
(3.2)
3.2 非線性可分情況
對于非線性可分的問題,需要將樣本通過非線性函數(shù)映射到高維特征空間中,使其線性可分,再在該特征空間中建立優(yōu)化超平面:。于是,原樣本空間的二元模式分類問題可以表示為:
(3.3)
支持向量機(jī)利用核函數(shù)簡便地解決了這個問題。只要一個核函數(shù)滿足Mercer條件,它就對應(yīng)某一變換空間的內(nèi)積,即。此時的二次優(yōu)化最終結(jié)果為
(3.4)
4 仿真研究
本文采用Iris標(biāo)準(zhǔn)數(shù)據(jù)集進(jìn)行仿真實驗,其數(shù)據(jù)是用來測試機(jī)器學(xué)習(xí)的UML標(biāo)準(zhǔn)數(shù)據(jù)庫。Iris數(shù)據(jù)集包括三類數(shù)據(jù):Versicolor(類1),Virginica(類2)和Setosa(類3)。在這三個類別中,類1與其余的兩類之間分類比較復(fù)雜,所以,我將類1看作一類,類2和類3看作另一類,研究一個二分類問題。利用S.R.Gunn編寫的Matlab中的支持向量機(jī)工具箱。本文采用目前較為常見的多項式核函數(shù)的模型選擇問題進(jìn)行仿真研究。
(4.1)
首先運(yùn)行SVM_SteveGunn工具箱中的uniclass.m函數(shù)即得圖4.1中的界面。其中,直徑較小的點(diǎn)為類1,主要分布于中間的區(qū)域;直徑較大的點(diǎn)為類2和類3,分布于左下和右上兩側(cè)。在下拉菜單中選擇Polynomial,表示選用多項式核函數(shù)。可以選擇separable(可分的)和不可分的兩種算法進(jìn)行分類,我分別對其進(jìn)行了測試并比較。
4.1 可分的情況
首先選擇separable的情況,整個模型僅有多項式的階次(Degree)一個參數(shù)需要確定,我將其從1開始逐步增大。
取不同Degree值時,支持向量機(jī)的相關(guān)性能參數(shù)如下表所示,主要有五項:執(zhí)行時間、錯分樣本數(shù)、分類間隔、支持向量個數(shù)以及支持向量的百分比。
a) 當(dāng)Degree由1變?yōu)?時,錯分的樣本個數(shù)顯著減小,由此可見核函數(shù)的參數(shù)對于正確分類起著很大的作用。
b) 當(dāng)Degree取上述四個值的時候,分類間隔都非常小,意味著支持向量機(jī)的泛化能力差。
c) 當(dāng)Degree=4時,支持向量機(jī)的各項性能較好。
4.2 不可分的情況
不在separable之前打勾,此時引入懲罰參數(shù)C,即程序中的Bound。固定可分時性能最佳的參數(shù)Degree=4,從小到大改變C的大?。?br/>
a) 與表4.1對比,不可分情況下支持向量機(jī)的執(zhí)行時間較可分情況明顯減小,分類間隔則明顯增大,可見引入C參數(shù)確實起到了正面的作用。
b) C參數(shù)越大,分類的正確率越高,但分類間隔越小。因為C參數(shù)是在目標(biāo)函數(shù)里對錯分的樣本點(diǎn)進(jìn)行懲罰的,所以選取大的C,意味著更強(qiáng)調(diào)最小化訓(xùn)練錯誤,但也同時削弱了泛化能力。
c) C參數(shù)增大的過程中,支持向量個數(shù)基本呈減小的趨勢,但是當(dāng)C大到一定程度之后,對支持向量的數(shù)目影響不大。
d) 當(dāng)C=50時,支持向量機(jī)的綜合性能較好。所謂最優(yōu)分類面就是要求分類面不但能將兩類無錯誤地分開,而且要使兩類的分類間隔最大、支持向量數(shù)目最少。這是一個折衷的過程,也正是核函數(shù)模型選擇的難點(diǎn)所在。
進(jìn)一步地,固定C=50,調(diào)節(jié)Degree參數(shù),尋找不可分情況下的最優(yōu)支持向量機(jī)。
5 結(jié)論
本文在闡述支持向量機(jī)原理的基礎(chǔ)上,通過Matlab仿真實驗探討了支持向量機(jī)模型選擇的問題,得到了以下結(jié)論:C參數(shù)越大,分類的正確率越高,但分類間隔越小。因為C參數(shù)是在目標(biāo)函數(shù)里對錯分的樣本點(diǎn)進(jìn)行懲罰的,所以選取大的C,意味著更強(qiáng)調(diào)最小化訓(xùn)練錯誤,但也同時削弱了泛化能力。當(dāng)參數(shù)時,線性軟間隔分類機(jī)算法即退化為線性硬間隔分類機(jī),此時可以認(rèn)為兩個算法相同。
參 考 文 獻(xiàn)
[1] 李國正,王猛,曾華軍譯. 支持向量機(jī)導(dǎo)論[M]. 北京:電子工業(yè)出版社,2004.
[2] 祁享年. 支持向量機(jī)及其應(yīng)用研究綜述[J]. 計算機(jī)工程,2004,30(10):8-9.
[3] 許建華,張學(xué)工,李衍達(dá). 支持向量機(jī)的新發(fā)展[J]. 控制與決策,2004,19(5):481.
[4] 謝芳芳. 基于支持向量機(jī)的故障診斷方法[D]. 長沙:湖南大學(xué),2006.
[5]