支持向量機SVM(3)——軟間隔

支持向量機SVM——軟間隔

接上一篇博客支持向量機SVM(2)——拉格朗日乘數法
前面我們的問題假設數據處於理想狀態,而現實情況是數據可能是線性不可分的,或者可分但是存在噪聲。對於有噪聲這種情況,如果我們還是使用前面的方法,那麼就會把噪聲也分類,就會存在過擬合的情況。解決這個問題的一個方法就是存於我們的超平面出一點點錯,這也就是「軟間隔(soft margin),而前面我們所講的就是「硬間隔」(hard margin)。
如下圖所示:我們允許出現紅色圈的那些點不滿足約束條件 y i ( w T x i + b ) 1 y_i(w^Tx_i+b)\geq1
在這裏插入圖片描述
我們現在用loss來表示允許一點錯誤的損失,當 y i ( w T x i + b ) < 1 y_i(w^Tx_i+b)<1 不滿足約束條件時,loss=1; y i ( w T x i + b ) 1 y_i(w^Tx_i+b)\geq1 時滿足條件時,這個時候沒有錯誤,loss=0。這也稱爲0/1損失函數:
l o s s ( z ) = { 1 i f    z < 1 0 o t h e r w i s e loss(z)=\begin{cases}1,if\;z<1\\0,otherwise\end{cases}
那麼我們原始的優化目標就變成了:
m i n ( w , b ) 1 2 w T w + C i = 1 N l o s s ( y i ( w T x i + b ) ) min_{(w,b)}\frac{1}{2}w^Tw+C\sum_{i=1}^Nloss(y_i(w^Tx_i+b))
其中,C是常數。
很容易發現我們的損失函數並不連續,在後面我們求導過程中的處理會比較麻煩,這裏我們會用一些其他的連續的損失函數來替代,常見的有三種替代損失函數:
h i n g e l o s s h i n g e ( z ) = m a x ( 0 , 1 z ) l o s s e x p ( z ) = e x p ( z ) l o s s l o g ( z ) = l o g ( 1 + e x p ( z ) ) hinge損失:loss_{hinge}(z)=max(0,1-z)\\指數損失:loss_{exp}(z)=exp(-z)\\對率損失:loss_{log}(z)=log(1+exp(-z))
這裏我們採用hinge損失,那麼我們上面的優化目標就變成如下形式:
m i n ( w , b ) 1 2 w T w + C i = 1 N m a x ( 0 , 1 y i ( w T x i + b ) ) min_{(w,b)}\frac{1}{2}w^Tw+C\sum_{i=1}^Nmax(0,1-y_i(w^Tx_i+b))
但一般我們不寫成上面這種形式,我們先引入 ξ i = 1 y i ( w T x i + b ) \xi_i=1-y_i(w^Tx_i+b) 。當 ξ i \xi_i 大於0時,上面的max就取 ξ i \xi_i ;當 ξ i \xi_i 小於0時,上面的max取0,所以我們直接添加一個約束 ξ i 0 \xi_i\geq0 ,然後我們原始的問題就可以寫成如下形式:
{ m i n ( w , b , ξ i ) 1 2 w T w + C i = 1 N ξ i s . t . y i ( w T x i + b ) 1 ξ i    ξ i 0 \begin{cases}min_{(w,b,\xi_i)}\frac{1}{2}w^Tw+C\sum_{i=1}^N\xi_i\\s.t.\quad y_i(w^Tx_i+b)\geq1-\xi_i\\\qquad\;\xi_i\geq0\end{cases}
其中 ξ i \xi_i 也稱爲鬆弛變量。

現在我們就可以採取和硬間隔中一樣的辦法來求解:即先構造拉了朗日函數,然後利用對偶關係求解對偶問題,最後求導。
(不懂得可以翻看前一篇博客)
簡單走一下流程:
(1)構造拉格朗日函數:
L ( w , b , λ , ξ , u ) = 1 2 w T w + C i = 1 N ξ i + i = 1 N λ i ( 1 ξ i y i ( w T x i + b ) ) i = 1 N u i ξ i L(w,b,\lambda,\xi,u)=\frac{1}{2}w^Tw+C\sum_{i=1}^N\xi_i+\sum_{i=1}^N\lambda_i(1-\xi_i-y_i(w^Tx_i+b))-\sum_{i=1}^Nu_i\xi_i
其中, λ i 0 u i 0 \lambda_i\geq0,u_i\geq0 是拉格朗日乘子。
(2)然後我們的優化問題可以寫成如下形式(對 w , b , ξ w,b,\xi 無約束):
{ m i n ( w , b , ξ )    m a x ( λ , u ) L ( w , b , λ , ξ , u ) s . t . λ i 0 u i 0 \begin{cases}min_{(w,b,\xi)}\;max_{(\lambda,u)}L(w,b,\lambda,\xi,u)\\ s.t. \quad \lambda_i\geq0,u_i\geq0\end{cases}
(3)利用對偶關係求其對偶問題:
{ m a x ( λ , u )    m i n ( w , b , ξ ) L ( w , b , λ , ξ , u ) s . t . λ i 0 u i 0 \begin{cases}max_{(\lambda,u)}\;min_{(w,b,\xi)}L(w,b,\lambda,\xi,u)\\ s.t. \quad \lambda_i\geq0,u_i\geq0\end{cases}

然後通過對 w , b , ξ w,b,\xi 分別求偏導並令其爲0,來求解 m i n ( w , b , ξ ) L ( w , b , λ , ξ , u ) min_{(w,b,\xi)}L(w,b,\lambda,\xi,u) 的最優解:
{ δ L δ b = 0       i = 1 N λ i y i = 0 δ L δ w = 0       w = i = 1 N λ i y i x i δ L δ ξ i = 0       C = λ i + u i \begin{cases}\frac{\delta L}{\delta b}=0\iff\sum_{i=1}^N\lambda_iy_i=0\\\frac{\delta L}{\delta w}=0\iff w=\sum_{i=1}^N\lambda_iy_ix_i\\\frac{\delta L}{\delta \xi_i}=0\iff C=\lambda_i+u_i\end{cases}
(4)將上面對min求得的最優解代入我們的對偶問題中,可得:
{ m a x λ    ( 1 2 i = 1 N j = 1 N λ i λ j y i y j x i T x j + i = 1 N λ i ) s . t . 0 λ i C i = 1 N λ i y i = 0 \begin{cases}max_{\lambda}\;(-\frac{1}{2}\sum_{i=1}^N\sum_{j=1}^N\lambda_i\lambda_jy_iy_jx^T_ix_j+\sum_{i=1}^N\lambda_i)\\ s.t. \quad 0\leq\lambda_i\leq C\\\qquad\sum_{i=1}^N\lambda_iy_i=0\end{cases}

可以看到這和我們硬間隔中得到最終優化問題唯一不同就是:軟間隔 0 λ i C 0\leq\lambda_i\leq C ,而硬間隔 0 λ i 0\leq\lambda_i

並且仍然滿足KKT條件:
{ λ i ( 1 y i ( w T x i + b ) ξ i ) = 0 λ i 0 u i 0 y i ( w T x i + b ) 1 ξ i ξ i 0 , u i ξ i = 0 \begin{cases}\lambda_i(1- y_i(w^Tx_i+b)-\xi_i)=0\\ \lambda_i\geq0,u_i\geq0\\y_i(w^Tx_i+b)\geq1-\xi_i\\\xi_i\geq0,u_i\xi_i=0\end{cases}