1. 程式人生 > >機器學習(三)——支援向量機SVM

機器學習(三)——支援向量機SVM

SVM探討

目錄

SVM探討

SVM演算法

根據處理問題的複雜度,SVM 可由簡到繁分為三種:

  • 線性可分支援向量機:硬間隔最大化。
  • 線性支援向量機:資料分佈近似線性可分,可通過軟間隔最大化(懲罰因子,鬆弛變數)來線性分隔樣本點。
  • 非線性支援向量機:通過核函式提升特徵維度,做個一個非線性的變換,來將非線性問題轉化為線性問題。

先寫出==SVM定義損失函式的策略==:   求得的超平面能夠讓所有點中離它最近的點具有最大間距。這樣我們可以得出結論,我們更應該關心靠近中間分割面的點,讓它們儘可能地遠離分割面,而不是在所有點上達到最優。因此,SVM考慮區域性(不關心已經確定遠離的點),logistic迴歸考慮全域性(已經遠離的點可能通過調整中間線使其能夠更加遠離)。

硬間隔最大化的優化目標

minw,b12∥w∥2minw,b12‖w‖2

s.t.yi(wxi+b)≥1,  i=1,2,…,ms.t.yi(wxi+b)≥1,  i=1,2,…,m

  接著構建拉格朗日函式,對每個不等式約束引入另個拉格朗日乘子 αi≥0,i=1,2,…,mαi≥0,i=1,2,…,m,定義拉格朗日函式:

L(w,b,α)==12∥w∥2−∑i=1mαi[yi(wxi+b)−1]12∥w∥2−∑i=1mαiyi(wxi+b)+∑i=1mαi(1)(2)(1)L(w,b,α)=12‖w‖2−∑i=1mαi[yi(wxi+b)−1](2)=12‖w‖2−∑i=1mαiyi(wxi+b)+∑i=1mαi

注意:為什麼構造拉格朗日函式的時候,用的是“—”而不是“+”?   因為標準的凸優化問題再構造拉格朗日函式的時候,不等式的優化問題是“ ≤≤ ”,而 SVM 中的不等式約束都是“ ≥≥ ”,所以在構造拉格朗日函式的時候,取負號“—”.

由於

maxw,b,αL(w,b,α)=12∥w∥2maxw,b,αL(w,b,α)=12‖w‖2

這樣我們的優化目標的 原始問題 轉化為等價的 廣義拉格朗日函式的極小極大問題,如果將其最優解記作 p∗p∗,則有:

p∗=minw,bmaxαL(w,b,α)p∗=minw,bmaxαL(w,b,α)

因此,對偶問題 為 廣義拉格朗日函式的極大極小 問題,記其最優解為 d∗d∗,則有:

d∗=maxαminw,bL(w,b,α)d∗=maxαminw,bL(w,b,α)

  這裡,由於原始問題先求的 max,滿足:p∗≥q∗p∗≥q∗,這稱作“弱對偶”,在一些情況下,有 “p∗=q∗p∗=q∗” ,稱作“強對偶”。

  但是由於,SVM 的優化目標和約束不等式都是凸函式(凸優化問題),因此這裡有 p∗=q∗p∗=q∗ 。同時,不等式的約束關係滿足 KKT 條件——對於凸優化問題,KKT 條件是原始問題和對偶問題具有相同解(強對偶)的充分必要條件;非凸優化問題,KKT 條件為必要條件。【拉格朗日對偶性和 KKT 條件相關詳細內容,可參考 李航P225】

下面是具體的求解過程:

  (1) 求 minw,bL(w,b,α)minw,bL(w,b,α)

  將拉格朗日函式 L(w,b,α)L(w,b,α) 對 w,bw,b 求導,並令其等於00.

∇wL(w,b,α)=w−∑i=1mαiyixi∇wL(w,b,α)=w−∑i=1mαiyixi

∇bL(w,b,α)=−∑i=1mαiyi=0∇bL(w,b,α)=−∑i=1mαiyi=0

得:

w=∑i=1mαiyixiw=∑i=1mαiyixi

∑i=1mαiyi=0∑i=1mαiyi=0

  將這兩個結果代回公式回到拉格朗日函式,得到 L(w,b,α)L(w,b,α) 以 w,bw,b 為自變數函式的極小值:

minw,bL(w,b,α)====12∥w∥2−∑i=1mαiyi(wxi+b)+∑i=1mαi12w∙∑i=1mαiyixi−w∑i=1mαiyixi−b∑i=1mαiyi+∑i=1mαi−12w∙∑i=1mαiyixi+∑i=1mαi−12∑i=1m∑j=1mαiαjyiyjxixj+∑i=1mαi(3)(4)(5)(6)(3)minw,bL(w,b,α)=12‖w‖2−∑i=1mαiyi(wxi+b)+∑i=1mαi(4)=12w∙∑i=1mαiyixi−w∑i=1mαiyixi−b∑i=1mαiyi+∑i=1mαi(5)=−12w∙∑i=1mαiyixi+∑i=1mαi(6)=−12∑i=1m∑j=1mαiαjyiyjxixj+∑i=1mαi

  (2) 求 minw,bL(w,b,α)minw,bL(w,b,α) 對 αα 的極大值,將 minw,bL(w,b,α)minw,bL(w,b,α) 取個負號,由求極大值轉化成最小值,就得到下面的最優化問題:

minα12∑i=1m∑j=1mαiαjyiyjxixj−∑i=1mαiminα12∑i=1m∑j=1mαiαjyiyjxixj−∑i=1mαi

s.t.{∑mi=1αiyi=0αi≥0,  i=1,2,…,ms.t.{∑i=1mαiyi=0αi≥0,  i=1,2,…,m

再通過 SMO 演算法得到 α∗α∗ 為我們的最終解。同時再代回,可得到:

w∗=∑i=1mα∗iyixiw∗=∑i=1mαi∗yixi

再根據分隔超平面 yj(wxj+b)=1yj(wxj+b)=1,得:

b∗=yj−∑i=1mα∗iyi〈xi,xj〉b∗=yj−∑i=1mαi∗yi〈xi,xj〉

於是,我們就得到分隔超平面 w∗x+b∗=0w∗x+b∗=0 也可寫為:

∑i=1mα∗iyi〈x,xi〉+b∗=0∑i=1mαi∗yi〈x,xi〉+b∗=0

分類決策函式可寫為:

f(x)=sign(∑i=1mα∗iyi〈x,xi〉+b∗)f(x)=sign(∑i=1mαi∗yi〈x,xi〉+b∗)

也就是說,分類決策函式依賴於輸入樣本和訓練樣本的內積。

硬間隔最大化的支援向量

  特別注意的是:訓練資料中對應於 α∗i>0αi∗>0 的樣本點 (xi,yi)(xi,yi)的樣本稱為“==支援向量==” 。   證明:有 KKT 互補條件可知,

αi[yi(wxi+b)−1]=0,i=1,2,…,mαi[yi(wxi+b)−1]=0,i=1,2,…,m

有,因此對應於 α∗>0α∗>0的樣本 xixi,有

yi(wxi+b)=1yi(wxi+b)=1

即 xixi 一定在間隔的邊界上。   

軟間隔最大化

minw,b12∥w∥2+C∑i=1mξiminw,b12‖w‖2+C∑i=1mξi

s.t.{yi(wxi+b)≥1−ξi , i=1,2,…,mξi≥0 ,  i=1,2,…,ms.t.{yi(wxi+b)≥1−ξi , i=1,2,…,mξi≥0 ,  i=1,2,…,m

其中,懲罰因子 CC 為大於0的常數,ξiξi(克西)為鬆弛變數。構建拉格朗日函式,對兩類不等式約束引入兩類拉格朗日乘子 αi≥0,βi≥0,i=1,2,…,mαi≥0,βi≥0,i=1,2,…,m。定義拉格朗日函式:

L(w,b,ξ,α,β)=12∥w∥2+C∑i=1mξi−∑i=1mαi[yi(wxi+b)−1+ξi]−∑i=1mβiξiL(w,b,ξ,α,β)=12‖w‖2+C∑i=1mξi−∑i=1mαi[yi(wxi+b)−1+ξi]−∑i=1mβiξi

  同樣原始問題為極小極大問題,現在轉化為極大極小對偶問題的解,且原問題和對偶問題具有相同的解。首先求 L(w,b,ξ,α,β)L(w,b,ξ,α,β) 的關於變數 w,b,ξw,b,ξ 的極小值:

∇wL(w,b,ξ,α,β)=w−∑i=1mαiyixi∇wL(w,b,ξ,α,β)=w−∑i=1mαiyixi

∇bL(w,b,ξ,α,β)=−∑i=1mαiyi=0∇bL(w,b,ξ,α,β)=−∑i=1mαiyi=0

∇ξiL(w,b,ξ,α,β)=C−αi−βi=0∇ξiL(w,b,ξ,α,β)=C−αi−βi=0

得:

w=∑i=1mαiyixiw=∑i=1mαiyixi

∑i=1mαiyi=0∑i=1mαiyi=0

C−αi−βi=0C−αi−βi=0

將以上結果代回來格朗日函式,得:

minw,b,ξL(w,b,ξ,α,β)=−12∑i=1m∑j=1mαiαjyiyj〈xi,xj〉+∑i=1mαiminw,b,ξL(w,b,ξ,α,β)=−12∑i=1m∑j=1mαiαjyiyj〈xi,xj〉+∑i=1mαi

接著再求 minw,b,ξL(w,b,ξ,α,β)minw,b,ξL(w,b,ξ,α,β) 對 αα 的極大值,同樣取個負號,極大值轉化為極小值問題(注意,引數 ββ 被神奇的約掉了,簡化了計算;同時,雖然跟硬間隔優化目標的函式形式一樣,但是約束條件不一樣):

minα12∑i=1m∑j=1mαiαjyiyjxixj−∑i=1mαiminα12∑i=1m∑j=1mαiαjyiyjxixj−∑i=1mαi

s.t.∑i=1mαiyi=0C−αi−βi=0αi≥0,  i=1,2,…,mβi≥0,  i=1,2,…,m(7)(8)(9)(10)(7)s.t.∑i=1mαiyi=0(8)C−αi−βi=0(9)αi≥0,  i=1,2,…,m(10)βi≥0,  i=1,2,…,m

第二個於是帶入第四個約束約掉 βiβi ,約束條件和簡寫為:

s.t.∑i=1mαiyi=00≤αi≤C,  i=1,2,…,m(11)(12)(11)s.t.∑i=1mαiyi=0(12)0≤αi≤C,  i=1,2,…,m

  現在再比較與硬間隔的區別,發現,唯一的在於對 αiαi 取值上限做了個約束。

軟間隔的支援向量探討

  同樣,根據KKT 的互補條件:

αi[yi(wxi+b)−1+ξi]=0,i=1,2,…,mαi[yi(wxi+b)−1+ξi]=0,i=1,2,…,m

有==軟間隔的支援向量有四種情況==:

  1. 若 0<α∗i<C0<αi∗<C, ξi=0ξi=0,則分類正確,支援向量 xixi 恰好落在間隔邊界上(圖中 x1x1);
  2. 若 α∗i=Cαi∗=C,0<ξi<10<ξi<1,則分類正確,xixi 在間隔邊界與分隔超平面之間(圖中 x2x2);
  3. 若 α∗i=Cαi∗=C,ξi=1ξi=1, 則 xixi 在分隔超平面上(圖中 x0x0);
  4. 若 α∗i=Cαi∗=C,ξi>1ξi>1, 則分類錯誤, xixi 在分隔超平面分錯的一側(圖中 x3,x4x3,x4)。

軟間隔支援向量機的解

w∗=∑i=1mα∗iyixiw∗=∑i=1mαi∗yixi

有了剛才對軟間隔中對支援向量的探討,那麼在計算 b∗b∗ 的時候跟硬間隔有所差異。在計算:

b∗=yj−∑i=1mα∗iyi〈xi,xj〉b∗=yj−∑i=1mαi∗yi〈xi,xj〉

時,需要==選擇一個滿足條件 0<α∗i<C0<αi∗<C 的 α∗iαi∗ ,來計算出 bb==。但是由於軟間隔支援向量機對 bb 的解並不唯一,所以實際計算時往往==取所有符合條件的支援向量所求得的 bb 的平局值==。

SVM 損失函式的另一種解釋

SVM 的優化目標的另一種解釋是,最小化L2正則的合頁函式:

minw,b∑i=1Nξi+λ∥w∥2minw,b∑i=1Nξi+λ‖w‖2

即鬆弛變數 ξiξi 作為損失函式。 若取 λ=12Cλ=12C,則形如之前最大間隔下的優化目標:

minw,b1C(12∥w∥2+C∑i=1Nξi)minw,b1C(12‖w‖2+C∑i=1Nξi)

合頁損失函式如下圖【李航 P115】:

Tips:由於在凸優化中,仿射函式很重要,這裡記錄一下仿射函式:   仿射函式是特殊的凸函式。既是凸函式,又是凹函式的函式稱為仿射函式。它必定是線性函式與常數之和。在有限維空間上,仿射函式就是一次函式。仿射函式的重要性在於區域性凸空間(包括賦範線性空間、有限維空間)上的下半連續凸函式一定是連續仿射函式族的上包絡。

f(x1,…,xn)=A1x1+⋯+Anxn+bf(x1,…,xn)=A1x1+⋯+Anxn+b

  仿射函式就是一個線性函式,其輸入是n維向量,引數A可以是常數,也可以是m*n的矩陣,b可以是常數,也可以是m維的列向量,輸出是一個m維的列向量。在幾何上,仿射函式是一個線性空間到另一個線性空間的變換。

目錄

常見核函式

線性核 (linear kernel):

K(x1,x2)=x1⋅x2+cK(x1,x2)=x1⋅x2+c

多項式核 (polynomial kernel):

K(x1,x2)=(x1⋅x2+c)dK(x1,x2)=(x1⋅x2+c)d

其中 d≥1d≥1,為多項式的次數。

感知器核 (Sigmoid kernel):

K(x1,x2)=tanh(β(x1⋅x2)+c)K(x1,x2)=tanh(β(x1⋅x2)+c)

其中 tanhtanh 為雙曲正切函式,β>0, θ<0β>0, θ<0。

高斯核 (Gaussian kernel):

K(x1,x2)=exp(−∥x1−x2∥22σ2), 也記作:exp(−γ∥x1−x2∥2), γ=12σ2K(x1,x2)=exp⁡(−‖x1−x2‖22σ2), 也記作:exp⁡(−γ‖x1−x2‖2), γ=12σ2

其中 σ>0σ>0,為高斯核的頻寬(width)。高斯核 也稱作 徑向基核(RBF)

拉普拉斯核 (Laplace kernel):

K(x1,x2)=exp(−∥x1−x2∥σ), σ>0K(x1,x2)=exp⁡(−‖x1−x2‖σ), σ>0

  核函式的形式可看出 高斯核 和 拉普拉斯核 為 平移不變核多項式核 和 感知器核 為 內積核函式,為 旋轉不變核。   

核函式的本質

  將原始輸入空間對映到新的特徵空間,從而,使得原本線性不可分的樣本可能在核空間可分。有效的核函式一定是對稱半正定的;往往依賴先驗領域知識驗證等方案才能選擇有效的核函式。

SVM 的引數

1.引數 CC:

  顯然,CC 越大,對樣本分類正確的要求越嚴格,間隔寬就帶越窄;同時也導致易過擬合。C=+∞C=+∞ 則 軟間隔SVM 退化為 硬間隔SVM。

2.高斯核的引數 γγ (γ=12σ2γ=12σ2):

  顯然 σσ 和 γγ 成反比關係,對於類似於高斯分佈形式的 高斯核 而言,γγ 越小,PDF(概率密度函式,Probability Density Function)平均,趨近於直線(矮胖);越大,PDF 越集中(高瘦)。   鄒博:PDF趨近於直線 即 近似於線性核,分類能力弱化。因為 γγ 很小時,通常在 γ<0.1γ<0.1 時就有:x1⋅x2≈exp(−γ∥x1−x2∥2)x1⋅x2≈exp⁡(−γ‖x1−x2‖2)。   小結:

  1. CC 的大小控制了分隔頻寬的大小,懲罰 CC 越大,頻寬越小,訓練樣本上的分類能力越強,容易發生過擬合。   2. γγ 控制了分隔線的非線性程度,γγ 越大,非線性程度越大,分類能力越強,容易發生過擬合。   ==CC 和 γγ 越大,訓練樣本上分類能力越強,同時也容易發生過擬合。==      參考下圖結果: