学习SVM绕不开超平面的概念。先复习一些基础的概念(平面方程),帮助理解。
1. 平面及其方程:
因为平面与空间直线分别是曲面与空间曲线的特例,所以在讨论平面与空间直线以前,先引入有关曲面方程与空间曲线方程的概念。
在空间解析几何中,任何曲面或曲线都可以看做点的集合轨迹,在这样的意义下,如果曲面S与三元方程: F(x, y, z) = 0 (1-1)
有下述关系:
(1)曲面S上任一点的坐标都满足方程(1-1)
(2)不在曲面S上的点的坐标都不满足方程(1-1)
那么,方程(1-1)就叫做曲面S的方程,而曲面S就叫做方程(1-1)的图形。
空间曲线可以看做两个曲面S1, S2的交线,设
F(x, y, z)= 0 和 G(x, y, z )= 0
分别是这两个曲面的方程,他们的交线为C。因为曲线C上的任何点的坐标应同时满足这两个曲面的方程,所以应满足方程组:
{
F
(
x
,
y
,
z
)
=
0
G
(
x
,
y
,
z
)
=
0
\left\{ \begin{array}{c} F(x, y, z)= 0\\ G(x, y, z )= 0 \end{array} \right.
{F(x,y,z)=0G(x,y,z)=0
2. 平面的方程
(1)点法式方程(1-2):
A
(
x
−
x
0
)
+
B
(
y
−
y
0
)
+
C
(
z
−
z
0
)
=
0
A(x-x_{0}) + B (y-y_{0}) + C( z-z_{0}) = 0
A(x−x0)+B(y−y0)+C(z−z0)=0
(2)一般方程(1-3):
A
x
+
B
y
+
C
z
+
D
=
0
Ax + By +Cz +D = 0
Ax+By+Cz+D=0
(3)截距式方程(1-4):
x
a
+
y
b
+
z
c
=
1
\frac{x}{a}+\frac{y}{b}+\frac{z}{c} =1
ax+by+cz=1
. 方程详解(1-2):
平面的法线向量: 如果一非零向量垂直于一平面,这个向量就叫做该平面的法线向量。
因为过空间一点可以作且只能做一平面垂直于一已知直线,所以当平面
π
\pi
π上一点
M
0
(
x
0
,
y
0
,
z
0
)
M_{0}(x_{0}, y_{0}, z_{0})
M0(x0,y0,z0) 和它的一个法线向量 n = (A, B, C) 为已知时,平面
π
\pi
π的位置就完全确定了。下面我们来建立平面
π
\pi
π的方程。
设 M(x, y, z)是平面
π
\pi
π上的任意一点,则向量
M
0
M
→
\overrightarrow {M_{0}M}
M0M必与平面
π
\pi
π的法向量
n
n
n 垂直,即它们的数量积等于0:
n
∙
M
0
M
→
=
0
n\bullet\overrightarrow {M_{0}M}=0
n∙M0M=0因为 n = (A, B, C),
M
0
M
→
=
(
x
−
x
0
,
y
−
y
0
,
z
−
z
0
)
\overrightarrow {M_{0}M} =(x-x_{0}, \ y-y_{0}, \ z-z_{0})
M0M=(x−x0, y−y0, z−z0)所以有:
A
(
x
−
x
0
)
+
B
(
y
−
y
0
)
+
C
(
z
−
z
0
)
=
0
A(x-x_{0}) + B (y-y_{0}) + C( z-z_{0}) = 0
A(x−x0)+B(y−y0)+C(z−z0)=0
. 方程详解(1-3):
因为平面的点法式方程(1-2)是 x, y 和 z 的一次方程,而任一平面都可以用它上面的一点及它的法线向量来确定,所以任意平面都可以用三元一次方程来表示。
设,有三元一次方程:
A
x
+
B
y
+
C
z
+
D
=
0
Ax + By +Cz +D = 0
Ax+By+Cz+D=0
我们任取满足该方程的一组数
(
x
0
,
y
0
,
z
0
)
(x_{0}, y_{0}, z_{0})
(x0,y0,z0),即方程(1-5)
A
x
0
+
B
y
0
+
C
z
0
+
D
=
0
Ax_{0} + By_{0} +Cz_{0} +D = 0
Ax0+By0+Cz0+D=0把上述两等式相减,得方程(1-3)
A
(
x
−
x
0
)
+
B
(
y
−
y
0
)
+
C
(
z
−
z
0
)
=
0
A(x-x_{0}) + B (y-y_{0}) + C( z-z_{0}) = 0
A(x−x0)+B(y−y0)+C(z−z0)=0把它和平面点法式方程(1-2)做比较 ,可以知道方程(1-3)是通过点
M
0
(
x
0
,
y
0
,
z
0
)
M_{0}(x_{0}, y_{0}, z_{0})
M0(x0,y0,z0) ,且以
n
=
(
A
,
B
,
C
)
n = (A, B, C)
n=(A,B,C)为法线向量的平面方程。 其中 x, y, z 的系数就是该平面的一个法线向量 n 的坐标。
. 方程详解(1-4):
设一平面与 x, y 和 z 轴的焦点一次为
P
(
a
,
0
,
0
)
,
Q
(
0
,
b
,
0
)
,
R
(
0
,
0
,
c
)
P(a, 0, 0), Q(0, b, 0), R(0, 0, c)
P(a,0,0),Q(0,b,0),R(0,0,c)三点,如下图:
设所求平面的方程为:
A
x
+
B
y
+
C
z
+
D
=
0
Ax + By +Cz +D = 0
Ax+By+Cz+D=0
因
P
(
a
,
0
,
0
)
,
Q
(
0
,
b
,
0
)
,
R
(
0
,
0
,
c
)
P(a, 0, 0), Q(0, b, 0), R(0, 0, c)
P(a,0,0),Q(0,b,0),R(0,0,c)三点都在这平面上,所以点
P
,
Q
和
R
P, Q和R
P,Q和R都满足以上平面方程,代入平面方程,即有:
{
a
A
+
D
=
0
b
B
+
D
=
0
c
C
+
D
=
0
\left\{ \begin{array}{c} aA + D = 0\\ bB + D = 0\\ cC + D = 0 \end{array} \right.
⎩⎨⎧aA+D=0bB+D=0cC+D=0 解得
A
=
−
D
a
,
B
=
−
D
b
,
C
=
−
D
c
A=-\frac{D}{a}, \qquad B=-\frac{D}{b}, \qquad C=-\frac{D}{c}
A=−aD,B=−bD,C=−cD以此代入方程(1-3)并除以
D
(
D
≠
0
)
D(D \ne0)
D(D̸=0) 而 a, b 和 c 依次叫做平面在 x, y 和 z 轴上的截距。
3.超平面
有了上面平面的理解,超平面就是一个数学概念了。 一维直线空间上的超平面是数轴上的一个点,二维平面空间上的超平面是一条线,三维空间里的超平面是一个面。以此类推。
百度百科上对超平面的数学定义是这样的:超平面H是从n维空间到n-1维空间的一个映射子空间,它有一个 n 维向量和一个实数定义。因为是子空间,所以超平面一定过原点。
4. 点到超平面的距离
设
P
0
(
x
0
,
y
0
,
z
0
)
P_{0}(x_{0}, \ y_{0}, \ z_{0})
P0(x0, y0, z0) 是平面
A
x
+
B
y
+
C
z
+
D
=
0
Ax + By +Cz +D = 0
Ax+By+Cz+D=0 外一点,求
P
0
P_{0}
P0 到这个平面的距离。
在平面上任取一点
P
1
(
x
1
,
y
1
,
z
1
)
P_{1}(x_{1}, \ y_{1}, \ z_{1})
P1(x1, y1, z1),并作一法线向量 n ,由上图,考虑到
P
0
P
1
→
\overrightarrow {P_{0}P_{1}}
P0P1 与 n 的夹角
θ
\theta
θ 也可能是钝角,所求的距离
d
=
∣
P
0
P
1
→
∣
∣
c
o
s
θ
∣
=
∣
P
0
P
1
→
∙
n
∣
∣
n
∣
d =|\overrightarrow {P_{0}P_{1}}||cos\theta|=\frac{|\overrightarrow {P_{0}P_{1}}\bullet n|}{|n|}
d=∣P0P1∣∣cosθ∣=∣n∣∣P0P1∙n∣而
n
=
(
A
,
B
,
C
)
,
P
0
P
1
→
=
(
x
0
−
x
1
,
y
0
−
y
1
,
z
0
−
z
1
)
n=(A,B,C),\qquad\overrightarrow {P_{0}P_{1}}=(x_{0}-x_{1}, \ y_{0}-y_{1}, \ z_{0}-z_{1})
n=(A,B,C),P0P1=(x0−x1, y0−y1, z0−z1) 得
P
0
P
1
→
∙
n
∣
n
∣
=
A
(
x
−
x
0
)
+
B
(
y
−
y
0
)
+
C
(
z
−
z
0
)
A
2
+
B
2
+
C
2
\frac{\overrightarrow {P_{0}P_{1}}\bullet n}{|n|}=\frac{A(x-x_{0}) + B (y-y_{0}) + C( z-z_{0})}{\sqrt{A^2+B^2+C^2}}
∣n∣P0P1∙n=A2+B2+C2A(x−x0)+B(y−y0)+C(z−z0)
=
A
x
0
+
B
y
0
+
C
z
0
−
(
A
x
1
+
B
y
1
+
C
z
1
)
A
2
+
B
2
+
C
2
\qquad\qquad\qquad=\frac{Ax_{0} + By_{0} + Cz_{0}-(Ax_{1} + By_{1} + Cz_{1})}{\sqrt{A^2+B^2+C^2}}
=A2+B2+C2Ax0+By0+Cz0−(Ax1+By1+Cz1)
因为
A
x
1
+
B
y
1
+
C
z
1
+
D
=
0
Ax_{1} + By_{1} + Cz_{1}+D = 0
Ax1+By1+Cz1+D=0,所以
P
0
P
1
→
∙
n
∣
n
∣
=
A
x
0
+
B
y
0
+
C
z
0
+
D
A
2
+
B
2
+
C
2
\frac{\overrightarrow {P_{0}P_{1}}\bullet n}{|n|}=\frac{Ax_{0} + By_{0} + Cz_{0}+D}{\sqrt{A^2+B^2+C^2}}
∣n∣P0P1∙n=A2+B2+C2Ax0+By0+Cz0+D
由此,得点
P
0
(
x
0
,
y
0
,
z
0
)
P_{0}(x_{0}, \ y_{0}, \ z_{0})
P0(x0, y0, z0) 到平面
A
x
+
B
y
+
C
z
+
D
=
0
Ax + By +Cz +D = 0
Ax+By+Cz+D=0 的距离公式:
d
=
∣
A
x
0
+
B
y
0
+
C
z
0
+
D
∣
A
2
+
B
2
+
C
2
d=\frac{|Ax_{0} + By_{0} + Cz_{0}+D|}{\sqrt{A^2+B^2+C^2}}
d=A2+B2+C2∣Ax0+By0+Cz0+D∣
其矢量表示方式如下:设矢量 w 为平面的法向量,标量 b 为平面到原点的截距,其中 w , x w, x w,x 均为列向量, 也可得超平面方程: f ( x ) = w T + b = 0 f(x)=w^T+b=0 f(x)=wT+b=0由此,点 x 到超平面的距离公式为 d = ∣ w T x + b ∣ ∣ ∣ w ∣ ∣ d=\frac{|w^Tx+b|}{||w||} d=∣∣w∣∣∣wTx+b∣
参考资料:同济版《高等数学》下册,