機器學習之支援向量機SVM 一

2021-09-24 09:43:52 字數 2581 閱讀 9872

svm(support verctor machine)支援向量機,最常拿來就是做分類。也就是說,如果我有一堆已經分好類的東西(可是分類的依據是未知的),那當收到新的東西時,svm可以**新的資料要分到哪一堆去。支援向量機通過求得乙個劃分超平面來劃分兩類不同的資料樣本,把正例放在一邊,反例放在一邊。它是一類按監督學習(supervised learning)(訓練集有類別標記的為監督學習,分類詳情)方式對資料進行二元分類(binary classification)的廣義線性分類器(generalized linear classifier),其決策邊界是對學習樣本求解的最大邊距超平面(maximum-margin hyperplane)

以上黑線可加強為一根棍子,使得棍子的直徑最大,這樣即使存在區域性擾動,依舊可以達到一定的劃分效果

支援向量機要做的就是尋找乙個劃分超平面使得離它最近的兩個異類樣本到該平面的距離之和最大,反映到上圖就是找到一條直線進行劃分,並且這根線可以變粗,可以長到最粗的那根線就可以作為劃分超平面了

線性描述如下:

如果所有樣本都正確分類,就有對於正類樣本 wx+b>0,異類樣本 wx+b<0 其中w =所對應的額列向量

通過對w 和 b 進行適當地放縮就可以使得對於正類樣本 wx+b>=1,異類樣本wx+b<=-1;如果有訓練樣本使得上式的等號成立的話它就是我們要尋找的支援向量。支援向量之間的距離就是就是我們要尋找的最大的間隔,就是2/||w||,||w||=w12+w22+w3^2+…。所以我們就是要在劃分正確地基礎上使得劃分間隔最大,這就是支援向量機的模型

總共可以有無數可能的超平面

如何選取使邊際(margin)最大的超平面(max margin hyperplane,mmh)?

如上圖所示,超平面一側最近點的距離等於到另一側最近點的距離,兩側的超平面平行

線性可區分(linear separable):在上圖中能夠找到超平面,完全將兩類區分,此類為線性可區分

線性不可區分(linear inseparable):不能找到超平面,完全將兩類區分,此類為線性可區分。如下圖:

注:劃分超平面後,有紅點在藍色部分,有藍點在紅色部分

注:此種劃分為非線性劃分

超平面可定義為:

w*x+b=0
其中,w:weight vector

w=,n是特徵值的個數,1·n維

x:訓練例項,n·1維

b:bias偏差

將b假設為額外的weight,超平面方程寫為:

w1x1+w2x2+w0=0
所有超平面右上方的點滿足:

w1x1+w2x2+w0>0
所有超平面左下方的點滿足:

w1x1+w2x2+w0<0
調整weight,使得超平面定義邊際的兩邊:

h1:w1x1+w2x2+w0>=1,for yi=+1,

h2:w1x1+w2x2+w0<=-1,for yi=-1

綜合以上兩式,得到:

yi(w1x1+w2x2+w0)>=1
所有坐落在邊際的兩邊的超平面上的被稱作「支援向量」(support vectors)

分界的超平面和h1或h2上任意一點的距離為:1/||w||

注:||w||是向量的範數,為sqrt(w1^2 + w2^2+…+ wn^2)

所以最大邊際距離為2/||w||

w=(a,2a),(通過計算(2,3)-(1,1)得來)

使用(1,1)點,w·x+b=0,得a+2a+w0=-1

使用(2,3)點,w·x+b=0,得2a+6a+w0=1

求出a,w0

優點:1.訓練好的模型的演算法複雜度是由支援向量的個數決定的,而不是由資料的務度決定的。所以 svm不太容易產生overfitting

2.svm訓練出來的模型完全依賴於支援向量(support vectors).即使訓練集裡面所有非支援 向量的點都被去除,重複訓練過程,結果仍然會得到完全一樣的模型。

3. svm如果訓練得出的支援向屋個數比較小,svm訓練出的模型比較容易被泛化。

機器學習之支援向量機(SVM)

svm數學知識具體參考 數學知識補充 對於線性可分的超平面 既然能線性可分,那麼就有超平面 向量化表示 將這資料集分開,使得一側是 1 類,另一側是 1類 第乙個知識點 已知超平面 和資料集 哪個點離這個超平面最近,答案 哪乙個點使得 最小,哪一點離這個超平面最近 第二個知識點 已知超平面 和點x,...

機器學習支援向量機SVM(一)

線性可分 即對於分類的倆種類別可以用一條直線將其分開 圖 1顯示的就是乙個線性可分 linear separable 的模型 不可用一條直線或平面將倆個類別分開的模型即非線性可分 non linear separable 模型 對於線性可分的情況就表明在空間中存在無數條線或平面可以將兩種類別分開 對...

機器學習 支援向量機 SVM

svm 方法的基本思想是 定義最優線性超平面,並把尋找最優線性超平面的演算法歸結為求解乙個凸規劃問題。進而基於 mercer 核展開定理,通過非線性對映 把樣本空間對映到乙個高維乃至於無窮維的特徵空間 hilbert 空間 使在特徵空間中可以應用線性學習機的方法解決樣本空間中的高度非線性分類和回歸等...