天天看點

支援向量機(SVM)詳解(二)1. 前言2. 實際問題是否為線性可分問題的探讨3. 基本定義4. 支援向量機——非線性可分情況5. 特征空間映射到高維的解決方法6. 總結支援向量機訓練和測試流程7. 後記

1. 前言

前文:支援向量機(SVM)詳解(一)

前文詳細介紹了線性可分情況下,支援向量機如何将尋找最優分類直線或線性超平面的問題轉化為一個凸優化問題。當訓練樣本集非線性可分,顯然,前文所述優化問題無解,即不存在 W W W和 b b b滿足所有n個限制條件。

對于非線性可分情況,支援向量機通過适當放松限制條件,使得前文所述優化問題變得有解。同時,支援向量機通過将特征空間由低維映射到高維,提升訓練樣本集被線性可分的機率,進而提升分類效果。

2. 實際問題是否為線性可分問題的探讨

前文介紹了線性可分情況下,支援向量機尋找最優分類直線或線性超平面的過程。然而不幸的是,實際問題中,大多數分類問題都是非線性可分的。

1969年,人工智能先驅之一Marvin Minsky出版了《感覺器》(Perceptrons)一書,在書中他明确地定義了線性可分和非線性可分的概念,同時他用大量實際的例子,并用嚴格的數學論證了大量現實生活中的很多分類問題都是非線性可分的。其中一個例子如下:

如圖1所示,識别一幅圖像是否為連通圖,是一個非線性可分問題。

支援向量機(SVM)詳解(二)1. 前言2. 實際問題是否為線性可分問題的探讨3. 基本定義4. 支援向量機——非線性可分情況5. 特征空間映射到高維的解決方法6. 總結支援向量機訓練和測試流程7. 後記

證明:

将圖中每條邊進行标号如圖1中左圖所示,則圖一至圖四可表示為 X 1 = ( 1 , 1 , 1 , 0 , 1 , 1 , 0 ) T , X 2 = ( 1 , 1 , 1 , 1 , 0 , 0 , 1 ) T , X 3 = ( 1 , 1 , 1 , 1 , 1 , 0 , 0 ) T , X 4 = ( 1 , 1 , 1 , 0 , 0 , 1 , 1 ) T X_1=(1,1,1,0,1,1,0)^T, X_2=(1,1,1,1,0,0,1)^T, X_3=(1,1,1,1,1,0,0)^T, X_4=(1,1,1,0,0,1,1)^T X1​=(1,1,1,0,1,1,0)T,X2​=(1,1,1,1,0,0,1)T,X3​=(1,1,1,1,1,0,0)T,X4​=(1,1,1,0,0,1,1)T。其中1表示相應位置邊存在,0表示相應位置邊不存在。

假設上述問題線性可分,則必存在 W = ( w 1 , w 2 , w 3 , w 4 , w 5 , w 6 , w 7 ) T W=(w_1, w_2, w_3, w_4, w_5, w_6, w_7)^T W=(w1​,w2​,w3​,w4​,w5​,w6​,w7​)T和 b b b使得:

W T X 1 + b = w 1 + w 2 + w 3 + w 5 + w 6 + b > 0                         ( 1 ) W T X 2 + b = w 1 + w 2 + w 3 + w 4 + w 7 + b > 0                         ( 2 ) W T X 3 + b = w 1 + w 2 + w 3 + w 4 + w 5 + b < 0                         ( 3 ) W T X 4 + b = w 1 + w 2 + w 3 + w 6 + w 7 + b < 0                         ( 4 ) W^TX_1+b=w_1+w_2+w_3+w_5+w_6+b>0~~~~~~~~~~~~~~~~~~~~~~~(1)\\ W^TX_2+b=w_1+w_2+w_3+w_4+w_7+b>0~~~~~~~~~~~~~~~~~~~~~~~(2)\\ W^TX_3+b=w_1+w_2+w_3+w_4+w_5+b<0~~~~~~~~~~~~~~~~~~~~~~~(3)\\ W^TX_4+b=w_1+w_2+w_3+w_6+w_7+b<0~~~~~~~~~~~~~~~~~~~~~~~(4) WTX1​+b=w1​+w2​+w3​+w5​+w6​+b>0                       (1)WTX2​+b=w1​+w2​+w3​+w4​+w7​+b>0                       (2)WTX3​+b=w1​+w2​+w3​+w4​+w5​+b<0                       (3)WTX4​+b=w1​+w2​+w3​+w6​+w7​+b<0                       (4)

(1) + (2) = 2 w 1 + 2 w 2 + 2 w 3 + w 4 + w 5 + w 6 + w 7 + 2 b > 0                         ( 5 ) 2w_1+2w_2+2w_3+w_4+w_5+w_6+w_7+2b>0~~~~~~~~~~~~~~~~~~~~~~~(5) 2w1​+2w2​+2w3​+w4​+w5​+w6​+w7​+2b>0                       (5)

(3) + (4) = 2 w 1 + 2 w 2 + 2 w 3 + w 4 + w 5 + w 6 + w 7 + 2 b < 0                         ( 6 ) 2w_1+2w_2+2w_3+w_4+w_5+w_6+w_7+2b<0~~~~~~~~~~~~~~~~~~~~~~~(6) 2w1​+2w2​+2w3​+w4​+w5​+w6​+w7​+2b<0                       (6)

顯然, 2 w 1 + 2 w 2 + 2 w 3 + w 4 + w 5 + w 6 + w 7 + 2 b 2w_1+2w_2+2w_3+w_4+w_5+w_6+w_7+2b 2w1​+2w2​+2w3​+w4​+w5​+w6​+w7​+2b不可能同時大于0且小于0,式(5)和(6)沖突。

假設不成立,即上述問題非線性可分。

3. 基本定義

3.1 核函數(Kernel Function)

設 φ \varphi φ是向量 X X X到向量 φ ( X ) \varphi(X) φ(X)的映射,如果對任意兩個向量 X 1 和 X 2 X_1和X_2 X1​和X2​,存在 K ( X 1 , X 2 ) = φ ( X 1 ) T φ ( X 2 ) K(X_1, X_2)=\varphi(X_1)^T\varphi(X_2) K(X1​,X2​)=φ(X1​)Tφ(X2​),則稱函數 K ( X 1 , X 2 ) K(X_1, X_2) K(X1​,X2​)為核函數。

核函數 K K K和映射 φ \varphi φ是一一對應的關系,核函數必須滿足如下條件才能被分解成兩個 φ \varphi φ内積的形式。 K ( X 1 , X 2 ) K(X_1, X_2) K(X1​,X2​)能寫成 φ ( X 1 ) T φ ( X 2 ) \varphi(X_1)^T\varphi(X_2) φ(X1​)Tφ(X2​)的充要條件如下:

  1. 交換性: K ( X 1 , X 2 ) = K ( X 2 , X 1 ) K(X_1, X_2)=K(X_2, X_1) K(X1​,X2​)=K(X2​,X1​)
  2. 半正定性: ∀ c i , X i ( i = 1 ∼ n ) , 有 : ∑ i = 1 n ∑ j = 1 n c i c j K ( X i , X j ) ⩾ 0 \forall c_i, X_i(i=1\sim n), 有:\sum_{i=1}^n\sum_{j=1}^nc_ic_jK(X_i, X_j) \geqslant 0 ∀ci​,Xi​(i=1∼n),有:∑i=1n​∑j=1n​ci​cj​K(Xi​,Xj​)⩾0

3.2 原問題(Prime Problem)與對偶問題(Dual Problem)

設原問題形式如下:

最 小 化 : f ( W )                          ( 7 ) 限 制 條 件 : g i ( W ) ⩽ 0 ,         i = 1 ∼ k                    ( 8 )                      h j ( W ) = 0 ,        j = 1 ∼ m                  ( 9 ) 最小化:f(W)~~~~~~~~~~~~~~~~~~~~~~~~(7)\\ 限制條件:g_i(W) \leqslant 0, ~~~~~~~i=1\sim k~~~~~~~~~~~~~~~~~~(8)\\ \ ~~~~~~~~~~~~~~~~~~~h_j(W) = 0, ~~~~~~j=1\sim m~~~~~~~~~~~~~~~~(9) 最小化:f(W)                        (7)限制條件:gi​(W)⩽0,       i=1∼k                  (8)                    hj​(W)=0,      j=1∼m                (9)

定義函數: L ( W , A , B ) = f ( W ) + ∑ i = 1 k α i g i ( W ) + ∑ j = 1 m β j h j ( W ) = f ( W ) + A T G ( W ) + B T H ( W ) L(W,\Alpha,\Beta) = f(W) + \sum_{i=1}^k \alpha_ig_i(W) + \sum_{j=1}^m\beta_jh_j(W) = f(W) + \Alpha^TG(W) + \Beta^TH(W) L(W,A,B)=f(W)+∑i=1k​αi​gi​(W)+∑j=1m​βj​hj​(W)=f(W)+ATG(W)+BTH(W)

其中 A = [ α 1 , α 2 , . . . , α k ] T          B = [ β 1 , β 2 , . . . , β m ] T          G ( W ) = [ g 1 ( W ) , g 2 ( W ) , . . . , g k ( W ) ] T          H ( W ) = [ h 1 ( W ) , h 2 ( W ) , . . . , h m ( W ) ] T \Alpha = [\alpha_1, \alpha_2, ..., \alpha_k]^T\\ \ ~~~~~~~\Beta = [\beta_1, \beta_2, ..., \beta_m]^T\\ \ ~~~~~~~G(W) = [g_1(W), g_2(W), ..., g_k(W)]^T\\ \ ~~~~~~~H(W) = [h_1(W), h_2(W), ..., h_m(W)]^T A=[α1​,α2​,...,αk​]T        B=[β1​,β2​,...,βm​]T        G(W)=[g1​(W),g2​(W),...,gk​(W)]T        H(W)=[h1​(W),h2​(W),...,hm​(W)]T

在定義了函數 L ( W , A , B ) L(W, \Alpha, \Beta) L(W,A,B)的基礎上,定義對偶問題如下:

             最 大 化 : θ ( A , B ) = inf ⁡ W { L ( W , A , B ) }                ( 10 ) 限 制 條 件 : α i ⩾ 0 ,       i = 1 ∼ k                        ( 11 ) \ ~~~~~~~~~~~最大化:\theta(\Alpha, \Beta) = \inf\limits_W\{L(W, \Alpha, \Beta)\}~~~~~~~~~~~~~~(10)\\ 限制條件:\alpha_i \geqslant 0, ~~~~~i=1\sim k~~~~~~~~~~~~~~~~~~~~~~(11)             最大化:θ(A,B)=Winf​{L(W,A,B)}              (10)限制條件:αi​⩾0,     i=1∼k                      (11)

inf ⁡ \inf inf表示周遊所有求最小。

θ \theta θ是 A \Alpha A和 B \Beta B的函數,這個函數表示:給定 A , B \Alpha, \Beta A,B,去周遊 L ( W , A , B ) L(W, \Alpha, \Beta) L(W,A,B)定義域内所有 W W W,找到使 L ( W , A , B ) L(W, \Alpha, \Beta) L(W,A,B)值最小的那個 W W W,同時将 L ( W , A , B ) L(W, \Alpha, \Beta) L(W,A,B)的這個最小值指派給 θ ( A , B ) \theta(\Alpha, \Beta) θ(A,B)。

3.2.1 對偶差距(Duality Gap)

如果 W ∗ W^* W∗是原問題的解, ( A ∗ , B ∗ ) (\Alpha^*, \Beta^*) (A∗,B∗)是對偶問題的解,則對偶差距 G = f ( W ∗ ) − θ ( A ∗ , B ∗ ) G=f(W^*)-\theta(\Alpha^*, \Beta^*) G=f(W∗)−θ(A∗,B∗),且 G ⩾ 0 G\geqslant0 G⩾0。

證明:

θ ( A ∗ , B ∗ ) = inf ⁡ W { L ( W , A ∗ , B ∗ ) }                           ( 12 )                   ⩽ L ( W ∗ , A ∗ , B ∗ )                                      ( 13 )                                                    = f ( W ∗ ) + ( A ∗ ) T G ( W ∗ ) + ( B ∗ ) T H ( W ∗ )                              ( 14 ) ⩽ f ( W ∗ )                                    ( 15 ) \theta(\Alpha^*, \Beta^*) = \inf\limits_W\{L(W, \Alpha^*, \Beta^*)\}~~~~~~~~~~~~~~~~~~~~~~~~~(12)\\ \ ~~~~~~~~~~~~~~~~\leqslant L(W^*, \Alpha^*, \Beta^*)~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~(13)\\ \ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~=f(W^*) + (\Alpha^*)^TG(W^*) + (\Beta^*)^TH(W^*)~~~~~~~~~~~~~~~~~~~~~~~~~~~~(14)\\ \leqslant f(W^*)~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~(15) θ(A∗,B∗)=Winf​{L(W,A∗,B∗)}                         (12)                 ⩽L(W∗,A∗,B∗)                                    (13)                                                  =f(W∗)+(A∗)TG(W∗)+(B∗)TH(W∗)                            (14)⩽f(W∗)                                  (15)

說明:

( 12 ) ⇒ ( 13 ) : (12)\rArr(13): (12)⇒(13):因為 inf ⁡ W { L ( W , A ∗ , B ∗ ) } \inf\limits_W\{L(W, \Alpha^*, \Beta^*)\} Winf​{L(W,A∗,B∗)}表示周遊定義域内所有 W W W取函數 L L L最小值,則該最小值一定會小于或等于指定某個具                          體 的 W ∗ ~~~~~~~~~~~~~~~~~~~~~~~~體的W^*                         體的W∗所得到的函數 L L L的值;

( 13 ) ⇒ ( 14 ) : (13)\rArr(14): (13)⇒(14):根據函數 L ( W , A , B ) L(W,\Alpha,\Beta) L(W,A,B)的定義展開;

( 14 ) ⇒ ( 15 ) : (14)\rArr(15): (14)⇒(15):因為 H ( W ∗ ) H(W^*) H(W∗)的每個分量均等于0, G ( W ∗ ) G(W^*) G(W∗)的每個分量均小于或等于0, A ∗ \Alpha^* A∗的每個分量均大于或等于0,是以                          ( A ∗ ) T G ( W ∗ ) + ( B ∗ ) T H ( W ∗ ) ⩽ 0 ~~~~~~~~~~~~~~~~~~~~~~~~(\Alpha^*)^TG(W^*) + (\Beta^*)^TH(W^*) \leqslant 0                         (A∗)TG(W∗)+(B∗)TH(W∗)⩽0。

3.2.2 強對偶定理(Strong Duality Theorem)

如果 g i ( W ) = a i W + b i , h j ( W ) = c j W + d j , ( i = 1 ∼ k , j = 1 ∼ m ) , f ( W ) g_i(W)=a_iW+b_i, h_j(W)=c_jW+d_j, (i=1\sim k, j=1\sim m), f(W) gi​(W)=ai​W+bi​,hj​(W)=cj​W+dj​,(i=1∼k,j=1∼m),f(W)為凸函數,則有 f ( W ∗ ) = θ ( A ∗ , B ∗ ) f(W^*)=\theta(\Alpha^*, \Beta^*) f(W∗)=θ(A∗,B∗),即對偶差距G等于0。

如果原問題的目标函數是凸函數,限制條件是線性函數,則原問題的解與對偶問題的解相等,即 f ( W ∗ ) = θ ( A ∗ , B ∗ ) 。 f(W^*)=\theta(\Alpha^*, \Beta^*)。 f(W∗)=θ(A∗,B∗)。

3.2.3 KKT條件

若 f ( W ∗ ) = θ ( A ∗ , B ∗ ) f(W^*)=\theta(\Alpha^*, \Beta^*) f(W∗)=θ(A∗,B∗),則 ∀ i = 1 ∼ k \forall i=1\sim k ∀i=1∼k,要麼 α i ∗ = 0 \alpha_i^*=0 αi∗​=0,要麼 g i ( W ∗ ) = 0 g_i(W^*)=0 gi​(W∗)=0。

因為 f ( W ∗ ) = θ ( A ∗ , B ∗ ) f(W^*)=\theta(\Alpha^*, \Beta^*) f(W∗)=θ(A∗,B∗),則 ( A ∗ ) T G ( W ∗ ) + ( B ∗ ) T H ( W ∗ ) (\Alpha^*)^TG(W^*) + (\Beta^*)^TH(W^*) (A∗)TG(W∗)+(B∗)TH(W∗)必定等于0。所有要麼 A ∗ \Alpha^* A∗的分量 α i ∗ = 0 \alpha_i^*=0 αi∗​=0,要麼 G ( W ∗ ) G(W^*) G(W∗)的分量 g i ( W ∗ ) = 0 g_i(W^*)=0 gi​(W∗)=0。

4. 支援向量機——非線性可分情況

回顧線性可分情況下,支援向量機優化問題如下:

最 小 化 :    1 2 ∣ ∣ W ∣ ∣ 2                                                       ( 16 ) 限 制 條 件 :    y i ( W T X i + b ) ⩾ 1 ,    i = 1 ∼ n                  ( 17 ) 最小化:~~\frac{1}{2}||W||^2~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~(16)\\ 限制條件:~~y_i(W^TX_i+b)\geqslant1,~~i=1\sim n~~~~~~~~~~~~~~~~(17) 最小化:  21​∣∣W∣∣2                                                     (16)限制條件:  yi​(WTXi​+b)⩾1,  i=1∼n                (17)

對于非線性可分情況,需要适當放松限制條件,使上述線性可分情況下的最優化問題變得有解。放松限制條件的基本思路是:對訓練集中的每個訓練樣本及标簽 ( X i , y i ) (X_i, y_i) (Xi​,yi​),設定一個松弛變量 δ i \delta_i δi​(Slack Variable),将限制條件改寫為: y i ( W T X i + b ) ⩾ 1 − δ i ,    i = 1 ∼ n y_i(W^TX_i+b)\geqslant1-\delta_i,~~i=1\sim n yi​(WTXi​+b)⩾1−δi​,  i=1∼n。

改造後的支援向量機優化問題如下:

最 小 化 :    1 2 ∣ ∣ W ∣ ∣ 2 + c ∑ i = 1 n δ i    或    1 2 ∣ ∣ W ∣ ∣ 2 + c ∑ i = 1 n δ i 2                ( 18 ) 限 制 條 件 :    ( 1 )    δ i ⩾ 0 ,    i = 1 ∼ n                                                   ( 19 )               ( 2 )    y i ( W T X i + b ) ⩾ 1 − δ i ,    i = 1 ∼ n             ( 20 ) 最小化:~~\frac{1}{2}||W||^2+c\sum_{i=1}^n\delta_i~~或~~\frac{1}{2}||W||^2+c\sum_{i=1}^n\delta_i^2~~~~~~~~~~~~~~(18)\\ 限制條件:~~(1)~~\delta_i\geqslant0,~~i=1\sim n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~(19)\\ ~~~~~~~~~~~~~(2)~~y_i(W^TX_i+b)\geqslant1-\delta_i,~~i=1\sim n~~~~~~~~~~~(20) 最小化:  21​∣∣W∣∣2+ci=1∑n​δi​  或  21​∣∣W∣∣2+ci=1∑n​δi2​              (18)限制條件:  (1)  δi​⩾0,  i=1∼n                                                 (19)             (2)  yi​(WTXi​+b)⩾1−δi​,  i=1∼n           (20)

c c c稱為比例因子,是人為設定的。一個算法中需要人為事先設定的參數叫做算法的超參數(Hyper Parameter)。一般來說,在實際運用中,會不斷變化 c c c的值,同時測試算法的識别率,然後選取使識别率最大的超參數 c c c的值。支援向量機是超參數很少的算法模型。

c ∑ i = 1 n δ i c\sum_{i=1}^n\delta_i c∑i=1n​δi​和 c ∑ i = 1 n δ i 2 c\sum_{i=1}^n\delta_i^2 c∑i=1n​δi2​稱為正則項(Regulation Term)。在優化函數中加入正則項,表明盡量在不放松限制條件的情況下,求解最優分類直線或超平面。如果不限制 δ i \delta_i δi​的取值,顯然當 δ i \delta_i δi​取非常大的正數時,任意 W 和 b W和b W和b均會滿足限制條件(1)。是以,求解出來的 W W W和 b b b所對應的直線或超平面,分類效果将會非常差。

支援向量機(SVM)詳解(二)1. 前言2. 實際問題是否為線性可分問題的探讨3. 基本定義4. 支援向量機——非線性可分情況5. 特征空間映射到高維的解決方法6. 總結支援向量機訓練和測試流程7. 後記

對于圖1所示非線性可分資料集,運用上述改造後的支援向量機優化問題,仍可求解出合理的分類直線。

5. 特征空間映射到高維的解決方法

5.1 低維到高維的映射

考慮如下圖2所示情況,使用上述改造後的支援向量機優化問題,求解出一條分類直線。如圖2中的直線所示,求解出的分類直線效果非常差,和瞎猜沒什麼差別,問題出在哪裡?

支援向量機(SVM)詳解(二)1. 前言2. 實際問題是否為線性可分問題的探讨3. 基本定義4. 支援向量機——非線性可分情況5. 特征空間映射到高維的解決方法6. 總結支援向量機訓練和測試流程7. 後記

因為支援向量機限定了分類兩類的決策函數是線性的,即支援向量機從無數條直線或超平面中尋找最優的分類直線或超平面。但是在圖2所示資料集中,任何直線均無法合理地分開兩類。顯然,分開兩類的決策函數應該是一條類似橢圓的曲線。

人工神經網絡等算法,通過多層非線性函數的組合,能夠産生類似于橢圓這樣的曲線,進而将圖2所示中這類訓練樣本集合理二分。

支援向量機擴大可選函數範圍,進而将圖2所示中的這類訓練樣本集合理二分的方法可謂獨豎一幟。支援向量機通過将特征空間由低維映射到高維,然後在高維特征空間中,仍然使用線性超平面對訓練樣本進行分類。

存在定理如下:

在一個M維空間中随機取N個訓練樣本,随機地對每個訓練樣本賦予标簽+1或-1。設這些訓練樣本線性可分的機率為P(M),則當M趨于無窮大時,P(M)=1。

舉例說明如下:

考量如圖4所示異或問題,其中黑色點為一類,白色點為另一類,即 X 1 = ( 0 , 0 ) T ∈ C 1 , X 2 = ( 1 , 1 ) T ∈ C 1 , X 3 = ( 1 , 0 ) T ∈ C 2 , X 4 = ( 0 , 1 ) T ∈ C 2 X_1=(0,0)^T\in C_1, X_2=(1, 1)^T\in C_1, X_3=(1, 0)^T\in C_2, X_4= (0, 1)^T\in C_2 X1​=(0,0)T∈C1​,X2​=(1,1)T∈C1​,X3​=(1,0)T∈C2​,X4​=(0,1)T∈C2​,顯然該樣本集非線性可分。

支援向量機(SVM)詳解(二)1. 前言2. 實際問題是否為線性可分問題的探讨3. 基本定義4. 支援向量機——非線性可分情況5. 特征空間映射到高維的解決方法6. 總結支援向量機訓練和測試流程7. 後記

構造如下2維到5維的映射 φ ( X ) : \varphi(X): φ(X):

X = ( x 1 , x 2 ) T → φ ( X ) = ( x 1 2 , x 2 2 , x 1 , x 2 , x 1 x 2 ) T X=(x_1, x_2)^T\to\varphi(X)=(x_1^2, x_2^2, x_1, x_2, x_1x_2)^T X=(x1​,x2​)T→φ(X)=(x12​,x22​,x1​,x2​,x1​x2​)T

則 φ ( X 1 ) = ( 0 , 0 , 0 , 0 , 0 ) T , φ ( X 2 ) = ( 1 , 1 , 1 , 1 , 1 ) T , φ ( X 3 ) = ( 1 , 0 , 1 , 0 , 0 ) , φ ( X 4 ) = ( 0 , 1 , 0 , 1 , 0 ) T \varphi(X_1)=(0,0,0,0,0)^T, \varphi(X_2)=(1,1,1,1,1)^T, \varphi(X_3)=(1,0,1,0,0), \varphi(X_4)=(0,1,0,1,0)^T φ(X1​)=(0,0,0,0,0)T,φ(X2​)=(1,1,1,1,1)T,φ(X3​)=(1,0,1,0,0),φ(X4​)=(0,1,0,1,0)T。設 W = ( − 1 , − 1 , − 1 , − 1 , 6 ) T , b = 1 , 則 : W=(-1,-1,-1,-1,6)^T, b=1,則: W=(−1,−1,−1,−1,6)T,b=1,則:

W T φ ( X 1 ) + b = 1 > 0 W T φ ( X 2 ) + b = 3 > 0 W T φ ( X 3 ) + b = − 1 < 0 W T φ ( X 4 ) + b = − 1 < 0 W^T\varphi(X_1)+b=1>0\\ W^T\varphi(X_2)+b=3>0\\ W^T\varphi(X_3)+b=-1<0\\ W^T\varphi(X_4)+b=-1<0 WTφ(X1​)+b=1>0WTφ(X2​)+b=3>0WTφ(X3​)+b=−1<0WTφ(X4​)+b=−1<0

是以, φ ( X 1 ) , φ ( X 2 ) , φ ( X 3 ) , φ ( X 4 ) \varphi(X_1), \varphi(X_2), \varphi(X_3), \varphi(X_4) φ(X1​),φ(X2​),φ(X3​),φ(X4​)線性可分。

可見2維非線性可分資料集,其特征空間映射到5維後,變成了線性可分資料集。

當 X X X映射成 φ ( X ) \varphi(X) φ(X),支援向量機優化問題轉變成如下形式:

最 小 化 :    1 2 ∣ ∣ W ∣ ∣ 2 + c ∑ i = 1 n δ i                                                      ( 21 ) 限 制 條 件 :    ( 1 )    δ i ⩾ 0 ,    i = 1 ∼ n                                                   ( 22 )                     ( 2 )    y i ( W T φ ( X i ) + b ) ⩾ 1 − δ i ,    i = 1 ∼ n             ( 23 ) 最小化:~~\frac{1}{2}||W||^2+c\sum_{i=1}^n\delta_i~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~(21)\\ 限制條件:~~(1)~~\delta_i\geqslant0,~~i=1\sim n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~(22)\\ ~~~~~~~~~~~~~~~~~~~(2)~~y_i(W^T\varphi(X_i)+b)\geqslant1-\delta_i,~~i=1\sim n~~~~~~~~~~~(23) 最小化:  21​∣∣W∣∣2+ci=1∑n​δi​                                                    (21)限制條件:  (1)  δi​⩾0,  i=1∼n                                                 (22)                   (2)  yi​(WTφ(Xi​)+b)⩾1−δi​,  i=1∼n           (23)

當 X X X映射成 φ ( X ) \varphi(X) φ(X), W W W的次元須保持與 φ ( X ) \varphi(X) φ(X)保持一緻。高維情況下優化問題的解法和低維情況下是完全類似的。

5.2 轉化為對偶問題

将特征空間由低維映射到高維,可使得低維情況下非線性可分資料集變得線性可分。而且高維情況下的優化問題的解法和低維情況下完全類似。是以,隻剩下最後一個問題:低維到高維的映射 φ ( X ) \varphi(X) φ(X)的具體形式如何确定?

支援向量機的創始人Vapnik在關于低維到高維的映射 φ ( X ) \varphi(X) φ(X)具體形式這個問題上的回答是極具創造性的。他指出,不用知道 φ ( X ) \varphi(X) φ(X)的具體形式,如果對任意兩個向量 X 1 X_1 X1​和 X 2 X_2 X2​,我們知道一個核函數 K ( X 1 , X 2 ) = φ ( X 1 ) T φ ( X 2 ) K(X_1, X_2)=\varphi(X_1)^T\varphi(X_2) K(X1​,X2​)=φ(X1​)Tφ(X2​),那麼我們可以通過一些技巧獲得一個測試樣本 X X X的類别資訊,進而完成對測試樣本類别的預測。

對任意一個測試樣本,僅需知道核函數 K K K,而不用知道低維到高維的映射 φ ( X ) \varphi(X) φ(X),就能知道其類别資訊。推導過程如下:

首先将支援向量機的優化問題轉化為對偶問題。為了将支援向量機的優化問題轉化為對偶問題,須改變支援向量機的優化問題形式,使之和原問題與對偶問題定義中原問題形式保持一緻。然後根據定義,對照寫出支援向量機的優化問題的對偶問題。

考量3.2中原問題形式,其通過優化變量 W W W,使得函數 f ( W ) f(W) f(W)值最小。存在 k k k個不等式限制條件,形式為 g i ( W ) ⩽ 0 g_i(W) \leqslant 0 gi​(W)⩽0。存在 m m m個等式限制條件,形式為 h j ( W ) = 0 h_j(W) = 0 hj​(W)=0。

考量支援向量機優化問題(21)—(23),可以發現優化問題中限制條件形式與原問題定義中形式不一緻。首先将 δ i ⩾ 0 , ( i = 1 ∼ n ) \delta_i\geqslant0, (i=1\sim n) δi​⩾0,(i=1∼n)轉變成為 δ i ⩽ 0 , ( i = 1 ∼ n ) \delta_i\leqslant0, (i=1\sim n) δi​⩽0,(i=1∼n),即将支援向量機的優化問題中所有 δ \delta δ的值全部取其相反數,優化問題轉變成如下形式:

最 小 化 :    1 2 ∣ ∣ W ∣ ∣ 2 − c ∑ i = 1 n δ i                           ( 24 ) 限 制 條 件 : ( 1 )    δ i ⩽ 0 ,    i = 1 ∼ n                         ( 25 )                                           ( 2 )    y i ( W T φ ( X i ) + b ) ⩾ 1 + δ i ,    i = 1 ∼ n           ( 26 ) 最小化:~~\frac{1}{2}||W||^2-c\sum_{i=1}^n\delta_i~~~~~~~~~~~~~~~~~~~~~~~~~(24)\\ 限制條件:(1)~~\delta_i\leqslant0,~~i=1\sim n~~~~~~~~~~~~~~~~~~~~~~~(25)\\ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~(2)~~y_i(W^T\varphi(X_i)+b)\geqslant1+\delta_i,~~i=1\sim n~~~~~~~~~(26) 最小化:  21​∣∣W∣∣2−ci=1∑n​δi​                         (24)限制條件:(1)  δi​⩽0,  i=1∼n                       (25)                                         (2)  yi​(WTφ(Xi​)+b)⩾1+δi​,  i=1∼n         (26)

當 δ i ⩾ 0 , ( i = 1 ∼ n ) \delta_i\geqslant0, (i=1\sim n) δi​⩾0,(i=1∼n)轉變成為 δ i ⩽ 0 , ( i = 1 ∼ n ) \delta_i\leqslant0, (i=1\sim n) δi​⩽0,(i=1∼n),整個優化問題中所有 δ i \delta_i δi​均需取其相反數。是以最小化: 1 2 ∣ ∣ W ∣ ∣ 2 + c ∑ i = 1 n δ i \frac{1}{2}||W||^2+c\sum_{i=1}^n\delta_i 21​∣∣W∣∣2+c∑i=1n​δi​須換變成為 1 2 ∣ ∣ W ∣ ∣ 2 − c ∑ i = 1 n δ i \frac{1}{2}||W||^2-c\sum_{i=1}^n\delta_i 21​∣∣W∣∣2−c∑i=1n​δi​。限制條件(2)須轉變成為 y i ( W T φ ( X i ) + b ) ⩾ 1 + δ i ,    i = 1 ∼ n y_i(W^T\varphi(X_i)+b)\geqslant1+\delta_i,~~i=1\sim n yi​(WTφ(Xi​)+b)⩾1+δi​,  i=1∼n。

考量式(26),可以發現其與原問題定義中形式不一緻,将其移項轉變成: 1 + δ i − y i ( W T φ ( X i ) + b ) ⩽ 0 1+\delta_i-y_i(W^T\varphi(X_i)+b)\leqslant0 1+δi​−yi​(WTφ(Xi​)+b)⩽0。經過整理,可将支援向量機優化問題寫成如下形式:

最 小 化 :    1 2 ∣ ∣ W ∣ ∣ 2 − c ∑ i = 1 n δ i                           ( 27 ) 限 制 條 件 : ( 1 )    δ i ⩽ 0 ,    i = 1 ∼ n                         ( 28 )                                                  ( 2 )    1 + δ i − y i W T φ ( X i ) − y i b ⩽ 0 ,    i = 1 ∼ n           ( 29 ) 最小化:~~\frac{1}{2}||W||^2-c\sum_{i=1}^n\delta_i~~~~~~~~~~~~~~~~~~~~~~~~~(27)\\ 限制條件:(1)~~\delta_i\leqslant0,~~i=1\sim n~~~~~~~~~~~~~~~~~~~~~~~(28)\\ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~(2)~~1+\delta_i-y_iW^T\varphi(X_i)-y_ib\leqslant0,~~i=1\sim n~~~~~~~~~(29) 最小化:  21​∣∣W∣∣2−ci=1∑n​δi​                         (27)限制條件:(1)  δi​⩽0,  i=1∼n                       (28)                                                (2)  1+δi​−yi​WTφ(Xi​)−yi​b⩽0,  i=1∼n         (29)

原問題定義中的優化變量 W = ( W , b , Δ ) = ( w 1 , w 2 , . . . , w l , b , δ i , δ 2 , . . . , δ n ) W=(W,b,\Delta)=(w_1,w_2,...,w_l,b,\delta_i,\delta_2,...,\delta_n) W=(W,b,Δ)=(w1​,w2​,...,wl​,b,δi​,δ2​,...,δn​),其中 l l l等于向量 φ ( X i ) \varphi(X_i) φ(Xi​)的維數;

原問題定義中的目标函數 f ( W ) = 1 2 ∣ ∣ W ∣ ∣ 2 − c ∑ i = 1 n δ i f(W)=\frac{1}{2}||W||^2-c\sum_{i=1}^n\delta_i f(W)=21​∣∣W∣∣2−c∑i=1n​δi​;

原問題中限制條件 g i ( W ) ⩽ 0 ,   i = 1 ∼ k g_i(W) \leqslant 0, ~i=1\sim k gi​(W)⩽0, i=1∼k等同于① δ i ⩽ 0 ,   i = 1 ∼ n \delta_i\leqslant0,~i=1\sim n δi​⩽0, i=1∼n,② 1 + δ i − y i W T φ ( X i ) − y i b ⩽ 0 ,    i = 1 ∼ n 1+\delta_i-y_iW^T\varphi(X_i)-y_ib\leqslant0,~~i=1\sim n 1+δi​−yi​WTφ(Xi​)−yi​b⩽0,  i=1∼n。其中原問題定義中的 k k k在該優化問題中等于 2 n 2n 2n,即總共存在 2 n 2n 2n個不等式形式的限制條件;

原問題中限制條件 h j ( W ) = 0 ,    j = 1 ∼ m h_j(W) = 0, ~~j=1\sim m hj​(W)=0,  j=1∼m在該優化問題中不存在,即不存在等式形式的限制條件。

考量原問題與對偶問題定義中定義的函數 L ( W , A , B ) = f ( W ) + ∑ i = 1 k α i g i ( W ) + ∑ j = 1 m β j h j ( W ) L(W, \Alpha, \Beta)=f(W) + \sum_{i=1}^k \alpha_ig_i(W) + \sum_{j=1}^m\beta_jh_j(W) L(W,A,B)=f(W)+∑i=1k​αi​gi​(W)+∑j=1m​βj​hj​(W),在支援向量機的優化問題中:

L ( W , A , B ) = 1 2 ∣ ∣ W ∣ ∣ 2 − c ∑ i = 1 n δ i + ∑ i = 1 n α i [ 1 + δ i − y i W T φ ( X i ) − y i b ] + ∑ i = 1 n β i δ i           ( 30 ) L(W, \Alpha, \Beta)=\frac{1}{2}||W||^2-c\sum_{i=1}^n\delta_i+\sum_{i=1}^n\alpha_i[1+\delta_i-y_iW^T\varphi(X_i)-y_ib]+\sum_{i=1}^n\beta_i\delta_i~~~~~~~~~(30) L(W,A,B)=21​∣∣W∣∣2−ci=1∑n​δi​+i=1∑n​αi​[1+δi​−yi​WTφ(Xi​)−yi​b]+i=1∑n​βi​δi​         (30)

由于原問題中限制條件 g i ( W ) ⩽ 0 ,   i = 1 ∼ k g_i(W) \leqslant 0, ~i=1\sim k gi​(W)⩽0, i=1∼k等同于① δ i ⩽ 0 ,   i = 1 ∼ n \delta_i\leqslant0,~i=1\sim n δi​⩽0, i=1∼n,② 1 + δ i − y i W T φ ( X i ) − y i b ⩽ 0 ,    i = 1 ∼ n 1+\delta_i-y_iW^T\varphi(X_i)-y_ib\leqslant0,~~i=1\sim n 1+δi​−yi​WTφ(Xi​)−yi​b⩽0,  i=1∼n, L ( W , A , B ) L(W, \Alpha, \Beta) L(W,A,B)中 g i ( W ) g_i(W) gi​(W)前的系數 α i \alpha_i αi​在式(30)中,被拆成兩部分,即 α i \alpha_i αi​和 β i \beta_i βi​。

是以,支援向量機優化問題的對偶問題應寫成如下形式:

最 大 化 : θ ( A , B ) = inf ⁡ W , b , Δ { 1 2 ∣ ∣ W ∣ ∣ 2 − c ∑ i = 1 n δ i + ∑ i = 1 n α i [ 1 + δ i − y i W T φ ( X i ) − y i b ] + ∑ i = 1 n β i δ i }           ( 31 ) 限 制 條 件 : ( 1 ) α i ⩾ 0 ,        i = 1 ∼ n                   ( 32 )                      ( 2 ) β i ⩾ 0 ,        i = 1 ∼ n                   ( 33 ) 最大化:\theta(\Alpha, \Beta) = \inf\limits_{W,b,\Delta}\{\frac{1}{2}||W||^2-c\sum_{i=1}^n\delta_i+\sum_{i=1}^n\alpha_i[1+\delta_i-y_iW^T\varphi(X_i)-y_ib]+\sum_{i=1}^n\beta_i\delta_i\}~~~~~~~~~(31)\\ 限制條件:(1)\alpha_i\geqslant0,~~~~~~i=1\sim n~~~~~~~~~~~~~~~~~(32)\\ ~~~~~~~~~~~~~~~~~~~~(2)\beta_i\geqslant0,~~~~~~i=1\sim n~~~~~~~~~~~~~~~~~(33) 最大化:θ(A,B)=W,b,Δinf​{21​∣∣W∣∣2−ci=1∑n​δi​+i=1∑n​αi​[1+δi​−yi​WTφ(Xi​)−yi​b]+i=1∑n​βi​δi​}         (31)限制條件:(1)αi​⩾0,      i=1∼n                 (32)                    (2)βi​⩾0,      i=1∼n                 (33)

對式(31)進行化簡,由于 inf ⁡ W , b , Δ \inf\limits_{W,b,\Delta} W,b,Δinf​表示周遊所有 W , b , Δ W,b,\Delta W,b,Δ,并取最小值,為一個典型的函數求極值問題。是以對 ( W , b , δ i ) (W, b, \delta_i) (W,b,δi​)求偏導,并令偏導數等于0。将求解出的結果帶入式(31),即簡化式(31):

∂ θ ∂ W = W − ∑ i = 1 n α i y i φ ( X i ) = 0                           ( 34 ) ∂ θ δ i = − c + α i + β i = 0                                    ( 35 ) ∂ θ ∂ b = − ∑ i = 1 n α i y i = 0                                         ( 36 ) \frac{\partial\theta}{\partial W}=W-\sum_{i=1}^n\alpha_iy_i\varphi(X_i)=0~~~~~~~~~~~~~~~~~~~~~~~~~(34)\\ \frac{\partial\theta}{\delta_i}=-c+\alpha_i+\beta_i=0~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~(35)\\ \frac{\partial\theta}{\partial b}=-\sum_{i=1}^n\alpha_iy_i=0~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~(36) ∂W∂θ​=W−i=1∑n​αi​yi​φ(Xi​)=0                         (34)δi​∂θ​=−c+αi​+βi​=0                                  (35)∂b∂θ​=−i=1∑n​αi​yi​=0                                       (36)

若 W = ( w 1 , w 2 , . . . , w m ) T , f ( W ) W=(w_1,w_2,...,w_m)^T,f(W) W=(w1​,w2​,...,wm​)T,f(W)為 W W W的函數,則 ∂ f ∂ W = ( ∂ f ∂ w 1 , ∂ f ∂ w 2 , . . . , ∂ f ∂ w m ) T \frac{\partial f}{\partial W}=(\frac{\partial f}{\partial w_1},\frac{\partial f}{\partial w_2},...,\frac{\partial f}{\partial w_m})^T ∂W∂f​=(∂w1​∂f​,∂w2​∂f​,...,∂wm​∂f​)T;

若 f ( W ) = 1 2 ∣ ∣ W ∣ ∣ 2 f(W)=\frac{1}{2}||W||^2 f(W)=21​∣∣W∣∣2,則 ∂ f ∂ W = W \frac{\partial f}{\partial W}=W ∂W∂f​=W;

若 f ( W ) = W T g ( X ) f(W)=W^Tg(X) f(W)=WTg(X),則 ∂ f ∂ W = g ( X ) \frac{\partial f}{\partial W}=g(X) ∂W∂f​=g(X)。

具體參見:向量求導法則

從式(34)—(36)可以推出:

W = ∑ i = 1 n α i y i φ ( X i )                         ( 37 ) α i + β i = c                                      ( 38 ) ∑ i = 1 n α i y i = 0                                     ( 39 ) W=\sum_{i=1}^n\alpha_iy_i\varphi(X_i)~~~~~~~~~~~~~~~~~~~~~~~(37)\\ \alpha_i+\beta_i=c~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~(38)\\ \sum_{i=1}^n\alpha_iy_i=0~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~(39) W=i=1∑n​αi​yi​φ(Xi​)                       (37)αi​+βi​=c                                    (38)i=1∑n​αi​yi​=0                                   (39)

将式(37)—(39)代入式(31):【這裡看上去有一點點複雜,但是實際上并不難了解。我寫得很詳細,你絕對能夠看明白, 我 保 證 ! \color{red}我保證! 我保證!請靜下心來,深呼吸一次,跟着我的思路,結合下面的解釋,一步一步慢慢檢視推導過程。】

θ ( A , B ) = inf ⁡ W , b , Δ { 1 2 ∣ ∣ W ∣ ∣ 2 − c ∑ i = 1 n δ i + ∑ i = 1 n α i [ 1 + δ i − y i W T φ ( X i ) − y i b ] + ∑ i = 1 n β i δ i }                     ( 40 ) = inf ⁡ W , b , Δ { 1 2 ∣ ∣ W ∣ ∣ 2 + ∑ i = 1 n α i [ 1 − y i W T φ ( X i ) − y i b ] }                                                ( 41 ) = inf ⁡ W , b , Δ { 1 2 ∣ ∣ W ∣ ∣ 2 + ∑ i = 1 n α i [ 1 − y i W T φ ( X i ) ] }                                                          ( 42 ) = inf ⁡ W , b , Δ { ∑ i = 1 n α i + 1 2 ∣ ∣ W ∣ ∣ 2 − ∑ i = 1 n α i y i W T φ ( X i ) }                                                    ( 43 ) = inf ⁡ W , b , Δ { ∑ i = 1 n α i + 1 2 ∑ i = 1 n ∑ j = 1 n α i α j y i y j φ ( X i ) T φ ( X j ) − ∑ i = 1 n α i y i W T φ ( X i ) }          ( 44 ) = inf ⁡ W , b , Δ { ∑ i = 1 n α i + 1 2 ∑ i = 1 n ∑ j = 1 n α i α j y i y j φ ( X i ) T φ ( X j ) − ∑ i = 1 n ∑ j = 1 n α i α j y i y j φ ( X i ) T φ ( X j ) }                 ( 45 ) = inf ⁡ W , b , Δ { ∑ i = 1 n α i − 1 2 ∑ i = 1 n ∑ j = 1 n α i α j y i y j φ ( X i ) T φ ( X j ) }                                             ( 46 ) = ∑ i = 1 n α i − 1 2 ∑ i = 1 n ∑ j = 1 n α i α j y i y j φ ( X i ) T φ ( X j )                                                          ( 47 ) = ∑ i = 1 n α i − 1 2 ∑ i = 1 n ∑ j = 1 n α i α j y i y j K ( X i , X j )                                                               ( 48 ) \theta(\Alpha, \Beta) = \inf\limits_{W,b,\Delta}\{\frac{1}{2}||W||^2-c\sum_{i=1}^n\delta_i+\sum_{i=1}^n\alpha_i[1+\delta_i-y_iW^T\varphi(X_i)-y_ib]+\sum_{i=1}^n\beta_i\delta_i\}~~~~~~~~~~~~~~~~~~~(40)\\ =\inf\limits_{W,b,\Delta}\{\frac{1}{2}||W||^2+\sum_{i=1}^n\alpha_i[1-y_iW^T\varphi(X_i)-y_ib]\}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~(41)\\ =\inf\limits_{W,b,\Delta}\{\frac{1}{2}||W||^2+\sum_{i=1}^n\alpha_i[1-y_iW^T\varphi(X_i)]\}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~(42)\\ =\inf\limits_{W,b,\Delta}\{\sum_{i=1}^n\alpha_i+\frac{1}{2}||W||^2-\sum_{i=1}^n\alpha_iy_iW^T\varphi(X_i)\}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~(43)\\ =\inf\limits_{W,b,\Delta}\{\sum_{i=1}^n\alpha_i+\frac{1}{2}\sum_{i=1}^n\sum_{j=1}^n\alpha_i\alpha_jy_iy_j\varphi(X_i)^T\varphi(X_j)-\sum_{i=1}^n\alpha_iy_iW^T\varphi(X_i)\}~~~~~~~~(44)\\ =\inf\limits_{W,b,\Delta}\{\sum_{i=1}^n\alpha_i+\frac{1}{2}\sum_{i=1}^n\sum_{j=1}^n\alpha_i\alpha_jy_iy_j\varphi(X_i)^T\varphi(X_j)-\sum_{i=1}^n\sum_{j=1}^n\alpha_i\alpha_jy_iy_j\varphi(X_i)^T\varphi(X_j)\}~~~~~~~~~~~~~~~(45)\\ =\inf\limits_{W,b,\Delta}\{\sum_{i=1}^n\alpha_i-\frac{1}{2}\sum_{i=1}^n\sum_{j=1}^n\alpha_i\alpha_jy_iy_j\varphi(X_i)^T\varphi(X_j)\}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~(46)\\ =\sum_{i=1}^n\alpha_i-\frac{1}{2}\sum_{i=1}^n\sum_{j=1}^n\alpha_i\alpha_jy_iy_j\varphi(X_i)^T\varphi(X_j)~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~(47)\\ =\sum_{i=1}^n\alpha_i-\frac{1}{2}\sum_{i=1}^n\sum_{j=1}^n\alpha_i\alpha_jy_iy_jK(X_i,X_j)~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~(48) θ(A,B)=W,b,Δinf​{21​∣∣W∣∣2−ci=1∑n​δi​+i=1∑n​αi​[1+δi​−yi​WTφ(Xi​)−yi​b]+i=1∑n​βi​δi​}                   (40)=W,b,Δinf​{21​∣∣W∣∣2+i=1∑n​αi​[1−yi​WTφ(Xi​)−yi​b]}                                              (41)=W,b,Δinf​{21​∣∣W∣∣2+i=1∑n​αi​[1−yi​WTφ(Xi​)]}                                                        (42)=W,b,Δinf​{i=1∑n​αi​+21​∣∣W∣∣2−i=1∑n​αi​yi​WTφ(Xi​)}                                                  (43)=W,b,Δinf​{i=1∑n​αi​+21​i=1∑n​j=1∑n​αi​αj​yi​yj​φ(Xi​)Tφ(Xj​)−i=1∑n​αi​yi​WTφ(Xi​)}        (44)=W,b,Δinf​{i=1∑n​αi​+21​i=1∑n​j=1∑n​αi​αj​yi​yj​φ(Xi​)Tφ(Xj​)−i=1∑n​j=1∑n​αi​αj​yi​yj​φ(Xi​)Tφ(Xj​)}               (45)=W,b,Δinf​{i=1∑n​αi​−21​i=1∑n​j=1∑n​αi​αj​yi​yj​φ(Xi​)Tφ(Xj​)}                                           (46)=i=1∑n​αi​−21​i=1∑n​j=1∑n​αi​αj​yi​yj​φ(Xi​)Tφ(Xj​)                                                        (47)=i=1∑n​αi​−21​i=1∑n​j=1∑n​αi​αj​yi​yj​K(Xi​,Xj​)                                                             (48)

推導過程輔助解釋:

(40) ⇒ \rArr ⇒(41):因為 α i + β i = c \alpha_i+\beta_i=c αi​+βi​=c,是以可消去式(40)中 − c ∑ i = 1 n δ i 、 ∑ i = 1 n α i δ i 、 ∑ i = 1 n β i δ i -c\sum_{i=1}^n\delta_i、\sum_{i=1}^n\alpha_i\delta_i、\sum_{i=1}^n\beta_i\delta_i −c∑i=1n​δi​、∑i=1n​αi​δi​、∑i=1n​βi​δi​,得到式(41);

(41) ⇒ \rArr ⇒(42):因為 ∑ i = 1 n α i y i = 0 \sum_{i=1}^n\alpha_iy_i=0 ∑i=1n​αi​yi​=0,是以可消去式(41)中 ∑ i = 1 n α i y i b \sum_{i=1}^n\alpha_iy_ib ∑i=1n​αi​yi​b,得到式(42);

(42) ⇒ \rArr ⇒(43):将 ∑ i = 1 n α i \sum_{i=1}^n\alpha_i ∑i=1n​αi​與括号内每一項相乘;

(43) ⇒ \rArr ⇒(44):

1 2 ∣ ∣ W ∣ ∣ 2 = 1 2 W T W                                                                         ① = 1 2 [ ∑ i = 1 n α i y i φ ( X i ) ] T [ ∑ j = 1 n α j y j φ ( X j ) ]              ② = 1 2 [ ∑ i = 1 n α i y i φ ( X i ) T ] [ ∑ j = 1 n α j y j φ ( X j ) ]              ③ = 1 2 ∑ i = 1 n ∑ j = 1 n α i α j y i y j φ ( X i ) T φ ( X j )                   ④ ① : 因 為 W 是 一 個 列 向 量 , 所 以 ∣ ∣ W ∣ ∣ 2 = W T W                                              ② ⇒ ③ : 因 為 α i 、 y i 為 常 數 , φ ( X i ) 為 向 量 , 所 以 [ ∑ i = 1 n α i y i φ ( X i ) ] T = ∑ i = 1 n α i y i φ ( X i ) T \frac{1}{2}||W||^2=\frac{1}{2}W^TW~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~①\\ =\frac{1}{2}[\sum_{i=1}^n\alpha_iy_i\varphi(X_i)]^T[\sum_{j=1}^n\alpha_jy_j\varphi(X_j)]~~~~~~~~~~~~②\\ =\frac{1}{2}[\sum_{i=1}^n\alpha_iy_i\varphi(X_i)^T][\sum_{j=1}^n\alpha_jy_j\varphi(X_j)]~~~~~~~~~~~~③\\ =\frac{1}{2}\sum_{i=1}^n\sum_{j=1}^n\alpha_i\alpha_jy_iy_j\varphi(X_i)^T\varphi(X_j)~~~~~~~~~~~~~~~~~④\\ ①:因為W是一個列向量,是以||W||^2=W^TW~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\\ ②\rArr③:因為\alpha_i、y_i為常數,\varphi(X_i)為向量,是以[\sum_{i=1}^n\alpha_iy_i\varphi(X_i)]^T=\sum_{i=1}^n\alpha_iy_i\varphi(X_i)^T 21​∣∣W∣∣2=21​WTW                                                                       ①=21​[i=1∑n​αi​yi​φ(Xi​)]T[j=1∑n​αj​yj​φ(Xj​)]            ②=21​[i=1∑n​αi​yi​φ(Xi​)T][j=1∑n​αj​yj​φ(Xj​)]            ③=21​i=1∑n​j=1∑n​αi​αj​yi​yj​φ(Xi​)Tφ(Xj​)                 ④①:因為W是一個列向量,是以∣∣W∣∣2=WTW                                            ②⇒③:因為αi​、yi​為常數,φ(Xi​)為向量,是以[i=1∑n​αi​yi​φ(Xi​)]T=i=1∑n​αi​yi​φ(Xi​)T

(44) ⇒ \rArr ⇒(45):

∑ i = 1 n α i y i W T φ ( X i ) = ∑ i = 1 n α i y i [ ∑ j = 1 n α j y j φ ( X j ) ] T φ ( X i )                                             ① = ∑ i = 1 n α i y i [ ∑ j = 1 n α j y j φ ( X j ) T ] φ ( X i )              ② = ∑ i = 1 n ∑ j = 1 n α i α j y i y j φ ( X j ) T φ ( X i )                ③ = ∑ i = 1 n ∑ j = 1 n α i α j y i y j φ ( X i ) T φ ( X j )                 ④ ③ ⇒ ④ : 調 換 i 和 j 。 相 當 于 雙 重 f o r 循 環 , 循 環 變 量 先 為 i 還 是 先 為 j , 都 是 一 樣 的 。 \sum_{i=1}^n\alpha_iy_iW^T\varphi(X_i)=\sum_{i=1}^n\alpha_iy_i[\sum_{j=1}^n\alpha_jy_j\varphi(X_j)]^T\varphi(X_i)~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~①\\ =\sum_{i=1}^n\alpha_iy_i[\sum_{j=1}^n\alpha_jy_j\varphi(X_j)^T]\varphi(X_i)~~~~~~~~~~~~②\\ =\sum_{i=1}^n\sum_{j=1}^n\alpha_i\alpha_jy_iy_j\varphi(X_j)^T\varphi(X_i)~~~~~~~~~~~~~~③\\ =\sum_{i=1}^n\sum_{j=1}^n\alpha_i\alpha_jy_iy_j\varphi(X_i)^T\varphi(X_j)~~~~~~~~~~~~~~~④\\ ③\rArr④:調換i和j。相當于雙重for循環,循環變量先為i還是先為j,都是一樣的。 i=1∑n​αi​yi​WTφ(Xi​)=i=1∑n​αi​yi​[j=1∑n​αj​yj​φ(Xj​)]Tφ(Xi​)                                           ①=i=1∑n​αi​yi​[j=1∑n​αj​yj​φ(Xj​)T]φ(Xi​)            ②=i=1∑n​j=1∑n​αi​αj​yi​yj​φ(Xj​)Tφ(Xi​)              ③=i=1∑n​j=1∑n​αi​αj​yi​yj​φ(Xi​)Tφ(Xj​)               ④③⇒④:調換i和j。相當于雙重for循環,循環變量先為i還是先為j,都是一樣的。

(46) ⇒ \rArr ⇒(47):因為已經将式(37)—(39)全部代入式(31)了,是以可以去掉 inf ⁡ W , b , Δ \inf\limits_{W,b,\Delta} W,b,Δinf​了。實際上式(46)中也已經沒有了 W , b , Δ W,b,\Delta W,b,Δ;

(47) ⇒ \rArr ⇒(48):因為核函數 K ( X 1 , X 2 ) = φ ( X 1 ) T φ ( X 2 ) K(X_1, X_2)=\varphi(X_1)^T\varphi(X_2) K(X1​,X2​)=φ(X1​)Tφ(X2​)。

綜上所述【終于看到這親切的四個字了!】,将支援向量機的優化問題轉化成對偶問題如下:

最 大 化 :    θ ( A ) = ∑ i = 1 n α i − 1 2 ∑ i = 1 n ∑ j = 1 n α i α j y i y j K ( X i , X j )                   ( 49 ) 限 制 條 件 :    ( 1 )   0 ⩽ α i ⩽ c ,      i = 1 ∼ n                                                      ( 50 ) ( 2 )   ∑ i = 1 n α i y i = 0 ,      i = 1 ∼ n                             ( 51 ) 最大化:~~\theta(\Alpha)=\sum_{i=1}^n\alpha_i-\frac{1}{2}\sum_{i=1}^n\sum_{j=1}^n\alpha_i\alpha_jy_iy_jK(X_i,X_j)~~~~~~~~~~~~~~~~~(49)\\ 限制條件:~~(1)~0\leqslant\alpha_i\leqslant c,~~~~i=1\sim n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~(50)\\ (2)~\sum_{i=1}^n\alpha_iy_i=0,~~~~i=1\sim n~~~~~~~~~~~~~~~~~~~~~~~~~~~(51) 最大化:  θ(A)=i=1∑n​αi​−21​i=1∑n​j=1∑n​αi​αj​yi​yj​K(Xi​,Xj​)                 (49)限制條件:  (1) 0⩽αi​⩽c,    i=1∼n                                                    (50)(2) i=1∑n​αi​yi​=0,    i=1∼n                           (51)

式(49)中 θ ( A , B ) \theta(\Alpha,\Beta) θ(A,B)可以寫成 θ ( A ) \theta(\Alpha) θ(A)是因為,支援向量機優化問題原問題中不存在等式形式的限制條件,即不存在變量 B \Beta B;

式(50)是綜合式(32)、(33)、(38)所得;

式(51)來源于式(39)。

在上述對偶問題中, α i 、 α j \alpha_i、\alpha_j αi​、αj​是待求變量, y i 、 y j 、 X i 、 X j , n y_i、y_j、X_i、X_j,n yi​、yj​、Xi​、Xj​,n是已知的。其中 y i 、 y j y_i、y_j yi​、yj​是訓練樣本的标簽, X i 、 X j X_i、X_j Xi​、Xj​是訓練樣本, n n n是訓練樣本數量。 c c c是算法的超參數,需要人為事先設定。 K K K為核函數,需要人為事先設定。

該問題也是一個典型的凸優化問題,同樣可以使用SMO算法求解。

5.3 核函數戲法(Kernel Trick)

回顧我們的目标是什麼?對于任意一個測試樣本 X t X_t Xt​,需要知道其屬于哪一類,即需要知道 W T φ ( X t ) + b W^T\varphi(X_t)+b WTφ(Xt​)+b的值大于或等于0還是小于0。

W T φ ( X t ) + b = ∑ i = 1 n α i y i φ ( X i ) T φ ( X t ) + b            ( 52 )                       = ∑ i = 1 n α i y i K ( X i , X t ) + b               ( 53 ) W^T\varphi(X_t)+b=\sum_{i=1}^n\alpha_iy_i\varphi(X_i)^T\varphi(X_t)+b~~~~~~~~~~(52)\\ ~~~~~~~~~~~~~~~~~~~~~=\sum_{i=1}^n\alpha_iy_iK(X_i,X_t)+b~~~~~~~~~~~~~(53) WTφ(Xt​)+b=i=1∑n​αi​yi​φ(Xi​)Tφ(Xt​)+b          (52)                     =i=1∑n​αi​yi​K(Xi​,Xt​)+b             (53)

(52):據式(37), W = ∑ i = 1 n α i y i φ ( X i ) W=\sum_{i=1}^n\alpha_iy_i\varphi(X_i) W=∑i=1n​αi​yi​φ(Xi​),代入可得式(52);

α i \alpha_i αi​:根據式(49)—(51)所述對偶問題,隻需知道核函數 K K K,即可使用SMO算法求解該凸優化問題,進而得到所有 α i    ( i = 1 ∼ n ) \alpha_i~~(i=1\sim n) αi​  (i=1∼n)。

至此,隻剩下最後一個問題:如何求 b b b?

因 為 , W = ∑ i = 1 n α i y i φ ( X i ) 所 以 , W T φ ( X i ) = [ ∑ j = 1 n α j y j φ ( X j ) ] T φ ( X i ) = ∑ j = 1 n α j y j φ ( X j ) T φ ( X i ) 又 因 為 , φ ( X j ) T φ ( X i ) = K ( X j , X i ) 所 以 , W T φ ( X i ) = ∑ j = 1 n α j y j K ( X j , X i ) 可 知 , 支 持 向 量 機 優 化 問 題 的 對 偶 問 題 滿 足 3.2.2 所 述 強 對 偶 定 理 要 求 , 因 此 根 據 3.2.3 所 述 K K T 條 件 有 : { α i [ 1 + δ i − y i W T φ ( X i ) − y i b ] = 0 β i δ i = 0    ⇒    ( c − α i ) δ i = 0 對 于 所 有 α i ≠ 0 且 α i ≠ c , 根 據 K K T 條 件 , 必 有 : { 1 + δ i − y i W T φ ( X i ) − y i b = 0 δ i = 0 即 , 1 − y i W T φ ( X i ) − y i b = 0 即 , 1 − ∑ j = 1 n α j y i y j K ( X j , X i ) − y i b = 0 所 以 隻 需 找 一 個 α i    ( 0 < α i < c ) , 取 該 α i 對 應 的 X i 和 y i ,                                      則 b = 1 − ∑ j = 1 n α j y i y j K ( X j , X i ) y i                                        ( 54 ) 因為,W=\sum_{i=1}^n\alpha_iy_i\varphi(X_i)\\ 是以,W^T\varphi(X_i)=[\sum_{j=1}^n\alpha_jy_j\varphi(X_j)]^T\varphi(X_i)=\sum_{j=1}^n\alpha_jy_j\varphi(X_j)^T\varphi(X_i)\\ 又因為,\varphi(X_j)^T\varphi(X_i)=K(X_j,X_i)\\ 是以,W^T\varphi(X_i)=\sum_{j=1}^n\alpha_jy_jK(X_j,X_i)\\ 可知,支援向量機優化問題的對偶問題滿足3.2.2所述強對偶定理要求,\\ 是以根據3.2.3所述KKT條件有:\\ \begin{cases} \alpha_i[1+\delta_i-y_iW^T\varphi(X_i)-y_ib]=0\\ \beta_i\delta_i=0~~\rArr~~(c-\alpha_i)\delta_i=0 \end{cases}\\ 對于所有\alpha_i\not=0且\alpha_i\not=c,根據KKT條件,必有:\\ \begin{cases} 1+\delta_i-y_iW^T\varphi(X_i)-y_ib=0\\ \delta_i=0 \end{cases}\\ 即,1-y_iW^T\varphi(X_i)-y_ib=0\\ 即,1-\sum_{j=1}^n\alpha_jy_iy_jK(X_j,X_i)-y_ib=0\\ 是以隻需找一個\alpha_i~~(0<\alpha_i<c),取該\alpha_i對應的X_i和y_i,\\ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~則b=\frac{1-\sum_{j=1}^n\alpha_jy_iy_jK(X_j,X_i)}{y_i}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~(54) 因為,W=i=1∑n​αi​yi​φ(Xi​)是以,WTφ(Xi​)=[j=1∑n​αj​yj​φ(Xj​)]Tφ(Xi​)=j=1∑n​αj​yj​φ(Xj​)Tφ(Xi​)又因為,φ(Xj​)Tφ(Xi​)=K(Xj​,Xi​)是以,WTφ(Xi​)=j=1∑n​αj​yj​K(Xj​,Xi​)可知,支援向量機優化問題的對偶問題滿足3.2.2所述強對偶定理要求,是以根據3.2.3所述KKT條件有:{αi​[1+δi​−yi​WTφ(Xi​)−yi​b]=0βi​δi​=0  ⇒  (c−αi​)δi​=0​對于所有αi​​=0且αi​​=c,根據KKT條件,必有:{1+δi​−yi​WTφ(Xi​)−yi​b=0δi​=0​即,1−yi​WTφ(Xi​)−yi​b=0即,1−j=1∑n​αj​yi​yj​K(Xj​,Xi​)−yi​b=0是以隻需找一個αi​  (0<αi​<c),取該αi​對應的Xi​和yi​,                                    則b=yi​1−∑j=1n​αj​yi​yj​K(Xj​,Xi​)​                                      (54)

最後,可以得到判别标準如下:

如 果 ∑ i = 1 n α i y i K ( X i , X t ) + b ⩾ 0 , 那 麼 X t ∈ C 1 ; 如 果 ∑ i = 1 n α i y i K ( X i , X t ) + b < 0 , 那 麼 X t ∈ C 2 。 如果\sum_{i=1}^n\alpha_iy_iK(X_i,X_t)+b\geqslant0,那麼X_t\in C_1;\\ 如果\sum_{i=1}^n\alpha_iy_iK(X_i,X_t)+b<0,那麼X_t\in C_2。 如果i=1∑n​αi​yi​K(Xi​,Xt​)+b⩾0,那麼Xt​∈C1​;如果i=1∑n​αi​yi​K(Xi​,Xt​)+b<0,那麼Xt​∈C2​。

這種不知道 φ ( X ) \varphi(X) φ(X),隻知道核函數 K ( X 1 , X 2 ) K(X_1,X_2) K(X1​,X2​)也可以算出 W T φ ( X ) + b W^T\varphi(X)+b WTφ(X)+b值的方法被稱為“核函數戲法”。

6. 總結支援向量機訓練和測試流程

6.1 訓練流程

① 輸入訓練資料 { ( X i , y i ) } ,    i = 1 ∼ n \{(X_i, y_i)\},~~i=1\sim n {(Xi​,yi​)},  i=1∼n,其中 y i y_i yi​是标簽, y i = ± 1 y_i=\pm1 yi​=±1;

② 指定超參數的值、核函數 K ( X i , X j ) K(X_i,X_j) K(Xi​,Xj​)的具體形式;

③ 求解如下優化問題,求出所有 α i ,    i = 1 ∼ n \alpha_i,~~i=1\sim n αi​,  i=1∼n:

最 大 化 :    θ ( A ) = ∑ i = 1 n α i − 1 2 ∑ i = 1 n ∑ j = 1 n α i α j y i y j K ( X i , X j ) 限 制 條 件 :    ( 1 )   0 ⩽ α i ⩽ c ,      i = 1 ∼ n                                     ( 2 )   ∑ i = 1 n α i y i = 0 ,      i = 1 ∼ n            最大化:~~\theta(\Alpha)=\sum_{i=1}^n\alpha_i-\frac{1}{2}\sum_{i=1}^n\sum_{j=1}^n\alpha_i\alpha_jy_iy_jK(X_i,X_j)\\ 限制條件:~~(1)~0\leqslant\alpha_i\leqslant c,~~~~i=1\sim n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\\ (2)~\sum_{i=1}^n\alpha_iy_i=0,~~~~i=1\sim n~~~~~~~~~~ 最大化:  θ(A)=i=1∑n​αi​−21​i=1∑n​j=1∑n​αi​αj​yi​yj​K(Xi​,Xj​)限制條件:  (1) 0⩽αi​⩽c,    i=1∼n                                   (2) i=1∑n​αi​yi​=0,    i=1∼n          

④ 求出 A \Alpha A,知道了 A \Alpha A的每一個分量 α i \alpha_i αi​之後,通過下式求 b b b:

找 一 個 α i    ( 0 < α i < c ) , 取 該 α i 對 應 的 X i 和 y i , b = 1 − ∑ j = 1 n α j y i y j K ( X j , X i ) y i 找一個\alpha_i~~(0<\alpha_i<c),取該\alpha_i對應的X_i和y_i,\\ b=\frac{1-\sum_{j=1}^n\alpha_jy_iy_jK(X_j,X_i)}{y_i} 找一個αi​  (0<αi​<c),取該αi​對應的Xi​和yi​,b=yi​1−∑j=1n​αj​yi​yj​K(Xj​,Xi​)​

⑤ 知道了 A \Alpha A的每一個分量 α i \alpha_i αi​和 b b b之後,就完成了支援向量機的訓練過程。

6.2 測試流程

① 考察測試資料 X t X_t Xt​,預測其類别 y y y;

② 如果 ∑ i = 1 n α i y i K ( X i , X t ) + b ⩾ 0 \sum_{i=1}^n\alpha_iy_iK(X_i,X_t)+b\geqslant0 ∑i=1n​αi​yi​K(Xi​,Xt​)+b⩾0,則 y = + 1 y=+1 y=+1;

     ~~~~     如果 ∑ i = 1 n α i y i K ( X i , X t ) + b < 0 \sum_{i=1}^n\alpha_iy_iK(X_i,X_t)+b<0 ∑i=1n​αi​yi​K(Xi​,Xt​)+b<0,則 y = − 1 y=-1 y=−1。

7. 後記

萬字長文,洋洋灑灑,文不加點,一氣呵成!

支援向量機(SVM)詳解(二)全文總17319字,詳細推導了在非線性可分情況下,支援向量機尋找最優分類決策直線或線性超平面的過程。清晰地展現了支援向量機如何引入松弛變量,放松限制條件,改造目标函數使得在非線性可分情況下,優化問題仍然可解。同時詳細推導了支援向量機如何将特征空間由低維映射到高維,将優化問題轉化為對偶問題,使用核函數戲法判斷測試樣本類别的過程。

後續,我将向大家介紹支援向量機各種常用核函數,各種超參數的調整方法,支援向量機求解多分類問題的方法,以及使用支援向量機解決實際問題的經驗。

後文:支援向量機(SVM)詳解(三)

創作不易,期待點贊、評論、收藏、分享支援鴿鴿(作者)!

如果您覺得鴿鴿特别棒,也可以請鴿鴿喝咖啡 ⇓ \color{red}\Large\Downarrow ⇓,謝謝~

繼續閱讀