轉載出處:超平面是什麼?——理解超平面(SVM開篇之超平面詳解)
引入
n維空間的超平面由下面的方程確定:
其中,和都是n維列向量,爲平面上的點,爲平面上的法向量決定了超平面的方向,是一個實數,代表超平面到原點的距離。且
那麼爲什麼是法向量,爲什麼是表示平面到原點的距離呢?
平面的概念
我們對“平面”的理解,一般是在三維空間中的,即
這個平面有兩個定義:
- 方程式線性的,是由空間點的各分量的線性組合
- 方程的數量是 1
這個平面是建立在“三維”上的。如果我們撇開“維度”這個限制,那麼就有了超平面的定義。
超平面是純粹的數學概念,不是物理概念,它是平面中的直線、空間中的平面的推廣,只有當維度大於3,才稱爲“超”平面。
它的本質是自由度比空間維度小 1
何爲自由度?
自由度的概念可以簡單的理解爲至少要給定多少個分量的值才能確定一個點. 例如, 三維空間裏的(超)平面只要給定了(x,y,z)中任意兩個分量, 剩下的一個的值就確定了. 先確定值的兩個分量是自由的, 因爲它們想取什麼值就能取什麼值;剩下的那個是"不自由的", 因爲它的值已經由另外兩確定了. 二維空間裏的超平面爲一條直線. 一維空間裏超平面爲數軸上的一個點。
舉個栗子
通常,R2(二維空間)中的點集 滿足等式 (點集 實際爲一條直線):
(這裏使用1/b 是爲了後續計算好表示)
其中,均爲標量,至少有一個不爲0.我們假設 b 不爲0。那麼
此時,使用換元法,令 ,(顯然, 爲標量) 則點集 可以表示成
之前說點集是一條直線,那麼這條直線是什麼?實際上就是過點,方向爲 的直線 L。
更進一步,我們令向量
則(1)可以表示爲
此時,我們取在直線L上的一點,即子集 中的一個元素 , 可以得到
則(2)可以改寫爲
因爲 和 均是向量, 在直線 L 上, 所以, 垂直直線L ,即爲直線L的法向量
進一步解釋超平面
給定向量空間 Rn 中的一個點 P 和一個非零向量 ,滿足
則稱點集 i 爲通過點p 的超平面,向量 n 爲通過超平面的法向量
點到超平面的距離
樣本空間中的任意一點 x,到超平面 的距離,可以表示爲
證明也很簡單:
對於超平面A 假設 x‘ 爲超平面上任意一點,那麼,顯然滿足:
對於空間上任意一點 x, 到平面 A 的距離 d,等於 x 到超平面的法向量長度,也就是 向量 xx’ 在垂直方向上(即法向量)上的投影。而計算投影,將 xx’ 乘以法向量 即可。並且,我們不光要投影,還要計算單位,即使用單位爲 1 的投影。也就是在分母除以 。所以,距離 d 可以表示爲:
又因爲
所以距離爲
判斷超平面的正反
一個超平面可以將它所在的空間分爲兩半, 它的法向量指向的那一半對應的一面是它的正面, 另一面則是它的反面。如果利用數學來判斷的話,需要利用到法向量 。