機器學習實戰 初識支援向量機 SVM

2021-08-20 02:36:06 字數 2302 閱讀 8958

svm - 支援向量機。支援向量機,其含義是通過支援向量運算的分類器。其中「機」的意思是機器,可以理解為分類器。它是一種二類分類模型,其基本模型定義為特徵空間上的間隔最大的線性分類器,其學習策略便是間隔最大化,最終可轉化為乙個凸二次規劃問題的求解。

給定訓練樣本集d = ,y

我∈,分類學習的基本思想是基於訓練集d的樣本空間中找到乙個劃分超平面

,將不同類別的樣本分開。這樣的超平面可能有很多個,我們應該找位於兩類訓練樣本「正中間」的劃分超平面,該劃分超平面對訓練樣本容忍性最好。在樣本空間中,劃分超平面可通過線性方程來描述:w

tx + b = 0,其中w =(w1; w2; ......; wd)為法向量,決定了超平面的方向,b為位移項,決定了超平面與原點之間的距離

:具體推導公式

),假設超平面(w,b)能將訓練樣本正確分類,即對於(x

i,y

i)∈d,若y

i = + 1,則有w

tx + b> 0; y

i= -1,則有w

tx + b <0。得到

距離超平面最近的幾個訓練樣本使得上面的等式成立,他們被稱為「支援向量」,兩個異類支援向量到超平面的距離之和為γ=2d=2/||w||,這個γ被稱為間隔。想要找到具有最大間隔的劃分超平面,也就是使得

γ最大,即最大化||w||-1,這等價於最小化||w||2  

,min(1/2||w||2),這就是svm的基本型。

min(1/2||w||2)本身是乙個凸二次規劃問題,能直接用現成的優化計算求解,但我們可以用更高效的辦法。使用拉格朗日乘子法可到其「對偶問題」。具體說來每條約束新增拉格朗日乘子ai

≧0,則該問題的拉格朗日函式可寫成:

,其中a=(

a1;a2;……am;);令l(w,b,a)對w和b的偏導為零可得

,將w帶入l(w,b,a),可將w和b消去,再考慮上面式子的約束條件就得到對偶問題:

實際中,我們會經常遇到線性不可分的樣例,此時,我們的常用做法是把樣例特徵對映到高維空間中去。但進一步,如果凡是遇到線性不可分的樣例,一律對映到高維空間,那麼這個維度大小是會高到可怕的)。那咋辦呢?此時,核函式就隆重登場了,核函式的價值在於它雖然也是講特徵進行從低維到高維的轉換,但核函式絕就絕在它事先在低維上進行計算,而將實質上的分類效果表現在了高維上,也就如上文所說的避免了直接在高維空間中的複雜計算。

舉例:為相同顏色的點分類

用線性函式無法將兩種不同顏色的原點區分開;很自然的我們會想到曲線救國,如下圖所示:

我們可以在不增加引數的前提下,擴充套件乙個維度,也就是第三維。​​第三維可以用x,y的關係表示.x + y,xy,x2

。這三個函式關係只有xy能夠區分開四個點如下圖所示:

增加的第三維對應的值為0或者2,這樣就把四個數區分開了。

很容易借助第三維,我們可以獲得乙個超平面,用於分類資料。

核函式的作用就是隱含著乙個從低維空間到高維空間的對映,而這個對映可以把低維空間中線性不可分的兩類點變成線性可分的。其實就是運用原有可調引數,將可調引數的某個或某些函式關係來增加維度,用於分類。

核函式核函式是為了再不增加可調引數的情況下,增加引數某種或某些函式關係來增加維度用於分類資料;間隔是為了找到劃分的超平面;對偶問題是為了更好的求間隔距離。

機器學習實戰 支援向量機

有些人認為svm是最好的現成的分類器,這裡說的現成值得是分類器不加修改即可直接使用。同時,這意味著在資料上應用基本形式的svm分類器就可以得到低錯誤率的結果。svm能夠對訓練集之外的資料點作出很好的分類決策。svm有很多實現,本章只關注其中最流行的一種實現,即序列最小優化 smo 演算法。優點 泛化...

向量遍歷 機器學習實戰專案 支援向量機

支援向量機 support vector machines,svm 是一種機器學習演算法。支援向量機 場景 支援向量機 原理 svm 工作原理 對於上述的蘋果和香蕉,我們想象為2種水果型別的炸彈。保證距離最近的炸彈,距離它們最遠 尋找最大分類間距 轉而通過拉格朗日函式求優化的問題 尋找最大間隔 為什...

機器學習實戰 機器學習實戰 支援向量機(一)

從分類效力來講,svm在無論線性還是非線性分類中,都十分出色 現在桌子上有一些雜亂的 小球 我們想要將他們分開 我們可以放一根棒棒上去 是不是看起來還行,小棍將藍色球和紅色球分開。但這時,又有個人把一顆紅色的小球放在了棍子的另一邊,這樣就有乙個球似乎落在了錯誤的一側,我們可能需要調整棒棒 所謂,sv...