在博文支援向量機(一)——線性可分支援向量機 一文中,我們介紹了訓練資料集線性可分的情況下,應用硬間隔最大化策略得到最優超平面。但是在實際情況中,訓練集有很大可能存在雜訊,使得某些樣本偏離正常範圍,稱這些樣本為異常點,如下圖所示
這時如果應用硬間隔最大化,得到的最優超平面是圖中的黑色實線;而如果不遷就左上角的異常點,得到的最優分類超平面為黑色虛線。可以看出實線是對訓練集過擬合的結果,而虛線的泛化能力更好。所以完全正確分類的超平面不一定是最好的。
另外,當訓練集本身線性不可分的時候,是不存在能將資料集完全正確分離的超平面的。
線性不可分資料集:對於以上兩種情況,硬間隔最大策略不再受歡迎或者有效。此時,我們需要考慮軟間隔最大化。軟間隔最大化允許樣本點落在間隔邊界內部甚至允許誤分類樣本點存在(我們稱這些點為超平面的異常點)。這是通過為每個樣本點引入乙個鬆弛變數ξi不存在超平面能將資料集完全正確劃分,但是去除掉一小部異常點之後,剩下的大部分資料是線性可分資料。
≥0實現的,只要樣本點的函式間隔加上ξi
之後大於等於1即可。由於ξi
代表了樣本點的偏離距離,需要對總偏移距離進行限制。於是引入了鬆弛變數的原優化問題現在為
minω,b
s.t.
12||
ω||2
+c∑i
=1mξ
iyi(
ωtxi
+b)+
ξi≥1
ξi≥0
(26) c
>
0 是懲罰因子,c值大時,對超平面的異常點懲罰較重,也就是說不希望有異常點存在;c值小時,對超平面異常點的懲罰較小。當訓練資料線性可分時,如果令c=
+∞,那麼優化問題(1)等價於線性可分支援向量機的優化問題。
優化問題(1)可以這樣理解:從訓練集中選擇部分樣本,稱為剩餘訓練集,剩餘訓練集是線性可分的,其餘樣本點作為異常點。對剩餘訓練集進行硬間隔最大化,也就是說從函式間隔為1的超平面中選擇幾何間隔最大的,但同時還要考慮異常點對超平面的偏移程度最小。遍歷所有可能的剩餘訓練集,得到最優的超平面。
通過極大極小拉格朗日函式,可以得到原始問題(26)的對偶問題。
引入拉格朗日乘子αi
≥0,μ
i≥0 ,構建拉格朗日函式 l(
ω,b,
ξ,α,
μ)=1
2||ω
||2+
c∑i=
1mξi
+∑i=
1mαi
(1−y
i(ωt
xi+b
)−ξi
)−∑i
=1mμ
iξi(27)
原始問題的對偶問題為:
maxα,μ
minω,b
,ξl(
ω,b,
ξ,α,
μ)為了求對偶問題,首先需要求極小化問題
minω,b
,ξl(
ω,b,
ξ,α,
μ)。令 ∇ω
l=ω−
∑i=1
mαiy
ixi=
0(28) ∇
bl=−
∑i=1
mαiy
i=0(29) ∇
ξil=
c−αi
−μi=
0(30)
得到: ω=
∑i=1
mαiy
ixi(31) ∑
i=1m
αiyi
=0(32) c
−αi−
μi=0
(33)
代入到l中,得到
minω,b
,ξl(
ω,b,
ξ,α,
μ)=1
2⎛⎝∑
i=1m
αiyi
xti∑
j=1m
αjyj
xj⎞⎠
+∑i=
1mαi
−∑i=
1mαi
yi⎛⎝
∑j=1
mαjy
jxtj
⎞⎠xi
−∑i=
1mαi
yib=
12⎛⎝
∑i=1
m∑j=
1mαi
αjyi
yjxt
ixj⎞
⎠+∑i
=1mα
i−∑i
=1m∑
j=1m
αiαj
yiyj
xtix
j=−1
2∑i=
1m∑j
=1mα
iαjy
iyjx
tixj
+∑i=
1mαi
(34)
然後再對
minω,b
,ξl(
ω,b,
ξ,α,
μ)求極大:
maxα,μ
s.t.
−12∑
i=1m
∑j=1
mαiα
jyiy
jxti
xj+∑
i=1m
αi∑i
=1mα
iyi=
0c−α
i−μi
=0αi
≥0μi
≥0(35)
(36)
(37)
約束條件(35)(36)(37)等價於 0≤
αi≤c
μi≥0
重寫上面的優化問題:
minαs.
t.12
∑i=1
m∑j=
1mαi
αjyi
yjxt
ixj−
∑i=1
mαi∑
i=1m
αiyi
=00≤
αi≤c
(38)
優化問題(38)是原始問題(26)的對偶問題,兩個優化問題的最優解存在,並且滿足kkt條件: ∇ω
l(ω∗
,b∗,
ξ∗,α
∗,μ∗
)=ω∗
−∑i=
1mα∗
iyix
i=0(39) ∇
bl(ω
∗,b∗
,ξ∗,
α∗,μ
∗)=−
∑i=1
mα∗i
yi=0
(40) ∇
ξil(
ω∗,b
∗,ξ∗
,α∗,
μ∗)=
c−α∗
i−μ∗
i=0(41) α
∗i(1
−yi(
ω∗tx
i+b∗
)−ξ∗
i)=0
(42) 1
−yi(
ω∗tx
i+b∗
)−ξ∗
i≤0(43) α
∗i≥0
,i=1
,2,⋯
,m(44) μ
∗iξ∗
i=0(45) μ
∗i≥0
(46) ξ
∗i≥0
(47)
求出對偶問題(38)的最優解α∗
,μ∗ 後,由公式(39)可以得出原始問題的最優解ω∗
:ω∗=
∑i=1
mα∗i
yixi
(48)
至於b∗,當0
j<
c 時,由公式(41)知道μ∗
j>
0 ,於是根據(45)知道ξ∗
j=0
,而由公式(42)可知 1−
yj(ω
∗txj
+b∗)
−ξ∗j
=0於是1−
yj(ω
∗txj
+b∗)
=0於是 b∗
=y∗j
−ω∗t
xj=y
∗j−∑
i=1m
α∗iy
i(xt
ixj)
(49)
於是得到最優超平面 ω∗
x+b∗
=0由公式(48)可知,ω∗
和所有α∗
i>
0 有關,對應的例項稱為支援向量。軟間隔最大化的支援向量包含間隔邊界上的例項、間隔邊界內部的例項以及誤分類例項。
支援向量包含:
所以當0
i<
c 時,對應的支援向量位於間隔邊界上。
支援向量機鬆弛變數的理解
首先要清楚 1,線性可分,即能找到超平面,對於硬間隔支援向量機 2,部分點不可分,總體近似可分,近似線性可分,對應軟間隔支援向量機 3,線性不可分,需要用到核函式 軟間隔支援向量機要加個鬆弛變數 我們都知道,硬間隔滿足,yi wi x b 1,這是函式間隔,是幾何間隔的 w 倍。由於一些點出現在兩條...
支援向量機鬆弛變數的理解
1,線性可分,即能找到超平面,對於硬間隔支援向量機 2,部分點不可分,總體近似可分,近似線性可分,對應軟間隔支援向量機 3,線性不可分,需要用到核函式 軟間隔支援向量機要加個鬆弛變數 我們都知道,硬間隔滿足,yi wi x b 1,這是函式間隔,是幾何間隔的 w 倍。由於一些點出現在兩條線的間隔內部...
支援向量機 KKT條件 (二)
在上一節支援向量機公式推導中,我們有一些公式只是給出了結果,卻沒有解釋如何得來的,這一節我們將 如何將原始問題轉為對偶問題,並推導出kkt條件。對於下圖所示的不等式約束優化問題,其kkt條件如以下形式 kkt條件是解決最優化問題的時用到的一種方法。我們這裡提到的最優化問題通常是指對於給定的某一函式,...