支持向量機(二)

  之前的博文中,我們討論了線性支持向量機。這裏,我們討論非線性的情況。

(1)樣本集線性不可分,是說對於樣本集(x_1,y_1),(x_2,y_2),(x_3,y_3),...,(x_N,y_N),其中x_i\in R^d,y_i\in\left \{ +1,-1 \right \},不等式y_i(wx_i+b)-1\geqslant 0,(i=1,2,3...N)不可能被所有樣本同時滿足。

(2)當(1)中的問題存在時,即稱爲非線性可分。我們總可以在不等式的左側加上一個正數\xi _i(我們稱該數爲鬆弛因子),使得不等式y_i(wx_i+b)-1+\xi_i\geqslant 0成立。如果樣本x_j被正確分類,即y_i(wx_i+b)-1\geqslant 0,則\xi _i=0;如果樣本x_j不能被正確分類,則這個樣本對應的y_i(wx_i+b)-1< 0,則\xi _i>0

(3)我們在(2)的條件下重新設計支持向量機:

                                                \begin{Bmatrix} min &{}\frac{1}{2}||w||^2+c\sum_{i=1}^{N}\xi_{i},(i=1,2,3,4...N) \\ s.t.& y_i(wx_i+b)-1+\xi_i\geqslant0,\xi_{i}\geqslant0,(i=1,2,3,4...N)\\ \end{matrix}

  ①所有樣本的鬆弛因子之和\sum_{i=1}^{N}\xi_{i},可以反映整個訓練樣本集的錯分程度:錯分樣本越多,\sum_{i=1}^{N}\xi_{i}越大;樣本錯分程度越大,\sum_{i=1}^{N}\xi_{i}也越大。顯然,我們希望\sum_{i=1}^{N}\xi_{i}儘可能小。因此,我們在線性可分情況下的目標函數\frac{1}{2}||w||^2上增加對錯誤的懲罰。

  ②新的目標函數反映了我們的兩個目的:一方面希望分類間隔儘可能大,另一方面希望錯分的樣本儘可能少且錯誤程度儘可能低。

  ③c是一個需要選擇的參數。c越小,表示對錯誤較容忍而強調對於正確分類的樣本的分類間隔;c越大,表示對分類錯誤的懲罰越大。

(4)將原始問題轉化爲對偶問題,則有

                                       L(w,b,\xi,\alpha,\mu)={}\frac{1}{2}||w||^2+c\sum_{i=1}^{N}\xi_{i}-\sum_{i=1}^{N}\alpha_i(y_i(wx_i+b)-1+\xi_i)-\sum_{i=1}^{N}\mu_i\xi_i

  這裏,\begin{matrix}\alpha_i\geqslant0,\mu_{i}\geqslant0,(i=1,2,3,4...N) \\ &\quad \\ \end{matrix}

  ①對偶問題同樣是拉格朗日函數的極大極小問題,首先求L(w,b,\xi,\alpha,\mu)w,b,\xi的極小:

                                                                              \begin{Bmatrix} \bigtriangledown_{b}L(w,b,\xi,\alpha,\mu)=0&\quad\\ \bigtriangledown_{w}L(w,b,\xi,\alpha,\mu)=0 &\\ \bigtriangledown_{\xi}L(w,b,\xi,\alpha,\mu)=0 &\\ \end{matrix}

可以得到:                                                                 \begin{Bmatrix} \quad\sum_{i=1}^N}\alpha_{i}y_{i}x_{i}=w&\quad\\ \sum_{i=1}^{N}\alpha_{i}y_{i}=0&\\ c=\alpha_i+\mu_i \end{matrix}

  ②將(4)—①中的解代入L(w,b,\xi,\alpha,\mu)中,可以得到:

                                                   \underset{w,b,\xi}{min}L(w,b,\xi,\alpha,\mu)=-\sum_{i=1}^{N}\sum_{j=1}^{N}\alpha_{i}\alpha_{j}y_{i}y_{j}(x_{i}*x_{j})+\sum_{i=1}^{N}\alpha_{i}

  ③再對\underset{w,b,\xi}{min}L(w,b,\xi,\alpha,\mu)求關於α的極大值,則有對偶問題:

                                                    \begin{Bmatrix} max &-{}\frac{1}{2}\sum_{i=1}^{N}\sum_{j=1}^{N}\alpha_{i}\alpha_{j}y_{i}y_{j}(x_{i}*x_{j})+\sum_{i=1}^{N}\alpha_{i} \\ s.t.& \sum_{i=1}^{N}\alpha_{i}y_{i}=0 ,0\leqslant\alpha_{i}\leqslant c,(i=1,2,3,4...N)\\ \end{matrix}

  ④在分類時,分類正確但處於分類邊界面上的樣本,有0<\alpha_i< c,\xi_i=0。這些樣本點就是離分類超平面最近的那些樣本(支持 向量點),並決定最優超平面的位置。由以上敘述可求得解:

                                                                                \begin{Bmatrix} &w^*=\sum_{i=1}^{N}\alpha_{i}^*y_{i}x_{i}\\ & b^*=y_{j}-\sum_{i=1}^{N}\alpha_{i}^{*}y_{i}(x_{i}*x_{j})\\ \end{matrix} 

  上式求解的過程中,(x_{j},y_{j})是任意一個0<\alpha_i< c的樣本點。

   ⑤原始問題構造的分離超平面可以寫作:

                                                                                           \sum_{i=1}^{N}\alpha_{i}^* *y_{i}(x*x_{i})+b^*=0       

    分類決策函數就可以寫作:

                                                                                f(x)=sign(\sum_{i=1}^{N}\alpha_{i}^* *y_{i}(x*x_{i})+b^*)          

(5)關於非線性支持向量機的鬆弛因子問題討論:                                                                                                                            一般來說,線性不可分問題在加入鬆弛變量後可以實現線性可分。其支持向量(x_j,y_j)可能是在間隔邊界上,可能是在間隔邊界與分離超平面中間,或者在分離超平面誤分一側。           

0<\alpha^*<c,則\xi_i=0,此時支持向量(x_j,y_j)恰好落在分類正確的間隔邊界上及邊界內;

\alpha^*=c,則0<\xi_i<1,此時支持向量(x_j,y_j)恰好落在分類正確的間隔邊界與分離超平面之間;

\alpha^*=c,則\xi_i=1,此時支持向量(x_j,y_j)恰好落在分離超平面上;  

\alpha^*=c,則\xi_i>1,此時支持向量(x_j,y_j)恰好落在分離超平面誤分一側。

                                                                   

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