機器學習 支援向量機(SVM)原理基礎

2021-10-23 17:05:22 字數 2690 閱讀 1945

假設資料集中有下圖所示的兩類樣本,分類問題就是在樣本空間中找到一條劃分的直線(3維中的平面;n維中的n-1維超平面)將不同的樣本分開,在下圖中有無數條直線可以做到分開樣本。

但是我們需要在所有的劃分直線中取乙個最優的。直觀上感受,應該使用距離樣本上最近的點最遠的直線(在兩類樣本「正中間」)。因為這種劃分對訓練樣本的分類結果魯棒性更好,泛化能力更強。比如上圖左側新增的兩個樣本點,只有黑色和粉色直線能對其進行正確的分類,其他直線都出現分類錯誤。

更形式化的表示,在樣本空間中超平面的方程如下:

w tx

+b=0

\boldsymbol^t\boldsymbol+b=0

wtx+b=

0其中w=(

w1;w

2;w3

;...

;wd)

\boldsymbol=(w_1;w_2;w_3;...;w_d)

w=(w1​

;w2​

;w3​

;...

;wd​

)為法向量,決定超平面方向;b

bb為位移項,決定超平面與原點之間的距離。

樣本空間中任意點x

\boldsymbol

x到超平面的距離可寫為:

r =∣

wtx+

b∣∣∣

w∣∣r=\frac^t\boldsymbol+b|}||}

r=∣∣w∣

∣∣wt

x+b∣

​假設超平面將訓練樣本分類正確,即對於函式f(x

)=wt

x+bf(x)=\boldsymbol^t\boldsymbol+b

f(x)=w

tx+b

,類別y=1

y=1y=

1,則wtx

+b>

0\boldsymbol^t\boldsymbol+b>0

wtx+

b>0;y=−

1y=-1

y=−1

,則w tx

+b<

0\boldsymbol^t\boldsymbol+b<0

wtx+

b<

0,令:

\boldsymbol^t\boldsymbol+b\geq+1,y_i=+1\\ \boldsymbol^t\boldsymbol+b\leq-1,y_i=-1\\ \end \right.\tag

^t\boldsymbol+b=\pm1

wtx+b=

±1上,之所以取值為1是為了方便後邊的推導,不影響最後優化的過程

使得wtx+

b=±1

\boldsymbol^t\boldsymbol+b=\pm1

wtx+b=

±1成立的訓練樣本點被稱作支援向量,兩個異類支援向量到超平面的距離之和為:

υ =2

∣∣w∣

∣\upsilon=\frac||}

υ=∣∣w∣

∣2​被稱為「間隔」

所以回到最初的目的:找到具有「最大間隔」的劃分超平面,也就是找到滿足(∗)

(\ast)

(∗)中約束的引數w,b

\boldsymbol,b

w,b,使得υ

\upsilon

υ最大,即:

m ax

w,b2

∣∣w∣

∣s.t

.yi(

wtxi

+b)≥

1,i=

1,2,

...,

mmax_,b}\frac||}\\ s.t. y_i(\boldsymbol^t\boldsymbol+b)\geq1,i=1,2,...,m

maxw,b

​∣∣w

∣∣2​

s.t.

yi​(

wtxi

​+b)

≥1,i

=1,2

,...

,m上式顯然可重寫為:

m in

w,b1

2∣∣w

∣∣2s

.t.y

i(wt

xi+b

)≥1,

i=1,

2,..

.,m\mathop\limits_,b}\frac||\boldsymbol||^2\\ s.t. y_i(\boldsymbol^t\boldsymbol+b)\geq1,i=1,2,...,m

w,bmin​2

1​∣∣

w∣∣2

s.t.

yi​(

wtxi

​+b)

≥1,i

=1,2

,...

,m這就是支援向量機的基本型

待更新周志華《機器學習》

機器學習中的演算法(2)-支援向量機(svm)基礎

支援向量機通俗導論(理解svm的三層境界)

【機器學習】支援向量機svm原理及推導

機器學習 支援向量機 SVM

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

機器學習 支援向量機SVM

svm是一種監督學習演算法,主要用於分類 回歸 異常值檢測。目前應用於文字分類 手寫文字識別 影象分類 生物序列分析。支援向量機是一種通過某種非線性對映,把低維的非線性可分轉化為高維的線性可分,在高維空間進行線性分析的演算法。支援向量機 svm,support vector machine 是根據統...

機器學習 支援向量機SVM

通俗詳見 要明白什麼是svm,便得從分類說起。分類作為資料探勘領域中一項非常重要的任務,它的目的是學會乙個分類函式或分類模型 或者叫做分類器 而支援向量機本身便是一種監督式學習的方法 至於具體什麼是監督學習與非監督學習,請參見此系列machine l data mining第一篇 它廣泛的應用於統計...