SVM

1.它是一種二類分類模型,目的是找出margine(support vector 到 hyper plane的距離)最大的模型。

2.support vector : 在 margin 邊界上的點

  • $$
    magin = |\frac{w^T}{||w||}(x-x’)| = \frac{1}{||w||}|w^Tx+b|
    $$

    $$
    因為 y_n(w^Tx_n+b)>0 (分類正確)
    $$

    $$
    margin(b,w) = min_{n=1,..,N}\frac{1}{||w||}y_n(w^Tx_n+b)
    $$

    $$
    我們可以令 min y_n(w^Tx_n+b) = 1 ,不會影響分類結果,margin=\frac{1}{||w||}
    $$

    $$
    我們目標為最大化margin = \frac{1}{||w||},等同於min_{b,w}\frac{1}{2}w^Tw
    $$

    $$
    e.q. y_n(w^Tx_n+b) >1.5 ,我們可以scale (\frac{b}{1.5},\frac{w}{1.5}),
    $$

    $$
    所以 y_n(w^Tx_n+b) >1也是可以的 ,修正條件為 y_n(w^Tx_n+b)\geq1
    $$

  • 我們可以使用QP(quaratic programming)求解,再使用(Lagrange Duality)將約束條件合併到目標中。
    $$
    y_n(w^Tx_n+b)\geq1
    $$

    $$
    L(w,b,\alpha)=\frac{1}{2}||w||^2-\sum^{n}_{i=1}\alpha_i(y_i(w^Tx_i+b)-1)
    $$

    $$
    SVM = min_{b,w}(max_{all \alpha_n\geq0}L(b,w,\alpha))
    $$

    $$
    如果沒有符合條件,L 會趨近無限大,如果符合條件,L會等於\frac{1}{2}||w||^2
    $$

    $$
    Lagrange 是把問題變得看似沒有約束條件,把條件併入問題中
    $$

  • $$
    min_{b,w}(max_{all \alpha_n\geq0}L(b,w,\alpha)) \geq max_{all \alpha_n\geq0}(min_{b,w}L(b,w,\alpha))
    $$

    這稱為 (Lagrange Duality)
    $$
    \frac{\partial L(b,w,\alpha)}{\partial b}=-\sum^{N}_{n=1}\alpha_ny_n=0 ,代回原式可把b消除
    $$

    $$
    \frac{\partial L(b,w,\alpha)}{\partial w_i}=w_i-\sum^{N}_{n=1}\alpha_ny_nz_{n,i}=0,代回原式
    $$

    $$
    max_{all \alpha_n\geq0,\sum yn\alpha_n=0,w=\sum \alpha_ny_nz_n}-\frac{1}{2}||\sum^{N}_{n=1}\alpha_ny_nz_n||^2+\sum^{N}_{n=1}\alpha_n
    $$

    $$
    min_{all \alpha_n\geq0,\sum yn\alpha_n=0,w=\sum \alpha_ny_nz_n}\frac{1}{2}||\sum^{N}_{n=1}\alpha_ny_nz_n||^2-\sum^{N}_{n=1}\alpha_n
    $$

    $$
    min \frac{1}{2}A^TQA+P^TA , subject \quad \alpha_j^TA\geq c_i\quad for\quad i=1,2,…
    $$

    代入 QP 利用SMO算法即可以求出。

  • kernel function

    透過核函數將低維映射到高維空間,進一步將平面上不好分開的區間分開,且避開了在高維空間中進行計算
    $$
    f(x)=\sum^{n}_{i=1}\alpha_iy_i<x_i,x>+b
    $$
    映射成
    $$
    \sum^{n}_{i=1}\alpha_iy_i<\phi(x_i),\phi(x)>+b
    $$

​ 可以使用很多不同的 kernel function,例如 : linear 、polynomial、gaussian。

  • soft margin SVM : 因為雜訊關係,可能有些數據偏離原本位子很多,造成margin嚴重縮小,我們稱該點為outlier,所以提出 soft margin SVM,我們可以忽略一些 outlier ,來讓我們的結果好一點。
    $$
    y_i(w^Tx_i+b)\geq 1-\zeta_i 改成 y_i(w^Tx_i+b)\geq 1-\zeta_i
    $$

    $$
    \zeta_i\geq0 稱為(slack\quad variable),為允許數據點偏離 margin的量
    $$

    $$
    所以目標函數改為 min \frac{1}{2}||w||^2+C\sum^{n}_{i=1}\zeta_i
    $$