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

2021-08-20 04:48:51 字數 2551 閱讀 8817

假設一堆訓練資料的正負樣本標記為

假設有乙個超平面h:

,可以通過此線性方程劃分,同時存在兩個平行於

h的超平面h1和

超平面h

能夠正確分類,也就是滿足如下約束:

即:)離

h最近的正負樣本剛好分別落在h1和

h2上使等號成立,它們就是支援向量。

而超平面h1和

h2的距離可知為(注:線到線的距離公式求得):

svm目標找到具有「最大間隔」的劃分超平面。即找到滿足(

1)的約束條件的引數

w,b,使得

r最大。顯然,最大化間隔

r,也就是最小化

。於是可以構造如下的

條件極值問題

這就是基本向量機的基本型。對於

不等式約束的條件極值問題

,可以用拉格朗日方法求解。拉格朗日方程的構造規則是:用約束方程乘以非負的拉格朗日係數,然後再從目標函式中減去。得到拉格朗日方程如下:

)其中:

)那麼處理的規劃問題就變為:

)上式才是嚴格的

不等式約束的

拉格朗日條件極值的表示式。下面將詳細地一步步推導。(5

)式是乙個凸優化問題,其意義是先對α求偏導,令其等於

0消掉α,然後再對w和

b求l的最小值。要直接求解(

5)式是有難度的,通過消去拉格朗日係數來化簡方程,對我們的問題無濟於事。但可以通過拉格朗日對偶問題來解決,為此我們把(

5)式做乙個等價變換,即為對偶變換:

從而凸規劃問題轉換成了對偶問題:

)其意義是:原凸優化問題可以轉化為先對w和

b求偏導,令其等於0消掉

w和b,然後再對α求

l的最大值。下面求解(

6)式,先計算w和

b的偏導數。由(

3)式有:

)讓l在

w和b上取到最小值,令(

7)式的兩個偏導數分別為

0,得到:

)將(8)代回(

3)式,可得:

)再把(

9)代入(

6)式有:

)考慮到(

8)式,我們的對偶問題就變為:

)上式這個規劃問題可以直接從

數值方法計算求解

。需要指出的一點是,(

2)式的條件極值問題能夠轉化為(

5)式的凸規劃問題,其中隱含著乙個約束,即:

)(12)推理:如果(

2)和(

5)等效,則必有:

)式代入上式中,得到:

化簡得到:

)又因為約束(

1)式和(

4)式,有:

所以要使(

13)式成立,只有令:

,由此得到(

12)式的約束。(

12)式的約束的意義是:如果乙個樣本是支援向量,則其對應的拉格朗日係數非零;如果乙個樣本不是支援向量,則其對應的拉格朗日係數一定為

0。由此可知大多數拉格朗日係數都是0。

其中,式(

1)、(

4)、(

12)即

kkt條件。

一旦我們從(

11)式求解出所有拉格朗日係數,就可以通過(

8)式的

計算得到最優分割面

h的法向量

w。而分割閾值

b也可以通過(

12)式的約束用支援向量計算出來。找到最優的h1和

h2,即訓練出的

svm。

機器學習

-周志華

支援向量機(SVM)公式整理

支援向量機可以分為三類 任務 尋找一條與所有支援向量距離最遠的決策邊界,這條決策邊界就是 0 w t x b 即 w t x i b 0 y i 0 w t x i b 0 y i 0 所以問題可以描述為 max margin x,b qquad s.t.y i w t b 0 margin w,b...

西瓜書 支援向量機svm原型推導

第一次聽說支援向量機這個名詞或許有點懵,這好像有點難以理解這個演算法到底是幹什麼的。其實svm這個演算法這個演算法是用來分類的。目的是找到乙個超平面然後把一堆資料劃分成不同類別。對映到二維資料上面,那個超平面就是一條線了。如下圖所示 我們也能看到有很多的線可以劃分這兩類資料,那我們的目的就是要找一條...

支援向量機(SVM)

簡介 術語 支援向量機 svm 是乙個類分類器,正式的定義是乙個能夠將不同類樣本在樣本空間分隔的超平面。換句話說,給定一些標記 label 好的訓練樣本 監督式學習 svm演算法輸出乙個最優化的分隔超平面。首先我們假定有乙個未知的欲分類的集合,可以進行分割,但是我們不知道分割的函式 超平面,也叫真實...