摘 要: 通過將v-支持向量機的目標函數(shù)的L1正則化項變?yōu)長2正則化項,構造了一種L2軟間隔支持向量機。通過引入拉格朗日乘數(shù),構造拉格朗日函數(shù),導出了L2軟間隔支持向量機的對偶二次規(guī)劃(Quadratic Programming, QP)形式。使用KKT(Karush-Kuhn-Tucker)條件,導出了L2軟間隔支持向量機的軟間隔ρ及偏置項b的表達式,并通過Matlab數(shù)學軟件進行編程實現(xiàn)L2軟間隔支持向量機的求解。
關鍵詞: v-支持向量機; L2軟間隔支持向量機; KKT條件
中圖分類號: TP18 文獻標識碼: A 文章編號:2095-2163(2013)03-0085-02
An Implementation of A L2 Norm Soft Margin
Support Vector Machine on Matlab
HUANG Chengquan
(School of Science, Guizhou Minzu University, Guiyang 550025,China)
Abstract: A L2 norm soft margin support vector machine is constructed by changing the L1 regularization term of the v-support vector machine objective function into L2 regularization term. By introducing Lagrangian multipliers and constructing Lagrangian function, the dual quadratic programming (QP) of the L2 norm soft margin support vector machine is derived. By using Karush-Kuhn-Tucker (KKT) conditions, the expressions of the soft margin ρ and the bias term b of the L2 norm soft margin support vector machine are deduced. Furthermore, the optimal solutions of the L2 norm soft margin support vector machine is implemented by Matlab math software.
Key words: v- Support Vector Machine; L2 Norm Soft Margin Support Vector Machine; KKT Conditions
0 引 言
建立在統(tǒng)計學習理論上的支持向量機(Support Vector Machine, SVM)[1]是近年來機器學習、模式識別與人工智能、圖像識別、生物信息學等領域的研究熱點。SVM問題的對偶為一類二次規(guī)劃(QP)問題,因此SVM問題的解為全局最優(yōu)解。SVM建立在結構風險最小化基礎之上,具有良好的泛化性和較高的分類精確性,并利用核映射將樣本空間中的非線性可分問題轉化為高維特征空間的線性可分問題,由此而實現(xiàn)對樣本空間中的非線性可分問題有效研究。
本文將v-支持向量機[2-4]的目標函數(shù)的L1正則化項變?yōu)長2正則化項,構造了一種L2軟間隔支持向量機。通過使用KKT條件,推導得出了L2軟間隔支持向量機的解的形式,并通過Matlab編程實現(xiàn)了L2軟間隔支持向量機的求解。
1 v-支持向量機
設兩類樣本數(shù)據(jù)集X={xi|xi∈Rd},xi為列向量,yi∈{-1,1}為類標簽,i=1,…,l,φ為數(shù)據(jù)樣本空間X到高維特征空間的核映射。v-SVM為求解如下的優(yōu)化問題
其中,w為權重向量,b為偏置項,ξi為松弛變量,v∈(0,1]為預先選取的參數(shù),ρ為軟間隔,i=1,…,l。
通過對式(1)引入拉格朗日乘數(shù)向量α=(α1.…,αl)T,并構造拉格朗日函數(shù)進行求解,得到(1)的對偶為二次規(guī)劃:
2 L2軟間隔支持向量機
容易看出,在v-支持向量機中,如果將目標函數(shù)(1)中的L1正則化項改變?yōu)長2正則化項,則可去掉松弛變量ξi的非負約束。基于此,本文提出的L2軟間隔支持向量機是求解如下的優(yōu)化問題,公式如下:
其中,C為錯分懲罰因子。
與v-支持向量機求解類似,通過對式(3)引入拉格朗日乘子向量α=(α1,…,αl)T,構造拉格朗日函數(shù)為:
(12)第3期 黃成泉:一種L2軟間隔支持向量機的Matlab實現(xiàn) 智能計算機與應用 第3卷
3 L2軟間隔支持向量機Matlab實現(xiàn)
在Matlab優(yōu)化工具箱中提供了一個求解二次規(guī)劃的函數(shù)quadprog[5],其標準調用形式為alpha=quadprog(H, f, A, b, AEQ, beq, LB, UB),有關該函數(shù)的詳細用法,請參考Matlab幫助文檔。Matlab中,quadprog函數(shù)是求解如下形式的二次規(guī)劃:
比較二次規(guī)劃(9)和(13),不難得到二次規(guī)劃(9)的Matlab調用形式。即
Alpha_l2 = quadprog(H_L2, f_L2, A_L2, b_L2, AEQ_L2, beq_L2, LB_L2, UB_L2)
其中,H_L2=KyyT+1CI, K=(φ(xi)Tφ(xj))l×l為和函數(shù),I為單位矩陣, f_L2 =[],A_L2 =[],b_L2 =[],AEQ_L2 = ones(1,size(H_L2,1))為元素全為1的行向量,beq_L2 = 1,LB_L2 = zeros(size(H,1),1)為元素全為0的列向量,UB_L2 =[]。
在確定核函數(shù)的形式并通過Matlab二次規(guī)劃函數(shù)quadprog調用求得拉格朗日系數(shù)Alpha_l2后,即可使用L2軟間隔支持向量機的輸出函數(shù)g(x),得到新樣本點x的輸出。
4 結束語
通過將v-支持向量機的目標函數(shù)的L1正則化項變?yōu)長2正則化項,構造了一種L2軟間隔支持向量機,并通過調用Matlab二次規(guī)劃函數(shù)進行求解,實現(xiàn)了L2軟間隔支持向量機對新樣本點的輸出。
參考文獻:
[1]VAPNIC V N. 統(tǒng)計學習理論的本質[M]. 張學工,譯. 北京: 清華大學出版社, 2000.
[2]CHEN P H, LIN C J, SCHLKOPF B. A tutorial on v-support vector machines[J]. Applied Stochastic Models in Business and Industry, 2005, 21(2): 111-136.
[3]CHANG C C, LIN C J. Training v-support vector classifiers: theory and algorithms[J]. Neural computation, 2001, 13(9): 2119-2147.
[4]SCHLKOPF B, SMOLA A J, WILLIAMSON R C, et al. New support vector algorithms[J]. Neural computation, 2000, 12(5): 1207-1245.
[5]GUSTAVSEN B. Computer code for passivity enforcement of rational macromodels by residue perturbation[J]. IEEE Transactions on Advanced Packaging, 2007, 30(2): 209-215.
--------------------------------------------------------------------------------