SVM的推導和理解


主要記錄了SVM思想的理解,關鍵環節的推導過程,主要是作為准備面試的需要.

1.准備知識-點到直線距離

\(x_0\)到超平面(直線)\(w^Tx+b=0\)的距離,可通過如下公式計算:

\[d = \frac{w^Tx_0+b}{||w||} \]

因為公式分子部分沒有帶絕對值,因此計算得到的d有正負之分.因為超\(w^Tx+b=0\)將空間分為兩部分(以2維為例,直線\(w_1x+w_2y+b=0\),將二維空間划分為上下兩部分),其中一部分d大於0,另一部分d小於0.

上面距離公式的簡單推導過程如下:

  1. 超平面\(w^Tx+b=0\)的一個法向量為\(w\):
    因為對於超平面上任意不同的兩點\(x_0,x_1\),他們所構成的向量\((x_1-x_0)\),與\(w\)的內積為:

\[\begin{align} w^T(x_1-x_0) &= w^Tx_1-w^Tx_0\\ &= -b-(-b)\\ &= 0 \end{align}\]

即,\(w\)與超平面上任意向量(直線)正交,即\(w\)為超平面的法向量,\(\frac{w}{||w||}\)為超平面的單位法向量.
2. 點\(x_0\)到超平面\(w^Tx+b=0\)的距離等於,平面上任意一點\(x_1\)與點\(x_0\)構成的向量在單位法向量上的投影,即:

\[\begin{align} d &= \frac{w^T(x_0-x_1)}{||w||}\\ &= \frac{w^Tx_0-w^Tx_1}{||w||}\\ &= \frac{w^Tx_0-(-b)}{||w||}\\ &= \frac{w^Tx_0+b}{||w||}\\ \end{align}\]

2. 支持向量機的數學表示

SVM的圖示如下,主要思想是尋找使得margin最大的超平面,該超平面為兩條平行的邊界超平面的中心.

  • 假設分類的超平面為\(w^Tx+b=0\),兩個平行的邊界超平面分別為

\[\begin{cases} w^Tx+b=l\\ w^Tx+b=-l\\ \end{cases}\]

因為\(\frac{w}{l}^Tx+\frac{b}{l}=0\)\(w^Tx+b=0\)是同一個超平面,所以等式兩邊同除以\(l\),並進行變量替換后,邊界超平面可以定義為如下形式:

\[\begin{cases} w^Tx+b=1\\ w^Tx+b=-1\\ \end{cases}\]

  • 樣本被兩個邊界超平面分隔開,假設對於標簽\(y_i=1\)的樣本,\(w^Tx_i+b\ge 1\).則對於標簽\(y_i=-1\)的樣本,\(w^Tx_i+b\le -1\).兩種情況可以統一為下式:$$y_i(w^Tx_i+b)\ge 1$$

  • 邊界平面\(w^Tx+b=1\)上任意一點到分類超平面\(w^Tx+b=0\)的距離為:\(d =\frac{1}{||w||}\),margin為其二倍,等於\(\frac{2}{||w||}\).則SVM求解的過程就是求解\(max_w\frac{2}{||w||}\)的過程,該過程等同於\(min_w\frac{1}{2}||w||^2\).

  • 至此,我們將SVM轉換為帶有條件約束的最優化問題:

\[\begin{cases} min_w\frac{1}{2}||w||^2\\ y_i(w^Tx_i+b)\ge 1\\ \end{cases}\]

3.SVM的求解思路

對於上面帶有約束條件的凸優化問題,構造如下拉格朗日函數:

\[L(w,b,\alpha)=\frac{1}{2}||w||^2+\sum_{i}\alpha_i(1-y_i(w^Tx_i+b)) \]

則原帶有約束條件的問題可以等價為\(min_{w,b}max_{\alpha}L(w,b,\alpha)\),將min和max互換順序,得到原問題的對偶問題,\(max_{\alpha}min_{w,b}L(w,b,\alpha)\),令\(\theta(\alpha) = min_{w,b}L(w,b,\alpha)\),則對偶問題可以表示為\(max_{\alpha}\theta(\alpha)\)

因為SVM原問題為凸優化問題,在slater條件滿足是,原問題與對偶問題等價,可以通過求解對偶問題得到原問題的最優解(因為KKT條件為強對偶的必要條件,則此時KKT條件必然也是滿足的).

求解\(\theta(\alpha)\),令\(L(w,b,\alpha)\)\(w,b\)的偏導數為零:

\[\begin{cases} \frac{\partial L(w,b,\alpha)}{\partial w} = 0\\ \frac{\partial L(w,b,\alpha)}{\partial b} = 0\\ \end{cases}\]

可以得到(本處省略了具體的求導過程):

\[\begin{cases} w = \sum_{i}\alpha_iy_ix_i\\ \sum_{i}\alpha_iy_i = 0\\ \end{cases}\]

\(w,b\)帶入\(L(w,b,\alpha)\)可得\(\theta(\alpha)\)如下(省略了具體的帶入求解過程):

\[\theta(\alpha) = \sum_{i}\alpha_i - \frac{1}{2}\sum_{i,j}\alpha_i\alpha_jy_iy_jx_i^Tx_j \]

對偶問題最終可以如下表示:

\[\begin{cases} max_\alpha \sum_{i}\alpha_i - \frac{1}{2}\sum_{i,j}\alpha_i\alpha_jy_iy_jx_i^Tx_j\\ \alpha_i \ge 0\\ \sum_{i}\alpha_iy_i = 0\\ \end{cases}\]

\(\alpha_i \ge 0\)是拉格朗日因子本身需要滿足的條件,\(\sum_{i}\alpha_iy_i = 0\)\(L(w,b,\alpha)\)\(b\)偏導為0的約束.

求解上式(利用SMO算法,比較復雜本處省略),可以得到最優的一組\(\alpha_i^*\).然后利用\(w^* = \sum_{i}\alpha_i^*y_ix_i\)求解得到最優的\(w^*\).假設\(x_+,x_-\),分別為兩個邊界超平面上的點,則\(w^*x_++b^*=1\),\(w^*x_-+b^* = -1\),兩式相加可得:

\[b^* = -\frac{w^*x_++w^*x_-}{2} \]

根據KKT條件,\(\alpha^*_i(y_i(w^*x_i+b)-1)=0\),則若\(\alpha^*_i>0\),則\(y_i(w^*x_i+b)-1=0\),即\(x_i\)在邊界分類超平面上.則求解b過程中的\(x_+,x_-\)可以在\(\alpha^*_i>0\)\(x_i\)中尋找.

4.soft margin的理解

對於線性不可分的樣本(有噪聲干擾),可以適當放松邊界超平面,以得到更好的魯棒性能.soft margin形式下的SVM定義如下:

\[\begin{cases} min_{w,b,\xi}\frac{1}{2}||w||^2+C\sum_{i}\xi_i\\ y_i(w^Tx_i+b)\ge 1-\xi_i\\ \xi_i\ge0 \end{cases}\]

其中,C為\(\xi_i\)的懲罰因子,C越大,對\(\xi\)的懲罰越大,\(\xi\)的可能取值越小,soft margin效果越弱,魯棒性能越差,反之亦然.

5.核技巧的理解

核函數能夠帶來非線性能力,通過將特征映射到高維空間,使得在低維空間中非線性可分的樣本在高位空間中線性可分.
SVM對樣本分類的判別方法為:\(w^Tx+b\ge0\),則\(y=1\),否則\(y=0\)
在本文前面分析過程中可到:\(w^* = \sum_{i}\alpha_i^*y_ix_i\),帶入判別式可得:\(\sum_{i}\alpha_i^*y_ix_i^Tx+b\ge0\),即\(\sum_{i}\alpha_i^*y_i<x_i,x>+b\ge0\).
將上面特征向量的內積換成核函數的內積,即可以得到核函數下SVM的判別表達式:\(\sum_{i}\alpha_i^*y_i<K(x_i),K(x)>+b\ge0\),實際上,在使用核函數時我們並不需要先將特征映射到高維,再在高維進行內積運算,我們往往直接在低維計算出高位內積的結果,這樣並沒有因維度增加而顯著增加計算量.即上式一般改寫為:\(\sum_{i}\alpha_i^*y_iK(x_i,x)+b\ge0\).


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM