1. 程式人生 > >SVM 覆盤總結

SVM 覆盤總結

1. 硬間隔最大化:

在這裡插入圖片描述
怎麼得到的?自己推導,可參考下圖推:
在這裡插入圖片描述

上述問題如何求解?

引入Lagrange function:

在這裡插入圖片描述
一系列推導之後,自己推導:
在這裡插入圖片描述

原始問題:

在這裡插入圖片描述

對偶優化問題:

在這裡插入圖片描述

對偶問題求最最優:

怎麼求的SMO演算法如何實現,先等著?
在這裡插入圖片描述
對α的解為:
在這裡插入圖片描述

根據KKT條件,求得 w w^*
b b^*

KKT條件:
在這裡插入圖片描述
關注互補對偶條件如何得到的?
根據KKT條件,求得 w

w^* b b^*
在這裡插入圖片描述
如何推導,自己推(選擇一個 α j
\alpha_j^*
> 0)

2. 軟間隔最大化

在這裡插入圖片描述

轉化為對偶問題:

在這裡插入圖片描述
推導之後:
在這裡插入圖片描述
在這裡插入圖片描述
進一步轉化:
在這裡插入圖片描述
看到沒?硬的和軟的對偶函式之間區別,只在於 α i \alpha_i 的區域,但是轉換為原目標最優還需要滿足KKT條件。
對α的解為:
在這裡插入圖片描述

根據KKT條件,求得 w w^* b b^*

KKT條件:
在這裡插入圖片描述
w w^* 比較好求?
在這裡插入圖片描述
如何求 b b^*
在這裡插入圖片描述
找一個0< α j \alpha_j^* <C,則 ξ j \xi_j^* = 0:
在這裡插入圖片描述
由於:
在這裡插入圖片描述
對b的解並不唯一,所以實際計算時可以取在所有符合條件的樣本點上的平均值。
這句話的理解: ξ i \xi_i^* 是鬆弛因子,允許有些點在margin之內,0=< ξ i \xi_i^* , μ i \mu_i^* =0,即 α i \alpha_i^* =C。
α i \alpha_i^* =C是有loss的。
需要分割儘量開,同時允許有一些異常點,異常點發生在 α i \alpha_i^* =C的點,0< α i \alpha_i^* <C的點都是支援向量,因為有 α i \alpha_i^* =C的點存在,導致b有多個解,所以b要取所有b的均值, α i \alpha_i^* =0的點沒有用。

3. Hinge Loss

軟間隔

在這裡插入圖片描述

Hinge Loss

在這裡插入圖片描述
Hinge Loss就相當於鬆弛因子 ξ \xi^*
對於間距大於一定程度的點,就沒有loss,就不用鬆弛。
正則化的作用相當於把分類的距離拉大。

4. 核函式

沒啥東西,目標函式暴走,目標函式只需要比較物件的距離,而不是其本身,利用目標函式的這個弱點使用了kernel trick。
在這裡插入圖片描述
在這裡插入圖片描述

5. SMO演算法

SMO演算法要解如下凸二次規劃的對偶問題:

在這裡插入圖片描述
我們的解要滿足的KKT條件的對偶互補條件為: α i ( y i ( w T x i + b ) 1 + ξ i ) = 0 \alpha_{i}^{*}(y_i(w^Tx_i + b) - 1 + \xi_i^{*}) = 0
根據這個KKT條件的對偶互補條件,我們有: α i = 0 y i ( w ϕ ( x i ) + b ) ; 1 \alpha_{i}^{*} = 0 \Rightarrow y_i(w^{*} \bullet \phi(x_i) + b);\geq1 0 α i ; C y i ( w ϕ ( x i ) + b ) = 1 0 \alpha_{i}^{*}; C \Rightarrow y_i(w^{*} \bullet \phi(x_i) + b)=1 α i = C y i ( w ϕ ( x i ) + b ) 1 \alpha_{i}^{*}=C \Rightarrow y_i(w^{*} \bullet \phi(x_i) + b)\leq 1
由於 w = j = 1 m α j y j ϕ ( x j ) w^{*} = \sum\limits_{j=1}^{m}\alpha_j^{*}y_j\phi(x_j) ,我們令 g ( x ) = w ϕ ( x ) + b = j = 1 m α j y j K ( x , x j ) + b g(x) = w^{*} \bullet \phi(x) + b =\sum\limits_{j=1}^{m}\alpha_j^{*}y_jK(x, x_j)+ b^{*}