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

參考李航統計學習方法第7章。

支持向量機學習的基本想法是求解能夠正確劃分訓練數據集並且幾何間隔最大的分離超平面。

對訓練數據集找到幾何間隔最大的超平面意味着以充分大的確信度對訓練數據進行分類。也就是說,不僅將正負實例點分開,而且對最難分的實例點(離超平面最近的點)也有足夠大的確信度將它們分開。這樣的超平面應該對未知的新實例有很好的分類預測能力。

可以通過求解對偶問題而得到原始問題的解,進而確定分離超平面和決策函數。

①從原始問題到對偶問題

SVM的原始優化問題:
minw,b12w2s.t.yi(wxi+b)10,i=1,2,...,N \begin{aligned} &\min \limits_{w,b}\frac{1}{2}||w||^2 \\ &\mathrm{s.t.} \quad y_i(w\cdot x_i +b)-1\ge 0,\quad i =1,2,...,N \end{aligned}
\Leftrightarrow化成常見的約束爲小於號的形式
minw,b12w2s.t.yi(wxi+b)+10,i=1,2,...,N \begin{aligned} &\min \limits_{w,b}\frac{1}{2}||w||^2 \\ &\mathrm{s.t.} \quad -y_i(w\cdot x_i +b)+1\le 0,\quad i =1,2,...,N \end{aligned}

拉格朗日對偶Lagrange duality

  • 原始約束最優化問題
    minxRnf(x)s.t. ci(x)0,i=1,2,...,k   hj(x)=0,j=1,2,...,l \begin{aligned} &\min \limits_{x\in \mathrm{R}^n}f(x) \\ &\mathrm{s.t.} \ c_i(x)\le 0,\quad i =1,2,...,k\\ &\quad \ \ \ h_j(x)= 0,\quad j =1,2,...,l\\ \end{aligned}

  • 拉格朗日函數
    L(x,α,β)=f(x)+i=1kαici(x)+j=1lβjhj(x) L(x, \alpha, \beta)=f(x)+\sum_{i=1}^{k} \alpha_{i} c_{i}(x)+\sum_{j=1}^{l} \beta_{j} h_{j}(x)
    其中αi0\alpha_i\ge0

  • 關於約束參數α,β\alpha,\beta的最大化優化函數是f(x)f(x)的等價形式
    θP(x)=maxα,β:αi0L(x,α,β) \theta_{P}(x)=\max _{\alpha, \beta: \alpha_{i} \geqslant 0} L(x, \alpha, \beta)
    給定xx,當存在某個ii不滿足約束條件 ci(x)0\ c_i(x)\le 0時,αi+\alpha_i\rightarrow +\infty使得θP(x)=+\theta_{P}(x)=+\infty;當存在某個jj不滿足約束條件 hj(x)=0\ h_j(x)= 0時,βjhj(x)+\beta_j h_j(x)\rightarrow +\infty使得θP(x)=+\theta_{P}(x)=+\infty;故只有同時滿足兩類約束條件,才能使得最優化L(x,α,β)L(x, \alpha, \beta)得到最大值=f(x)=f(x)

  • 廣義拉格朗日函數的極小極大問題
    minxθP(x)=minxmaxα,β:αi0L(x,α,β) \min\limits_{x}\theta_{P}(x)=\min\limits_{x}\max _{\alpha, \beta: \alpha_{i} \geqslant 0} L(x, \alpha, \beta)

  • 對偶問題/廣義拉格朗日函數的極大極小問題
    maxα,β:αi0θD(x)=maxα,β:αi0minxL(x,α,β) \max_{\alpha, \beta: \alpha_{i} \geqslant 0}\theta_{D}(x)=\max_{\alpha, \beta: \alpha_{i} \geqslant 0}\min\limits_{x} L(x, \alpha, \beta)
    其中
    θD(x)=minxL(x,α,β) \theta_{D}(x)=\min\limits_{x} L(x, \alpha, \beta)

拉格朗日函數
L(w,b,α)=12w2i=1Nαiyi(wxi+b)+i=1Nαi L(w, b, \alpha)=\frac{1}{2}\|w\|^{2}-\sum_{i=1}^{N} \alpha_{i} y_{i}\left(w \cdot x_{i}+b\right)+\sum_{i=1}^{N} \alpha_{i}
在svm中,根據拉格朗日對偶性,原始問題的對偶問題是極大極小問題:
maxαminw,bL(w,b,α) \max _{\alpha} \min _{w, b} L(w, b, \alpha)

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

以下步驟先把原問題化成對偶問題(對偶變量的)的形式,然後通過解對偶問題,我們可以間接獲得原問題的解。

(1)求 minw,bL(w,b,α)\min \limits_{w, b} L(w, b, \alpha)
wL(w,b,α)=wi=1Nαiyixi=0bL(w,b,α)=i=1Nαiyi=0w=i=1Nαiyixii=1Nαiyi=0 \begin{aligned} \nabla_{w} L(w, b, \alpha)&=w-\sum_{i=1}^{N} \alpha_{i} y_{i} x_{i}=0 \\ \nabla_{b} L(w, b, \alpha)&=-\sum_{i=1}^{N} \alpha_{i} y_{i}=0 \\ \Rightarrow\\ &w=\sum_{i=1}^{N} \alpha_{i} y_{i} x_{i} \\ &\sum_{i=1}^{N} \alpha_{i} y_{i}=0 \end{aligned}
求的結果代回L的表達式有
minw,bL(w,b,α)=12i=1Nj=1Nαiαjyiyj(xixj)i=1Nαiyi((j=1Nαjyjxj)xi+b)+i=1Nαi=12i=1Nj=1Nαiαjyiyj(xixj)+i=1Nαi \begin{aligned} \min \limits_{w, b} L(w, b, \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} y_{i}\left(\left(\sum_{j=1}^{N} \alpha_{j} y_{j} x_{j}\right) \cdot x_{i}+b\right)+\sum_{i=1}^{N} \alpha_{i} \\ &=-\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} \end{aligned}
(2)minw,bL(w,b,α)\min \limits_{w, b} L(w, b, \alpha)求對α\alpha的極大
maxα12i=1Nj=1Nαiαjyiyj(xixj)+i=1Nαi s.t. i=1Nαiyi=0αi0,i=1,2,,N \begin{array}{ll} \max \limits_{\alpha} & -\frac{1}{2} \sum\limits_{i=1}^{N} \sum\limits_{j=1}^{N} \alpha_{i} \alpha_{j} y_{i} y_{j}\left(x_{i} \cdot x_{j}\right)+\sum\limits_{i=1}^{N} \alpha_{i} \\ \text { s.t. } & \sum\limits_{i=1}^{N} \alpha_{i} y_{i}=0 \\ & \alpha_{i} \geqslant 0, \quad i=1,2, \cdots, N \end{array}
(3)再將對目標函數求極大轉換爲求極小,最終得到下面與原始優化問題等價的對偶最優化問題:
minα12i=1Nj=1Nαiαjyiyj(xixj)i=1Nαi s.t. i=1Nαiyi=0αi0,i=1,2,,N \begin{array}{ll} \min \limits_{\alpha} & \frac{1}{2} \sum\limits_{i=1}^{N} \sum\limits_{j=1}^{N} \alpha_{i} \alpha_{j} y_{i} y_{j}\left(x_{i} \cdot x_{j}\right)-\sum\limits_{i=1}^{N} \alpha_{i} \\ \text { s.t. } & \sum\limits_{i=1}^{N} \alpha_{i} y_{i}=0 \\ & \alpha_{i} \geqslant 0, \quad i=1,2, \cdots, N \end{array}
所以存在ww^*α\alpha^*bb^*,使ww^*, bb^*是原始問題的解,α\alpha^*是對偶問題的解。

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

假設求得對偶最優化問題對α\alpha的解爲α\alpha^*,那麼我們可以由按照下式α\alpha^*求得原始最優化問題的解ww^*bb^*
w=i=1Nαiyixib=yji=1Nαiyi(xixj) \begin{array}{c} w^{*}=\sum_{i=1}^{N} \alpha_{i}^{*} y_{i} x_{i} \\ b^{*}=y_{j}-\sum_{i=1}^{N} \alpha_{i}^{*} y_{i}\left(x_{i} \cdot x_{j}\right) \end{array}
證明:

針對對偶問題和原始問題共同的最優解w,b,αw^*,b^*,\alpha^*,對目標函數
L(w,b,α)=12w2i=1Nαiyi(wxi+b)+i=1Nαi L(w, b, \alpha)=\frac{1}{2}\|w\|^{2}-\sum_{i=1}^{N} \alpha_{i} y_{i}\left(w \cdot x_{i}+b\right)+\sum_{i=1}^{N} \alpha_{i}
(原問題)根據KKT條件,
wL(w,b,α)=wi=1Nαiyixi=0bL(w,b,α)=i=1Nαiyi=0αi(yi(wxi+b)+1)=0,i=1,2,,Nyi(wxi+b)+10,i=1,2,,Nαi0,i=1,2,,N \begin{array}{l} \nabla_{w} L\left(w^{*}, b^{*}, \alpha^{*}\right)=w^{*}-\sum_{i=1}^{N} \alpha_{i}^{*} y_{i} x_{i}=0 \\ \nabla_{b} L\left(w^{*}, b^{*}, \alpha^{*}\right)=-\sum_{i=1}^{N} \alpha_{i}^{*} y_{i}=0 \\ \alpha_{i}^{*}\left(-y_{i}\left(w^{*} \cdot x_{i}+b^{*}\right)+1\right)=0, \quad i=1,2, \cdots, N \\ -y_{i}\left(w^{*} \cdot x_{i}+b^{*}\right)+1 \leqslant 0, \quad i=1,2, \cdots, N \\ \alpha_{i}^{*} \geqslant 0, \quad i=1,2, \cdots, N \end{array}
由第一個式子得 w=i=1Nαiyixiw^{*}=\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的樣本,這樣的對應的訓練樣本我們就稱之爲支撐向量

對於支撐向量,
αi(yi(wxi+b)+1)=0,αi>0yi(wxi+b)+1=0wxi+b=1 or1 \alpha_{i}^{*}\left(-y_{i}\left(w^{*} \cdot x_{i}+b^{*}\right)+1\right)=0,\alpha_{i}^{*}>0\\ \Rightarrow \\ y_{i}\left(w^{*} \cdot x_{i}+b^{*}\right)+1=0\\ \Rightarrow \\ w^{*} \cdot x_{i}+b^{*}=1\ or -1
即它一定在邊界上!

  • SVM的分類結果僅依賴於支持向量,這也是它擁有極高運行效率的關鍵之一
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章