SVM筆記1:SVM中超平面的理解!

一、什麼是超平面

以上是三維爲例子。 通過查閱資料對超平面有了一定的認識, n 維空間中的超平面由下面的方程確定:

                                                                                             \large w ^ { T } x + b = 0

其中,\large w 和 \large x 都是 \large n 維列向量,\large x 爲平面上的點,\large w 爲平面上的法向量,決定了超平面的方向,\large b 是一個實數,代表超平面到原點的距離。並且有:

                                                                                 \large \begin{array} { l } { x = \left( x _ { 1 } , x _ { 2 } , \ldots , x _ { d } \right) ^ { T } } \\\\ { w = \left( w _ { 1 } , w _ { 2 } , \dots , w _ { d } \right) ^ { T } } \end{array}

那麼,w 爲什麼是法向量呢?b 爲什麼表示平面到原點的距離呢?下面給出詳細解釋: 我們對“平面”概念的理解,一般是定義在三維空間中的,即

                                                                               \large A x + B y + C z + D = 0

這個平面由兩個性質定義:

  • 方程是線性的,是由空間點的各分量的線性組合。
  • 方程數量是1。這個平面是建立在“三維”上的。如果我們撇開“維度”這個限制,那麼就有了超平面的定義。

實際上,超平面是純粹的數學概念,不是物理概念,它是平面中的直線、空間中的平面的推廣,只有當維度大於3,才稱爲“超平面”。它的本質是自由度比空間維度小1。自由度的概念可以簡單的理解爲至少要給定多少個分量的值才能確定一個點. 例如, 三維空間裏的(超)平面只要給定了 (x,y,z) 中任意兩個分量, 剩下的一個的值就確定了. 先確定值的兩個分量是自由的, 因爲它們想取什麼值就能取什麼值;剩下的那個是"不自由的", 因爲它的值已經由另外兩確定了. 二維空間裏的超平面爲一條直線. 一維空間裏超平面爲數軸上的一個點。

在李航老師的《 統計學習方法》一書給出如下說明:

其中 \large w 和 \large x 都是 D 維列向量 x=(x1,x2,,,, x^D)^T 爲平面上的點 w=(w1,w2,,,,w^D)^T 爲平面的法向量。b 是一個實數,代表平面與原點之間的距離。 所以顯而易見: 二維平面就是 \large (\left.W_{1}, W_{2}\right)\left(X_{1}, X_{2}\right)^{T}+b=0   即 \large W_{1} X_{1}+W_{2} X_{2}+b=0 (直線方程!) 

二、點到超平面的距離

樣本空間中的任意一點 \large x,到超平面 \large (w, b) 的距離,可以表示爲

                                                                                               \large \frac { \left| w ^ { T } x + b \right| } { \| w \| }

點到超平面上的點爲什麼這麼計算呢?我在這裏再具體說一下。推導過程並不繁瑣(這裏以三維空間爲例), 點到平面的距離公式(可以作爲類比):

                                                                            \large d = \frac { \left| A x _ { 0 } + B y _ { 0 } + C z _ { 0 } + D \right| } { \sqrt { A ^ { 2 } + B ^ { 2 } + C ^ { 2 } } }

 注意:上面利用了向量內積的等價替換,例如下面2個向量做內積。

                                                     \large \vec { a } \cdot \vec { b } = \left\{ a _ { 1 } b _ { 1 } + a _ { 2 } b _ { 2 } + a _ { 3 } b _ { 3 } + \ldots + a _ { n } b _ { n } \right\} = | \vec { a } | | \vec { b } | \cos \theta

三、判斷超平面的正反

一個超平面可以將它所在的空間分爲兩半, 它的法向量指向的那一半對應的一面是它的正面, 另一面則是它的反面。如果利用數學來判斷的話,需要利用到法向量 \large w

 若將距離公式中分子的絕對值去掉, 讓它可以爲正爲負. 那麼, 它的值正得越大, 代表點在平面的正向且與平面的距離越遠. 反之, 它的值負得越大, 代表點在平面的反向且與平面的距離越遠。

  • 下一講:
  1. SVM筆記2:硬間隔手寫詳細推導
  2. SVM筆記3:軟間隔手寫詳細推導
  3. SVM筆記4:Support Vector Domain Description(SVDD)支持向量數據域描述
  4. SVM筆記:Support Vector Machine

參考文獻

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章