支援向量機SVM

2021-08-13 02:49:48 字數 2823 閱讀 2866

在之前的一些學習中,我們已經了解到,可以使用感知機對資料進行分類。同時我們還了解到了乙個重要的結論:通過訓練感知機而得到的分類超平面有無數個。

那麼,有沒有一種演算法可以找出分類效果最好的,即最優分類超平面呢?

這就是我們本節要解決的問題,如何找出對某個資料集來說的,最優的分類超平面。

這裡,我們先從最簡單的情況開始考慮,也就是資料集

d 中的資料全都是線性可分的,如下圖所示:

線性可分就是可以找到乙個分離超平面將資料集中的所有樣本都正確分類。我們的分類超平面可以用式子表示出來: w∗

x+b=

0式中,

w 我們訓練出來的向量,

x是輸入的特徵向量,

b 是乙個偏置值。

下面我們就會看到,求解這個問題實際上是在求解乙個最優化問題,在求解之前,先來了解幾個概念。如果我們將特徵向量x帶入

|w∗x

+b| 中運算,得到的結果是這個特徵向量指向的點,到分類超平面的距離。因為

w 是該分類超平面的法向量,w∗

x表示特徵向量在超平面的法向量上的投影。

而對於分類問題來說

y 的取值不是+1,就是-1,因此有這樣乙個等式|w

∗x+b

|=y|

w∗x+

b|。因此自然而然的我們就可以給出函式間隔的定義: γ^

i=yi

(w∗x

+b)

從上式中我們可以發現γ^

i 的正負表示分類的結果,其絕對值的大小表示分類的確信度。絕對值越大表示對分類結果的信心越大。

然後我們再定義乙個變數γ^

γ^=mini=1

,⋯,n

γ^i

我們稱資料集d的函式間隔為γ^

,即資料集d中與分類超平面離得最近的那個樣本的距離。

但是很容易發現函式距離的一些缺陷,當我們把w 和

b同時增k倍的時候,平面並沒有發生變化,而函式間隔卻增大了k倍,這顯然是不好的,函式間隔增大表示對分類結果的可信度增加了,但實際上系統並沒有發生變化,這就是不好的地方。

於是,我們給

w 加一些約束條件,比如||

w||=

1。於是,我們又得到了另一種間隔,幾何間隔: γi

=yi(

w||w

||.x

i+b|

|w||

) 這樣就不會出現上邊說的那種情況了。我們定義資料集d的幾何間隔為: γ=

mini=1

,⋯,n

gamm

ai可以發現,函式間隔和幾何間隔有如下的關係: γ=

γ^||

w||

到這裡,就可以匯出要求解的優化方程了,如下:

maxw,b

γ s.

t.yi

w||w

||.x

i+b|

|w||

≥γ,i

=1,2

,⋯,n

通過一系列轉化,將該優化問題轉化為:

minw,b

γ^||

w||

s.t.

yi(w

.xi+

b)−1

≥γ,i

=1,2

,⋯,n

其中的轉化思想《統計學習方法》都寫的很詳細了,這裡我想解釋一下兩個點:1.為什麼可以設γ^

=1?因為如果將w,

b 都同時增大或減小

λ 倍,γ^

相應的也增大縮小

λ 倍,而對於目標函式γ^

||w|

| 來說大小並沒有變化,因此我們就將這三個引數全部歸一化就好了,後面的計算也方便。2.為什麼對1|

|w||

進行優化和對12

||w|

|2進行優化效果是一樣的?因為將函式影象畫出來可以發現,1|

|w||

的極大值點就是12

||w|

|2的極小值點。

《統計學習方法》第101頁證明了通過求解上面的方程,得到的解是唯一的,即線性可分類問題中,最優的超平面只可能有乙個,此處就不再重複證明了。

同時,在資料集d中還有一些樣本的函式間隔為1,即這些樣本落在w∗

x+b=

±1這個平面上。於是將這兩個平面定義為:間隔邊界

這裡引入拉格朗日乘子法,將上面的求解極小值的優化問題轉化為拉格朗日方程的極小極大問題:

minw,b

maxαl(

w,b,

α)=1

2||w

||2−

∑i=1

nαiy

i(w∗

x+b)

+∑i=

1nαi

下面將講解乙個求解凸二次規劃問題的重要技巧:將原問題的求解轉化為對其對偶問題進行求解!

但是原問題的解和對偶問題的解是一樣的麼?數學家已經證明,當該凸二次優化問題滿足kkt條件時,原問題和其對偶問題擁有相同的解。因此,上面那個優化問題的對偶問題如下所示:

maxα

minw,b

l(w,

b,α)

=12|

|w||

2−∑i

=1nα

iyi(

w∗x+

b)+∑

i=1n

αi於是我們只要求解對偶問題的解,其實也就相當於完成了對原始問題的求解。推導過程書上寫的很清楚,此處不再贅述。

支援向量機(SVM)

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

支援向量機SVM

支援向量機svm support vector machine 是機器學習領域的乙個有監督的學習模型。一 簡介 支援向量機建立在統計學習理論的基礎之上。統計學習理論 statistical learning theory簡稱slt 是一種處理小樣本的統計理論 為研究有限樣本情況下的統計模式識別和更廣...

SVM支援向量機

在機器學習領域,很多時候會用到分類的一些演算法,例如knn,貝葉斯。我們可以把分類的樣本簡單除暴的分為兩種型別。線性可分和非線性可分。可以使用乙個非常簡單的例子來解釋什麼是線性可分,什麼是線性不可分。a 線性可分的2類樣本 b 非線性可分的2類樣 已知乙個線性可分的資料集,其中x表示乙個n維向量,當...