定義:$n$ 維線性空間中維度為 $n - 1$ 的子空間,它可以把線性空間分割為不相交的兩部分。
這里的 $n$ 必須大於 $3$,其子空間才能稱之為超平面。
更直觀得來理解超平面:超平面其實就是平面中的直線、空間中的平面之推廣。在三維坐標系里,$XoY$ 平面把三維坐標系”分割”成
兩個空間,這個分割平面引申到一維,二維,四維空間…來,他就是一個超平面。一維里是一個點分割空間,二維里是條線,三維剛好是
個平面,四維的用幾何已經無法表示了,但是我們賦予這個分割的東西為超平面,就比較形象了。
超平面方程推導:
1)平面直線方程
對於平面上的任意一條直線,它的一般方程為:
$$ax + by + c = 0$$
從向量角度來看,一般方程可以寫成如下形式
$$\begin{bmatrix}
a & b
\end{bmatrix}
\begin{bmatrix}
x \\
y
\end{bmatrix} + c = 0$$
可以發現:直線其實就是一個常向量和另一個變化的向量的內積為定值 $c$。
其中 $x,y$ 代表直線上任意一點的坐標,所以 $(x,y)^{T}$ 表示從原點出發到直線上任意一點的射線構成的向量。
那向量 $(a,b)^{T}$ 是啥呢?看個圖:
我們知道向量內積表示:一個向量乘以另一個向量在該向量上的正交投影。如果不懂可先去閱讀博客。
那能否找到一個向量,這個向量必須滿足:向量 $(x,y)^{T}$ 在它上面的投影都一樣。這樣才能保證內積為定值。
這樣的向量只有一個,那便是直線 $l$ 的法向量 $l^{'}$。所以常向量 $(a,b)^{T}$ 就是直線的法向量。
不同的法向量 $(a,b)^{T}$ 或者不同的定值 $c$ 就意味着不同的直線方程。
注意:上面的直線方程都是化成最簡的形式,即兩邊系數不可再約,不然兩邊同時乘上一個數,雖然法向量和定值變了,
但表示的直線卻沒變,所以只在最簡形式法向量和定值才與直線一一對應。
2)空間平面方程
對於空間上的任意一個平面,它的一般方程為:
$$ax + by + cz + d = 0$$
從向量角度來看,一般方程可以寫成如下形式
$$\begin{bmatrix}
a & b & c
\end{bmatrix}
\begin{bmatrix}
x \\
y \\
z
\end{bmatrix} + d = 0$$
和平面直線類似,上面這個方程可以理解為:一個常向量和另一個變化的向量的內積為定值 $d$。
其中常向量為這個平面的法向量,變化的向量為原點到平面上任意一點的射線構成的向量。
3)引申到超平面
一個超平面的法向量:意味着它要垂直於該超平面內的任一個向量。
對於 $4$ 維空間來說,它的超平面就是一個 $3$ 維空間,很難想象會存在一個向量,它垂直於三維空間中的任一個向量。
我們沒辦法想象到三維以上的空間長啥樣,但數學是純粹邏輯上的東西,高維空間在邏輯上是存在的。
設 $n$ 維空間中的一個超平面的法向量為 $w = (w_{1},w_{2},...,w_{n})^{T}$,原點到該超平面上任意一點的向量為 $x^{T} = (x_{1},x_{2},..,x_{n})$。
由直線方程、平面方程進行推廣,可知超平面方程為
$$w^{T}x + b = 0$$
點到超平面的距離推導:
1)點到平面直線的距離公式
任一點 $(x_{0},y_{0})$ 到直線 $ax+by+c = 0$ 的距離公式為
$$d = \frac{|ax_{0} + by_{0} + c|}{\sqrt{a^{2} + b^{2}}}$$
如下示意圖:
在直線上任取一點 $(x,y)$,考慮向量
$$(x-x_{0},y-y_{0})^{T}$$
圖中的 $d$ 就是我們所要求的點到直線的距離,向量點積代表:一個向量乘以另一個向量在該向量上的正交投影。
而 $d$ 顯然就是向量 $(x-x_{0},y-y_{0})^{T}$ 在法線向量上的投影的絕對值。所以
$$\begin{bmatrix}
a & b
\end{bmatrix}
\begin{bmatrix}
x-x_{0} \\
y-y_{0}
\end{bmatrix} = \pm \sqrt{a^{2}+b^{2}} \cdot d$$
繼續轉化
$$\begin{bmatrix}
a & b
\end{bmatrix}
\begin{bmatrix}
x \\
y
\end{bmatrix} -
\begin{bmatrix}
a & b
\end{bmatrix}
\begin{bmatrix}
x_{0} \\
y_{0}
\end{bmatrix} =
-c -
\begin{bmatrix}
a & b
\end{bmatrix}
\begin{bmatrix}
x_{0} \\
y_{0}
\end{bmatrix} =
\pm \sqrt{a^{2}+b^{2}} \cdot d$$
所以距離 $d$ 為
$$d = \frac{| \begin{bmatrix}
a & b
\end{bmatrix}
\begin{bmatrix}
x_{0} \\
y_{0}
\end{bmatrix} + c\;|}{\sqrt{a^{2}+b^{2}}}$$
2)點到空間平面的距離公式
我們按照上面的思路也可以列出方程:
$$\begin{bmatrix}
a & b & c
\end{bmatrix}
\begin{bmatrix}
x-x_{0} \\
y-y_{0} \\
z-z_{0}
\end{bmatrix} = \pm \sqrt{a^{2}+b^{2}+c^{2}} \cdot d$$
所以距離 $d$ 為
$$d = \frac{| \begin{bmatrix}
a & b & c
\end{bmatrix}
\begin{bmatrix}
x_{0} \\
y_{0} \\
z_{0}
\end{bmatrix} + d\;|}{\sqrt{a^{2}+b^{2}+c^{2}}}$$
3)引申到超平面
已知超平面方程為 $w^{T}x + b = 0$。
類比於點到直線和平面的距離公式,有
$$d = \frac{| w \cdot x_{i} + d\;|}{||w||_{2}}$$
向量 $w$ 的 $L_{2}$ 范數就是向量的模,$\hat{x}$ 表示具體的某一個點,$d$ 就是該點到超平面的距離。
注:$x_{i}$ 表示某個具體向量,而不是表示坐標分量,它的坐標分量用另一種記法,即
$$x_{i} = (x^{(1)},x^{(2)},...,x^{(n)})^{T}$$
判斷超平面的正反
一個超平面可以將它所在的空間分為兩半, 它的法向量指向的那一半對應的一面是它的正面, 另一面則是它的反面。
那如何判斷一個點位於超平面內,還是超平面的正面,或者反面呢?
點 $x$ 在超平面上有
$$w^{T}x + b = 0$$
若點 $x$ 在超平面的正面,考慮到 $wx$ 其實就是向量 $w$ 的模(為正)乘上 $x$ 在它上面的投影(可正可負),考慮函數
$$y = ax,a > 0$$
上式是一個遞增函數,所以當 $x$ 往正方向移動時,$y$ 是變大的,所以若點 $x$ 在超平面的正面,有
$$w^{T}x + b > 0$$
若點 $x$ 在超平面的反面,有
$$w^{T}x + b < 0$$
若將距離公式中分子的絕對值去掉, 讓它可以為正為負. 那么, 它的值正得越大, 代表點在平面的正向且與平面的距離越遠。
反之, 它的值負得越大, 代表點在平面的反向且與平面的距離越遠。