3 支援向量機

2021-08-28 20:03:23 字數 3115 閱讀 7417

3.1 本質

基本模型是定義在特徵空間上的間隔最大的線性分類器。核技巧使之成為實質上的非線性分類器。

學習策略是間隔最大化,可形式化為求解凸二次優化問題。等價於正則化的合頁損失函式的最小化問題。

學習演算法是求解凸二次規劃的最優化演算法。

理解支援向量機可以從簡至繁推進:線性可分支援向量機(硬間隔svm),線性支援向量機(軟間隔svm),非線性支援向量機(軟間隔最大化+核技巧)。

3.2 訓練資料集

假設給定訓練資料集:t=(

x1,y

1),(

x2,y

2),.

..,(

xn,y

n)

t=t=

(x1​

,y1​

),(x

2​,y

2​),

...,

(xn​

,yn​

)其中x∈r

nx \in r^n

x∈rn

,y

∈y\in\

y∈,+1表示為正例,-1表示負例。

學習的目標在於在特徵空間中尋找乙個分離超平面w⋅x

+b=0

w \cdot x + b = 0

w⋅x+b=

0,將正例和負例正確分開。感知機利用誤分類最小的策略。svm利用間隔最大化的策略。

3.3 線性可分svm

假設訓練資料集線性可分,則存在無窮個分離超平面可將兩類資料正確分開。若分類超平面為:w⋅x

+b=0

w \cdot x + b = 0

w⋅x+b=

0相應的分類決策函式為:f(x

)=si

gn(w

⋅x+b

)f(x)=sign(w \cdot x + b)

f(x)=s

ign(

w⋅x+

b)這種判別為模型為線性可分svm。

線性可分svm的學習策略(尋找超平面的策略)為間隔最大化

那麼,何為間隔呢?

對於乙個分離超平面w⋅x

+b=0

w \cdot x +b = 0

w⋅x+b=

0,樣本點x

ix_i

xi​距離超平面的幾何距離為:

γ i=

∣w⋅x

+b∣∣

∣w∣∣

\gamma_i = \frac

γi​=∣∣

w∣∣∣

w⋅x+

b∣​。一般來說,點x

ix_i

xi​距離超平面的遠近可以表示分類**的確信度。距離超平面較遠的點,其分類**結果更可信。w⋅x

i+

bw \cdot x_i + b

w⋅xi​+

b的符號與類標記y

iy_i

yi​是否一致表示分類的正確性

間隔就是分類正確性和確信度的一種表達,可分為函式間隔和幾何間隔。∣w⋅

xi+b

∣|w \cdot x_i + b|

∣w⋅xi​

+b∣可以相對地表示點x

ix_i

xi​距離超平面的遠近,yi(

w⋅xi

+b

)y_i(w \cdot x_i +b)

yi​(w⋅

xi​+

b)為函式間隔。yi(

w⋅xi

+b)∣

∣w∣∣

\frac

∣∣w∣∣y

i​(w

⋅xi​

+b)​

幾何間隔

3.3.1 求解分割超平面的問題建模:間隔最大化

svm學習的基本想法是求解能夠正確劃分訓練資料集且幾何間隔最大的分離超平面。

m ax

wb

γmax_ \gamma

maxwb​γs.

t.yi

(w⋅x

i+b)

∣∣w∣

∣>

γs.t. \frac>\gamma

s.t.∣∣

w∣∣y

i​(w

⋅xi​

+b)​

>

γ可以轉化為:

m in

wb12

∣∣w∣

∣2

min_ \frac||w||^2

minwb​

21​∣

∣w∣∣2s.

t.yi

(w⋅x

i+b)

)>=1

s.t. y_i(w \cdot x_i + b)) >= 1

s.t.yi

​(w⋅

xi​+

b))>=1

3.3.2 支援向量和間隔邊界i(

w⋅xi

+b)−

1=

0y_i(w \cdot x_i + b) - 1 = 0

yi​(w⋅

xi​+

b)−1

=0對y i=

+1

y_i=+1

yi​=+1

的正例點,支援向量在超平面h1:

w⋅x+

b=

1h_1:w \cdot x + b =1

h1​:w⋅

x+b=

1上。對y i=

−1

y_i=-1

yi​=−1

的負例點,支援向量在超平面h2:

w⋅x+

b=−1

h_2:w \cdot x + b =-1

h2​:w⋅

x+b=

−1上。h1和

h2

h_1和h_2

h1​和h2

​為間隔邊界,之間的距離為間隔。

注:決定分離超平面時,只有支援向量起作用。其他點的移動甚至去除都不會影響求解。

3.3.3 問題轉化:對偶化

02 37 支援向量機總結

目錄更新 更全的 機器學習 的更新 更有python go 資料結構與演算法 爬蟲 人工智慧教學等著你 支援向量機中有線性可分支援向量機 線性支援向量機 非線性支援向量機 線性支援回歸等演算法,算是前期比較繁瑣的乙個內容,如果感覺自己還是對間隔最大化 支援向量等知識點不太了解的,可以對著簡單的感知機...

6 3 支援向量機演算法 下)

svm演算法特性 1.1 訓練好的模型的演算法複雜度是由支援向量的個數決定的,而不是由資料的維度決定的。所以svm不太容易產生overfitting 1.2 svm訓練出來的模型完全依賴於支援向量 support vectors 即使訓練集裡面所有非支援向量的點都被去除,重複訓練過程,結果仍然會得到...

2 支援向量機概念詳解

1.支援向量機概念 支援向量機 support vectormachine 是cortes和vapnik於1995年首先提出的,它在解決小樣本 非線性及高維模式識別中表現出許多特有的優勢,並能夠推廣應用到函式擬合等其他機器學習問題中 10 支援向量機方法是建立在統計學習理論的vc 維理論和結構風險最...