機器學習(三)——支援向量機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
有==軟間隔的支援向量有四種情況==:
- 若 0<α∗i<C0<αi∗<C, ξi=0ξi=0,則分類正確,支援向量 xixi 恰好落在間隔邊界上(圖中 x1x1);
- 若 α∗i=Cαi∗=C,0<ξi<10<ξi<1,則分類正確,xixi 在間隔邊界與分隔超平面之間(圖中 x2x2);
- 若 α∗i=Cαi∗=C,ξi=1ξi=1, 則 xixi 在分隔超平面上(圖中 x0x0);
- 若 α∗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 和 γγ 越大,訓練樣本上分類能力越強,同時也容易發生過擬合。== 參考下圖結果: