標籤:

SVM推導過程

SVM推導過程

最近在學習關於SVM的相關知識,偶然看了看李航的《統計學習方法》,茅塞頓開,驚為天人。在此記下一些步驟。

對於超平面 	extbf{w}^T	extbf{x}+b=0 ,先有幾個定義:

1、函數間隔(functional margin):

對於每個樣本點而言,函數間隔為 {hat{gamma}}_i=y_i(	extbf{w}^T	extbf{x}_i+b)

對於所有樣本點而言,它們的函數間隔為 hatgamma=min limits_{i}gamma_i,forall{i}

2、幾何間隔(geometric margin):

對於每個樣本點而言,幾何間隔為 {gamma}_i=frac{1}{left| 	extbf{w} 
ight|}cdot{y_i(	extbf{w}^T	extbf{x}_i+b)}

對於所有樣本點而言,它們的幾何間隔為 gamma=min limits_{i}gamma_i,forall{i}


SVM的目的是得到一個超平面,可以使所有樣本點分類正確,並使該平面對所有樣本點的幾何間隔最大,即:

maxlimits_{	extbf{w},b}{gamma}\s.t.frac{1}{left|	extbf{w}
ight|}y_i(	extbf{w}^T	extbf{x}_i+b)geqgamma,forall{i}

再根據幾何間隔和函數間隔的關係,問題可以轉化成:

maxlimits_{	extbf{w},b}{frac{hatgamma}{left| 	extbf{w} 
ight|}}\s.t.y_i(	extbf{w}^T	extbf{x}_i+b)geqhatgamma,forall{i}

這時用到一個技巧。若將 	extbf{w},b 等比例放縮為 	extbf{w}^{}=lambda	extbf{w},b^{}=lambda b ,會形成一個新的問題,可以明顯地看出在新的問題中,取 hatgamma^{}=lambdahatgamma ,則可以證明這兩個問題的優化目標和條件其實是一致的,也就是說新的問題和原問題是等價的。從幾何的角度理解,想像一個超平面將若干樣本點分離開,這時若將 	extbf{w},b 等比例放縮為 lambda	extbf{w},lambda b ,超平面仍然不變,樣本點也依舊不變,只有函數間隔 hatgamma 變化了,變成了 lambdahatgamma 。這就說明可以通過等比例放縮 	extbf{w},b 將函數間隔 hatgamma 調整成任意值,且保持該優化問題的結果(即所求超平面,因為是等比例放縮)不變。所以對於 forall{	extbf{w},b} ,都可以通過等比例放縮 	extbf{w},b 來使得 hatgamma=1 ,並保持所求超平面不變。所以上述問題又可以轉化成:

maxlimits_{	extbf{w},b}{frac{1}{left| 	extbf{w} 
ight|}}\s.t.y_i(	extbf{w}^T	extbf{x}_i+b)geq1,forall{i}

因為在機器學習的任務中,我們常常是最小化某個量,所以將上式等價於:

minlimits_{	extbf{w},b}{frac{1}{2}{left| 	extbf{w} 
ight|}}^2\s.t.y_i(	extbf{w}^T	extbf{x}_i+b)geq1,forall{i}

這就是我們最終的優化目標。


另外,可以證明滿足上述優化目標的結果是存在且唯一的。

1.存在性:

由於假設了所有樣本點線性可分,故一定存在滿足限制條件的平面。另外, {frac{1}{2}{left| 	extbf{w} 
ight|}}^2 存在下界,故滿足上述優化目標的結果一定存在。

2.唯一性:

假設有多個超平面滿足上述優化目標。任取其二,不妨分別設為 	extbf{w}_1	extbf{x}+b_1=0	extbf{w}_2	extbf{x}+b_2=0 。由於它們均滿足目標函數是最小的,故:

{frac{1}{2}{left| 	extbf{w}_1 
ight|}}^2={frac{1}{2}{left| 	extbf{w}_2 
ight|}}^2

即:

{left| 	extbf{w}_1 
ight|}={left| 	extbf{w}_2 
ight|}

這時用到一個技巧來證明 	extbf{w}_1=	extbf{w}_2 :令 	extbf{w}=frac{	extbf{w}_1+	extbf{w}_2}{2},b=frac{b_1+b_2}{2} 。再設 {left| 	extbf{w}_1 
ight|}={left| 	extbf{w}_2 
ight|}=c 。根據優化目標可知 minlimits_{	extbf{w},b}{{left| 	extbf{w} 
ight|}}={left| 	extbf{w}_1 
ight|}={left| 	extbf{w}_2 
ight|}=c ,所以就有

cleq||	extbf{w}||=||frac{	extbf{w}_1+	extbf{w}_2}{2}||leqfrac{||	extbf{w}_1||+||	extbf{w}_2||}{2}=c

所以

||frac{	extbf{w}_1+	extbf{w}_2}{2}||=frac{||	extbf{w}_1||+||	extbf{w}_2||}{2}

根據三角不等式的等式成立條件,可以得到

	extbf{w}_1=lambda	extbf{w}_2

又由於 {left| 	extbf{w}_1 
ight|}={left| 	extbf{w}_2 
ight|} ,所以 lambda=pm1 。若 lambda=-1 ,此時 	extbf{w}=frac{	extbf{w}_1+	extbf{w}_2}{2}=	extbf{0} ,由 (	extbf0,b) 形成的超平面顯然不滿足優化條件,故捨去,所以 lambda=1 ,即:

	extbf{w}_1=	extbf{w}_2

下面接著證 b_1=b_2 :令超平面 l_1:	extbf{wx}+b_1=0\l_2:	extbf{wx}+b_2=0 這時用到一個技巧——取向量機。設 (	extbf{x}_1,+1),(	extbf{x}_2,+1) 分別是使得 l_1,l_2 的約束條件在超平面一側取等號的樣本點。則有:

	extbf{w}^T	extbf{x}_1+b_1=1

又因為 (	extbf{x}_2,+1) 是樣本點之一,所以一定滿足 l_1 的優化條件,故有:

	extbf{w}^T	extbf{x}_2+b_1geq1

所以有

	extbf{x}_1leq	extbf{x}_2

同理,根據 	extbf{w}^T	extbf{x}_2+b_2=1\	extbf{w}^T	extbf{x}_1+b_2ge1

所以有 	extbf{x}_1geq	extbf{x}_2

	extbf{x}_1=	extbf{x}_2

所以 b_1=b_2

由上述證明可以看出,滿足優化條件的結果只有一個超平面。


再介紹一下關於拉格朗日對偶性。

假設現有原始問題:

min limits_{x} f(x)\s.t.c_i(x)le0quadforall{i=1,2,...,n}\h_j(x)=0quadforall{j=1,2,...,l}

引入廣義拉格朗日函數:

L(x,alpha,eta)=f(x)+sum_{i=1}^{n}{alpha_i}c_i(x)+sum_{j=1}^{l}eta_jh_i(x)\(alpha_ige0quadforall{i=1,2,...,n})

可以看出,若不滿足原始問題的限制條件 c_i(x)le0quadforall{i=1,2,...,n}\h_j(x)=0quadforall{j=1,2,...,l}

exists{i},s.t.c_i(x)>0exists{i},s.t.h_i(x)
e0 ,都會使得 maxlimits_{alpha,eta}L(x,alpha,eta)=+infty

但是如果滿足原始問題的限制條件,可以發現 maxlimits_{alpha,eta}L(x,alpha,eta)=f(x)

因為要使得 L(x,alpha,eta) 最大,而 c_i(x)le0,h_i(x)=0quadforall{i}=1,2,...,n ,可以令 alpha_i=0quadforall{i}=1,2,...,n ,使得 L(x,alpha,eta) 達到最大。

根據上面的結論,原始問題可以等價轉化成拉格朗日極小極大問題: min_{x}max_{alpha,eta:alpha_ige0}L(x,alpha,eta)\s.t.c_i(x)le0quadforall{i=1,2,...,n}\h_j(x)=0quadforall{j=1,2,...,l}

我們再看極小極大問題的對偶問題——極大極小問題: max_{alpha,eta}min_{x}L(x,alpha,eta)\s.t.alpha_ige0quadforall{i=1,2,...,n}

注意此處對 x 的限制條件仍然沒變。

下面給出幾個定理,討論極小極大問題與其對偶問題之間的關係。

定理1:如果函數 f(x),c_i(x) 是凸函數, h_j(x) 是仿射函數,並且不等式約束 c_i(x) 是嚴格可行的,即存在 x ,對所有 ic_i(x)<0 ,那麼存在 x^*,alpha^*,eta^* ,使 x^* 是原始問題的解, alpha^*,eta^* 是對偶問題的解。

定理2:如果函數 f(x),c_i(x) 是凸函數, h_j(x) 是仿射函數,並且不等式約束 c_i(x) 是嚴格可行的,即存在 x ,對所有 ic_i(x)<0 ,那麼 x^*alpha^*,eta^* 分別是原始問題和對偶問題的解的充分必要條件是 x^*,alpha^*,eta^* 滿足KKT條件: 
abla_xL(x,alpha,eta)=0\alpha_ic_i(x)=0quadforall{i=1,2,...,n}\alpha_ige0quadforall{i=1,2,...,n}\c_i(x)le0quadforall{i=1,2,...,n}\h_j(x)=0quadforall{j=1,2,...,l}

根據上述定理,就可以通過求解對偶問題來解出拉格朗日極小極大問題。


現在我們開始求解問題: minlimits_{	extbf{w},b}{frac{1}{2}{left| 	extbf{w} 
ight|}}^2\s.t.y_i(	extbf{w}^T	extbf{x}_i+b)geq1,forall{i=1,2,...,n}

把該優化問題看成原始問題,得到廣義拉格朗日函數:L(	extbf{w},b,alpha)=frac{1}{2}||	extbf{w}||^2+sum_{i=1}^{n}{alpha_i}[1-y_i(	extbf{w}^Tx_i+b)]\1-y_i(	extbf{w}^Tx_i+b)le0quadforall{i=1,2,...,n}

原始問題便可轉化成等價問題: min_{	extbf{w},b}max_{alpha:alpha_ige0}L(	extbf{w},b,alpha)\s.t.quad1-y_i(	extbf{w}^Tx_i+b)le0quadforall{i=1,2,...,n}

要求解該問題,可先求解對偶問題: max_{alpha}min_{	extbf{w},b}L(	extbf{w},b,alpha)\s.t.quadalpha_ige0quadforall{i=1,2,...,n}

先求 min_{	extbf{w},b}L(	extbf{w},b,alpha) ,即 min_{	extbf{w},b}frac{1}{2}||	extbf{w}||^2+sum_{i=1}^{n}{alpha_i}[1-y_i(	extbf{w}^Tx_i+b)])

要求極小值點,讓目標函數對各個變數偏導為零,有: 
abla_{	extbf{w}}L(	extbf{w},b,alpha)=0\
abla_{b}L(	extbf{w},b,alpha)=0

可得 	extbf{w}=sum_{i=1}^{n}alpha_iy_ix_i\sum_{i=1}^{n}alpha_iy_i=0

代入上式得: min_{	extbf{w},b}L(	extbf{w},b,alpha)=-frac{1}{2}sum_{i=1}^{n}sum_{j=1}^{n}alpha_ialpha_jy_iy_j(x_iullet{x_j})+sum_{i=1}^{n}alpha_i

接著再求出 max_{alpha:alpha_ige0}min_{	extbf{w},b}L(	extbf{w},b,alpha) 即可。

這裡用到了SMO演算法。

推薦閱讀:

EdX-Columbia機器學習課第2講筆記:線性回歸與最小二乘
機器學習入門筆記4
Hulu機器學習問題與解答系列 | 十六:經典優化演算法
青少兒編程究竟是目光長遠還是盲目跟風? 專家帶你解讀人工智慧時代下孩子教育你不得不知道的那些事
過擬合與模型容量

TAG:SVM | 機器學習 |