機器學習 支援向量機(對偶)

2021-07-29 21:32:51 字數 3450 閱讀 5778

上節說到我們把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就是試圖把棍放在最佳位置,好讓在棍的兩邊有盡可能大的間隙。這個間隙就是球到棍的距離。這裡我們看到兩種不同顏色的小球 我們找到乙個棍子放在其中,把他們分割開來,但是僅僅是這麼簡單嘛,不不,我們還要考慮怎麼放這根棍子,能夠分開這兩種小球的棍子在中間有無數種方法哪種最好呢?保證決策面方向不變且不會出...