主要記錄了SVM思想的理解,關鍵環節的推導過程,主要是作為准備面試的需要.
1.准備知識-點到直線距離
點\(x_0\)到超平面(直線)\(w^Tx+b=0\)的距離,可通過如下公式計算:
因為公式分子部分沒有帶絕對值,因此計算得到的d有正負之分.因為超\(w^Tx+b=0\)將空間分為兩部分(以2維為例,直線\(w_1x+w_2y+b=0\),將二維空間划分為上下兩部分),其中一部分d大於0,另一部分d小於0.
上面距離公式的簡單推導過程如下:
- 超平面\(w^Tx+b=0\)的一個法向量為\(w\):
因為對於超平面上任意不同的兩點\(x_0,x_1\),他們所構成的向量\((x_1-x_0)\),與\(w\)的內積為:
即,\(w\)與超平面上任意向量(直線)正交,即\(w\)為超平面的法向量,\(\frac{w}{||w||}\)為超平面的單位法向量.
2. 點\(x_0\)到超平面\(w^Tx+b=0\)的距離等於,平面上任意一點\(x_1\)與點\(x_0\)構成的向量在單位法向量上的投影,即:
2. 支持向量機的數學表示
SVM的圖示如下,主要思想是尋找使得margin最大的超平面,該超平面為兩條平行的邊界超平面的中心.
- 假設分類的超平面為\(w^Tx+b=0\),兩個平行的邊界超平面分別為
因為\(\frac{w}{l}^Tx+\frac{b}{l}=0\)與\(w^Tx+b=0\)是同一個超平面,所以等式兩邊同除以\(l\),並進行變量替換后,邊界超平面可以定義為如下形式:
-
樣本被兩個邊界超平面分隔開,假設對於標簽\(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轉換為帶有條件約束的最優化問題:
3.SVM的求解思路
對於上面帶有約束條件的凸優化問題,構造如下拉格朗日函數:
則原帶有約束條件的問題可以等價為\(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\)的偏導數為零:
可以得到(本處省略了具體的求導過程):
將\(w,b\)帶入\(L(w,b,\alpha)\)可得\(\theta(\alpha)\)如下(省略了具體的帶入求解過程):
對偶問題最終可以如下表示:
\(\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\),兩式相加可得:
根據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定義如下:
其中,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\).