簡單支援向量機推導和結論

2021-08-02 22:20:20 字數 3745 閱讀 8210

尋找乙個超平面,能夠很好的區分乙個二分類問題ar

gmax

w,b(

min(

1||w

t|||

wtxi

+b))

xi屬於x x

.sha

pe=(

d,n)

n為輸入個數,

d為輸入

維度 w

.sha

pe=(

d,1)

b為常數

超平面上一點x′

滿足 wt

x′=−

b(1)

資料集上任意一點到朝平面的距離 |w

t||w

||(x

−x′)

|(2)

相當於一點到超平面一點的向量在垂直平面方向上的投影,即到面的距離

將(1)帶入(2)得距離公式為: 1|

|w||

|wtx

+b|(3)

在svm問題中我們定義以下二分類問題,當點屬於1類時對應標籤為yi

=1;當點屬於2類時對應標籤為yi

=−1 。並將標籤帶入公式(3)

問題轉化為: ar

gmax

w,b(

min(

yi(w

txi+

b)||

w||)

)(4)

因為當wt

xi+b

>0時

,yca

cula

tei=

1 反之依然

通過對分子部分的縮放我們可以引入條件 yi

(wtx

i+b)

≥1(5)

所以最小值取1

問題轉化為 ar

gmax

w,b1

||w|

|(6)

約束為 1−

yi(w

txi+

b)≤0

(7)

將(6)式轉化為求極小值問題

問題轉化為求 ar

gmin

w,b1

2w2(8)

同時滿足約束條件(5)

運用拉格朗日乘子法得到: l(

w,b,

α)=1

2w2−

∑ni=

1αi(

yi(w

txi+

b)−1

)(9)

分別對w,

b 求偏導為0,以獲得極小值得到: w=

∑ni=

1αiy

ixi(10) 0

=∑ni

=1αi

yi(11)

將(10),(11)代入(9)得到: −(

12∑n

i,j=

1αiα

jyiy

jxti

xj−∑

ni=1

αi)(12)

以及拉個朗日乘子法預設條件 αi

≥0(14)

將問題轉化為極小,所以最終的問題為:ar

gmin

α12∑

ni,j

=1αi

αjyi

yjxt

ixj−

∑ni=

1αi

s.t ∑n

iαiy

i=0

0≤αi

通過smo方法求解各個

α 並通過回代(10)得到w

yj=∑

ni=1

αiyi

xixj

+b(15)

通過(15)式可以得到b注意這裡用到了內積

最終獲得引數w,

b 的值yi

(wtx

i+b)

≥1−ξ

i(16) m

in12

w2+c

∑ni=

1ξi(17)

其中ξi

≥0轉化為拉格朗日方程並分別對w,

b,ξi

求導為0,然後回代,得到: ar

gmin

α12∑

ni,j

=1αi

αjyi

yjxt

ixj−

∑ni=

1αi

s.t ∑n

iαiy

i=0

0≤αi

≤c

x→ϕ(

x)通常使用kernel的方法都會用到內積,可以先內積在對映來減少計算量

使用kernel後原來的問題轉化為: ar

gmin

α12∑

ni,j

=1αi

αjyi

yjk,x

j>−∑

ni=1

αis.t ∑n

iαiy

i=0

0≤αi

≤c每次同時優化兩個引數,以此簡化計算難度

1.按照順序選擇乙個αi

,隨機選擇乙個αj

同時i≠

j 2.代入目標函式得到: mi

n12k

iiα2

i+12

kjjα

2j+y

iyjk

ijαi

αj−(

αi+α

j)+y

iviα

i+yj

vjαj

+con

st(18)

其中: ki

j=k,x

j> v

i=∑n

q=1α

qyqk

iq;q

≠j,i

同時: αi

yi+α

jyj=

−∑nq

=1αq

yqki

q=ξ;

q≠j,

i(19)

進過變換得到: αi

=yi(

ξ−αj

yj)(20)

將(20)代入(18)並求導另其為0,並對αi

求偏導得到: (k

ii+k

jj−2

kij)

αj−k

iiξy

j+ki

jξyj

+yiy

j−1−

viyj

+vjy

j=0(21)

同時: f(

xq)=

∑ni=

1αiy

ik,x

q>+b

(22) e

q=f(

xq)−

yq(23)

通過19,21,22,23求解得到: αn

ewj=

αold

j+yj

(ei−

ej)k

ii+k

jj−k

ij(24)

同時滿足邊界條件 當y

i≠yj

時 l=

max(

0.αj−

αi)

h=mi

n(c,

c+αj

−αi)

當yi=y

j 時 l=

max(

0.αi+

αj−c

) h=

min(

c,αj

+αi)

若超過上下邊界就去邊界值,並通過不斷迭代得到結果

支援向量機數學推導

svm的數學推導真的是我一生的痛,看看覺得很懂,但是過了3秒,就在糾結,為什麼可以這樣換算?今天早上在看整合學習的時候,講課的老師一直說svm svm svm。嗯,沒錯,我又開始回想svm的數學推導過程,然後,我的乙個早上就這樣沒了。這次趁著剛看完印象深刻,我想將剛釐清的思路寫下來。僅包括如何推出最...

支援向量機(SVM)公式推導

假設一堆訓練資料的正負樣本標記為 假設有乙個超平面h 可以通過此線性方程劃分,同時存在兩個平行於 h的超平面h1和 超平面h 能夠正確分類,也就是滿足如下約束 即 離 h最近的正負樣本剛好分別落在h1和 h2上使等號成立,它們就是支援向量。而超平面h1和 h2的距離可知為 注 線到線的距離公式求得 ...

支援向量機原理推導(二)

上一節我們講述了間隔公式是如何得到的,這一節講述要得到最大間隔時的分割超平面所要的條件是什麼。在上圖中我們可以看到間隔為marginb 2,但是我們很容易發現黑線還可以向上移動從而得到更大的間隔,當移動到是最上面紅線與第乙個men資料點相交時便得到最大間隔了,如下圖 下面我們就根據這個思路求出得到最...