百面機器學習 #3 經典算法:01-2 不完全線性可分(軟間隔)支撐向量機SVM


假設訓練數據集不是線性可分的。通常情況是,訓練數據中有一些特異點(outlier),將這些特異點除去後,剩下大部分的樣本點組成的集合是線性可分的。

①從原問題到對偶問題

  • 對每個樣本點(xi,yi)(x_i,y_i) 引進一個鬆弛變量,使函數間隔加上鬆弛變量大於等於1。約束條件變爲
    yi(wxi+b)1ξi,i=1,2,...,N y_i(w\cdot x_i +b)\ge1-\xi_i,\quad i =1,2,...,N
    同時,對每個鬆弛變量,支付一個代價,原優化問題變爲凸二次規劃(convex quadratic programming)問題:
    minw,b,ξ12w2+Ci=1Nξi s.t. yi(wxi+b)1ξi,i=1,2,,Nξi0,i=1,2,,N \begin{array}{ll} \min \limits_{w, b, \xi} & \frac{1}{2}\|w\|^{2}+C \sum_{i=1}^{N} \xi_{i} \\ \text { s.t. } & y_{i}\left(w \cdot x_{i}+b\right) \geqslant 1-\xi_{i}, \quad i=1,2, \cdots, N \\ & \xi_{i} \geqslant 0, \quad i=1,2, \cdots, N \end{array}
    C 稱爲懲罰參數,一般由應用問題決定,C 值大時對誤分類的懲罰增大,C值小時對誤分類的懲罰減小。最小化目標函數包含兩層含義:使12w2\frac{1}{2}||w||^2 儘量小即間隔儘量大,同時使誤分類點的個數儘量小,C 是調和二者的係數。

  • 原始最優化問題的拉格朗日函數是
    L(w,b,ξ,α,μ)12w2+Ci=1Nξii=1Nαi(yi(wxi+b)1+ξi)i=1Nμiξi L(w, b, \xi, \alpha, \mu) \equiv \frac{1}{2}\|w\|^{2}+C \sum_{i=1}^{N} \xi_{i}-\sum_{i=1}^{N} \alpha_{i}\left(y_{i}\left(w \cdot x_{i}+b\right)-1+\xi_{i}\right)-\sum_{i=1}^{N} \mu_{i} \xi_{i}
    其中αi0,μi0\alpha_i\ge0,\mu_i\ge0

②對偶問題的解的形式化簡

現在我們要解的原問題的變量從兩個w,bw,b變成了三個w,b,ξw,b,\xi,同樣原始問題等價於對拉格朗日函數的min-max問題,對偶問題是拉格朗日函數的max-min問題,其中min針對問題變量,max針對約束參數。對偶問題的內層min問題,對問題變量求導有
wL(w,b,ξ,α,μ)=wi=1Nαiyixi=0bL(w,b,ξ,α,μ)=i=1Nαiyi=0ξiL(w,b,ξ,α,μ)=Cαiμi=0 \begin{array}{l} \nabla_{w} L(w, b, \xi, \alpha, \mu)=w-\sum_{i=1}^{N} \alpha_{i} y_{i} x_{i}=0 \\ \nabla_{b} L(w, b, \xi, \alpha, \mu)=-\sum_{i=1}^{N} \alpha_{i} y_{i}=0 \\ \nabla_{\xi_{i}} L(w, b, \xi, \alpha, \mu)=C-\alpha_{i}-\mu_{i}=0 \end{array}
化簡得
w=i=1Nαiyixii=1Nαiyi=0Cαiμi=0 \begin{array}{c} w=\sum_{i=1}^{N} \alpha_{i} y_{i} x_{i} \\ \sum_{i=1}^{N} \alpha_{i} y_{i}=0 \\ C-\alpha_{i}-\mu_{i}=0 \end{array}
代回拉格朗日函數,得到對偶問題:
maxα12i=1Nj=1Nαiαjyiyj(xixj)+i=1Nαi s.t. i=1Nαiyi=0Cαiμi=0αi0μi0,i=1,2,,N \begin{array}{ll} \max \limits_{\alpha} & -\frac{1}{2} \sum_{i=1}^{N} \sum_{j=1}^{N} \alpha_{i} \alpha_{j} y_{i} y_{j}\left(x_{i} \cdot x_{j}\right)+\sum_{i=1}^{N} \alpha_{i} \\ \text { s.t. } & \sum_{i=1}^{N} \alpha_{i} y_{i}=0 \\ & C-\alpha_{i}-\mu_{i}=0 \\ & \alpha_{i} \geqslant 0 \\ & \mu_{i} \geqslant 0, \quad i=1,2, \cdots, N \end{array}
再將對目標函數求極大轉換爲求極小,消去變量μi\mu_i,得到對偶問題如下,可以看到只是約束參數αi\alpha_i的範圍多了一個C
minα12i=1Nj=1Nαiαjyiyj(xixj)i=1Nαi s.t. i=1Nαiyi=00αiC,i=1,2,,N \begin{array}{ll} \min \limits_{\alpha} & \frac{1}{2} \sum_{i=1}^{N} \sum_{j=1}^{N} \alpha_{i} \alpha_{j} y_{i} y_{j}\left(x_{i} \cdot x_{j}\right)-\sum_{i=1}^{N} \alpha_{i} \\ \text { s.t. } & \sum_{i=1}^{N} \alpha_{i} y_{i}=0 \\ & 0 \leqslant \alpha_{i} \leqslant C, \quad i=1,2, \cdots, N \end{array}
可以通過求解對偶問題而得到原始問題的解,進而確定分離超平面和決策函數。

③從對偶問題的解到原問題的解

假設對偶問題的解α\alpha^*已經知道,(對原問題)用KKT條件得
wL(w,b,ξ,α,μ)=wi=1Nαiyixi=0bL(w,b,ξ,α,μ)=i=1Nαiyi=0ξL(w,b,ξ,α,μ)=Cαμ=0αi(yi(wxi+b)1+ξi)=0μiξi=0yi(wxi+b)1+ξi0ξi0αi0μi0,i=1,2,,N \begin{array}{l} \nabla_{w} L\left(w^{*}, b^{*}, \xi^{*}, \alpha^{*}, \mu^{*}\right)=w^{*}-\sum_{i=1}^{N} \alpha_{i}^{*} y_{i} x_{i}=0 \\ \nabla_{b} L\left(w^{*}, b^{*}, \xi^{*}, \alpha^{*}, \mu^{*}\right)=-\sum_{i=1}^{N} \alpha_{i}^{*} y_{i}=0 \\ \nabla_{\xi} L\left(w^{*}, b^{*}, \xi^{*}, \alpha^{*}, \mu^{*}\right)=C-\alpha^{*}-\mu^{*}=0 \\ \alpha_{i}^{*}\left(y_{i}\left(w^{*} \cdot x_{i}+b^{*}\right)-1+\xi_{i}^{*}\right)=0 \\ \mu_{i}^{*} \xi_{i}^{*}=0 y_{i}\left(w^{*} \cdot x_{i}+b^{*}\right)-1+\xi_{i}^{*} \geqslant 0 \\ \xi_{i}^{*} \geqslant 0 \\ \alpha_{i}^{*} \geqslant 0 \\ \mu_{i}^{*} \geqslant 0, \quad i=1,2, \cdots, N \end{array}
第一個式子容易得到
w=i=1Nαiyixi w^{*}=\sum_{i=1}^{N} \alpha_{i}^{*} y_{i} x_{i}

至少有一個(不是要求的,是求解問題的時候,發現至少一個非零纔是合理的,否則都爲0,根據第一個式子w也爲0)αj>0\alpha_j^*>0,任選其一,yj(wxj+b)1=0y_{j}\left(w^{*} \cdot x_{j}+b^{*}\right)-1=0

注意到yj2=1y_{j}^{2}=1,聯立上述二式得

b=1yjwxj=yji=1Nαiyixixjb^*=\frac{1}{y_j}-w^*\cdot x_j=y_j-\sum_{i=1}^{N} \alpha_{i}^{*} y_{i} x_{i}x_j

和前述硬間隔的結果一樣。

④從原問題的解到分離超平面、決策函數、支撐向量

進一步,分離超平面可以寫成
i=1Nαiyi(xxi)+b=0 \sum_{i=1}^{N} \alpha_{i}^{*} y_{i}\left(x \cdot x_{i}\right)+b^{*}=0
分類決策函數可以寫成
f(x)=sign(i=1Nαiyi(xxi)+b) f(x)=sign\left(\sum_{i=1}^{N} \alpha_{i}^{*} y_{i}\left(x \cdot x_{i}\right)+b^{*}\right)
可以看到,w,bw^*,b^*只依賴於那些αj>0\alpha_j^*>0的樣本,這樣的對應的訓練樣本我們就稱之爲支撐向量

注:

每次任選一個符合條件的非0的αj\alpha_j就可求得w和b,但是這樣的結果可能由於j不一樣而不唯一。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章