上節說到我們把svm抽象成了二次規劃問題: mi
n12|
|θ||
2s.t
.yi⋅
θtxi
≥1,i
=1,2
,...
,m我們看看怎麼求解這個問題
拉格朗日乘數法(lagrange multiplier method),是求解等式約束優化問題的一種方法。對於任何的帶等式約束優化問題,都可以寫成: mi
nf0(
x)s.
t.hi
(x)=
0,i=
1,2,
...,
p 高中的時候我們就知道,求解這種問題的方法,就是寫成: l(
x,λi
)=f0
(x)+
∑i=1
pλih
i(x)
然後對各引數求導,令其等於0,聯立求解即可。可是為什麼呢?有不等式約束時怎麼辦呢?
所有帶約束問題,都可以表示如下: mi
nf0(
x)s.
t.fi
(x)≤
0,i=
1,2,
...,
mhi(
x)=0
,i=1
,2,.
..,p
然而帶約束的優化問題,求解麻煩,我們能不能把它轉化成無約束優化問題呢?答案是可以的。構造lagrangian: l(
x,λi
,νi)
=f0(
x)+∑
i=1m
λifi
(x)+
∑i=i
pνih
i(x)
我們規定λi
>
0 。由於fi
(x)≤
0,hi
(x)=
0 所以:
(a)對於原本滿足約束條件的x取值範圍裡(最簡單就是全部為0,注意這裡變數為λ,
ν ): f0
(x)=
maxλ
≥0,ν
l(x,
λi,ν
i)(b)但是對於那些原本不滿足條件的x,我們似乎沒有處理,它們不等於f0
,但是,求min之後就成立了,因為它們求min之後是無窮大。最小值為無窮大,我們就知道這個x不是正解。
至此,我們把原問題變成了無約束問題: mi
nxma
xλ≥0
,νl(
x,λ,
ν)這個問題叫primal problem,還是不容易解。與之相應的有個問題,叫dual problem,形式為: ma
xλ≥0
,νmi
nxl(
x,λ,
ν)但是這兩個問題不等價,長得高的人中最瘦的不一定就是瘦的人中長得最高的嘛。但是長得高的人中最瘦的一定比最瘦的人胖~
記內層函式:g(
λ,ν)
=min
xl(x
,λ,ν
) ,它是primal problem的下屆(能理解嘛~)。令x∗
為最優解,則有: l(
x∗,λ
,ν)=
f0(x
∗)+∑
i=1m
λifi
(x∗)
+∑i=
ipνi
hi(x
∗)≤f
0(x∗
) g(
λ,ν)
=min
xl(x
,λ,ν
)≤l(
x∗,λ
,ν)≤
f0(x
∗)=p
∗ p*為primal problem最有解。有: ma
xλ≥0
,νg(
λ,ν)
≤p∗
不等式左邊為dual problem。這個性質所有優化問題都存在的,叫做weak duality。strong duality就是去等號~
karush-kuhn-tucker 最優化條件,是滿足強對偶條件的優化問題的必要條件。我們看滿足強對偶時候的一些性質。 f0
(x∗)
=g(λ
∗,ν∗
)=mi
nxl(
x,λ∗
,ν∗)
=min
x(f0
(x)+
∑i=1
mλ∗i
fi(x
)+∑i
=ipν
∗ihi
(x))
≤min
x(f0
(x∗)
+∑i=
1mλ∗
ifi(
x∗)+
∑i=i
pν∗i
hi(x
∗))≤
f0(x
∗)由於上式兩邊相等,所有所有符號取等號。
(a)由第乙個不等號,x∗
是l(x
,λ∗,
ν∗) 的極值點,即有: ∇f
0(x∗
)+∑i
=1mλ
∗∇fi
(x∗)
+∑i=
1pνi
∗∇hi
(x∗)
=0(b)由第二個不等號,而且λ∗
if∗i
(x) 非正: λ∗
if∗i
(x)=
0,i=
1,2,
...,
m 總結kkt條件如下:fi
(x∗)
≤0;hi
(x∗)
=0;λ∗
i≥0 ;λ∗
ifi(
x∗)=
0 ;∇f
0(x∗
)+∑m
i=1λ
∗∇fi
(x∗)
+∑pi
=1νi
∗∇hi
(x∗)
=0回到svm: mi
n12|
|θ||
2s.t
.yi⋅
θtxi
≥1,i
=1,2
,...
,mlagrangian: l(
θ,α)
=12|
|θ||
2−∑i
=1pα
i(yi
θtxi
−1)
這裡我們不加證明,svm問題滿足強對偶條件,可以變成無約束優化: ma
xαi≥
0min
θl(θ
,α)
因為滿足kkt條件,所以αi
(yiθ
txi−
1)=0
,所以那些遠離分割線的點αi
=0,只有yi
θtxi
−1剛好為0的點,
α 才會取不同的值,這些點就叫做支援向量~所以是支援向量機~(@ο@) ~
參考:
機器學習基礎 對偶支援向量機
在上一小節中,我們介紹,用二次規劃的方法來求解支援向量機的問題。如果用非線性的特徵轉化的方式,可以在乙個更複雜的z空間裡做二次規劃。這種思想是希望通過最大間隔的方式來控制模型的複雜度,通過特徵轉換來實現複雜的邊界。但是這引入了新的問題 在進行特徵轉換之後,在新的高維空間中,求解二次規劃問題就會變得很...
機器學習 支援向量機
線性可分支援向量機 1.回顧感知機模型 2.函式間隔與幾何間隔 3.支援向量 4.svm模型目標函式與優化 5.線性可分svm的演算法過程 線性可分支援向量機 1.軟間隔最大化 2.線性分類svm的軟間隔最大化目標函式的優化 3.軟間隔最大化時的支援向量 4.軟間隔最大化的線性可分svm的演算法過程...
機器學習 支援向量機
svm就是試圖把棍放在最佳位置,好讓在棍的兩邊有盡可能大的間隙。這個間隙就是球到棍的距離。這裡我們看到兩種不同顏色的小球 我們找到乙個棍子放在其中,把他們分割開來,但是僅僅是這麼簡單嘛,不不,我們還要考慮怎麼放這根棍子,能夠分開這兩種小球的棍子在中間有無數種方法哪種最好呢?保證決策面方向不變且不會出...