誰都能學會的SVM(支持向量機)分類器(一)超平面篇
機器學習領域問題實作模式一般為特征+分類器,SVM分類器在機器學習分類器領域地位舉足輕重,
SVM擅長解決什么型別的問題呢?
1.小樣本
2.非線性(松弛變數、核函式為SVM精髓)
3.高維模式識別(例如文本分類)
從感知機開始,引入超平面的概念
n 維空間中的超平面由下面的方程確定:
w
T
x
+
b
=
0
w^Tx+b=0
wTx+b=0其中,w和x都是n維列向量,x 為平面上的點,w 為平面上的法向量,決定了超平面的方向,b 是一個實數,能決定超平面到原點的距離,
x
=
(
x
1
,
x
2
,
x
3
,
?
?
?
,
x
n
)
T
x={(x_1,x_2,x_3,\cdot\cdot\cdot,x_n)}^T
x=(x1?,x2?,x3?,???,xn?)T
w
=
(
w
1
,
w
2
,
w
3
,
?
?
?
,
w
n
)
T
w={(w_1,w_2,w_3,\cdot\cdot\cdot,w_n)}^T
w=(w1?,w2?,w3?,???,wn?)T
- w為什么是法向量?
- b為什么能決定超平面到原點的距離?
- 關于超平面是否會經過原點的問題
在查超平面的定義時,其百度百科詞條寫道:因為是子空間,所以超平面一定經過原點,很多博客根據這個定義默認了此概念,并沒有過多的解釋,在介紹支持向量機超平面時,加上超平面一定經過原點,雖然過不過原點對后面的SVM的學習沒有過多影響,還是要弄清楚這一點,如果超平面一定過原點,那b代表的超平面與原點間的位移,不就恒為0了嗎?

為了幫助理解,首先做一個概念區分(線性子空間&仿射子空間):
-
線性子空間: 如果 W W W是線性空間 V V V的一個非空子集,記作 W ≤ V W≤V W≤V則
- W W W必須包含0向量,因為0肯定屬于 V V V
- 如果向量 x x x屬于 W W W空間,則向量 C ? x C*x C?x也必須屬于 W W W空間(乘法封閉性)
- 如果兩個向量 A A A和 B B B屬于 W W W空間,則向量 A + B A+B A+B也屬于 W W W空間(加法封閉性)
-
仿射子空間: V V V的一個非空子集 Y Y Y為 V V V的仿射子空間,如果存在一個 V V V的線性子空間 W ≤ V W≤V W≤V和向量 a 0 ∈ V a_0∈V a0?∈V,那么 Y = a 0 + W = { a 0 + β ∣ β ∈ W } Y=a_0+W=\{a_0+\beta\vert\beta\in W\} Y=a0?+W={a0?+β∣β∈W}由此可以得出結論:仿射子空間是對應線性子空間的平移,而支持向量機所說的超平面泛指仿射子空間,該超平面并不一定經過原點,百度百科默認子空間代表線性子空間,因此它所構成的超平面一定經過原點,超平面 w T x + b = 0 w^Tx+b=0 wTx+b=0式中,b為位移項,決定了超平面到原點的距離,
說了這么多只解釋清楚了是否過原點的問題,所以 w w w為什么是法向量?
降維說明一下該問題,建立方程: a x + b y + c = 0 ax+by+c=0 ax+by+c=0 y = ? a x ? c b y=\frac{-ax-c}b y=b?ax?c?其包含的點集Q為:
令 x = t 令x=t 令x=t ( t , ? a t ? c b ) = t ( 1 , ? a b ) ? ( 0 , c b ) (t,\frac{-at-c}b)=t(1,-\frac ab)-(0,\frac cb) (t,b?at?c?)=t(1,?ba?)?(0,bc?)該函式是經過點(0, c b \frac cb bc?),方向為(1,- a b \frac ab ba?)的直線
令 n = ( a , b ) 令n=(a,b) 令n=(a,b),則 n ? ( t , ? a t ? c b ) + c = 0 n*(t,\frac{-at-c}b)+c=0 n?(t,b?at?c?)+c=0
在Q點集上任取一點 ( x 0 , y 0 ) (x_0,y_0) (x0?,y0?), c = ? n ? ( x 0 , y 0 ) c=-n*(x_0,y_0) c=?n?(x0?,y0?)
則 n ? ( t , ? a t ? c b ) ? n ? ( x 0 , y 0 ) = 0 ? n ? ( ( t , ? a t ? c b ) ? ( x 0 , y 0 ) ) = 0 n*(t,\frac{-at-c}b)-n*(x_0,y_0)=0\Leftrightarrow n*((t,\frac{-at-c}b)-(x_0,y_0))=0 n?(t,b?at?c?)?n?(x0?,y0?)=0?n?((t,b?at?c?)?(x0?,y0?))=0
由于 ( t , ? a t ? c b ) 和 ( x 0 , y 0 ) (t,\frac{-at-c}b)和(x_0,y_0) (t,b?at?c?)和(x0?,y0?)都為點集 Q Q Q上的一點,所以證明了 n ⊥ L n\perp L n⊥L
同理將該方法推向多維依然適用,說了這么多終于可以證明 w w w為什么是超平面的法向量
點到直線的距離
針對超平面
w
T
x
+
b
=
0
w^Tx+b=0
wTx+b=0,由點到直線的距離可以推出,任意點到超平面的距離
d
d
d:
d
=
∣
w
T
x
+
b
∣
∣
∣
w
∣
∣
d=\frac{\vert w^Tx+b\vert}{\vert\vert w\vert\vert}
d=∣∣w∣∣∣wTx+b∣?
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/208758.html
標籤:其他
上一篇:零基礎學Docker【2】 | 一文帶你快速學習Docker常用命令
下一篇:原生JS輪播圖的知識點梳理
