摘要
本文给出点到超平面的距离公式,并进行了推导证明。该距离用于深度学习中感知机损失函数的计算,将误差点带入该距离即可计算该点与超平面间的损失距离。
符号说明
记
n
n
n维欧式空间下一点
M
0
:
x
0
=
(
x
0
(
1
)
,
x
0
(
2
)
,
x
0
(
3
)
,
.
.
.
,
x
0
(
n
)
)
M_0:x_0=(x^{(1)}_0,x^{(2)}_0,x^{(3)}_0, ...,x^{(n)}_0)
M0:x0=(x0(1),x0(2),x0(3),...,x0(n))
超平面
L
:
w
⋅
x
+
b
=
0
L:w\cdot x+b=0
L:w⋅x+b=0,其中
w
=
(
w
(
1
)
,
w
(
2
)
,
w
(
3
)
,
.
.
.
,
w
(
n
)
)
w=(w^{(1)},w^{(2)}, w^{(3)}, ...,w^{(n)})
w=(w(1),w(2),w(3),...,w(n)),
w
⋅
x
w\cdot x
w⋅x是二者的内积,
b
b
b为常数。
则点
M
0
M_0
M0到超平面
L
L
L的距离为
d
=
1
∣
∣
w
∣
∣
∣
w
⋅
x
0
+
b
∣
d=\displaystyle{\frac{1}{||w||}}|w\cdot x_0+b|
d=∣∣w∣∣1∣w⋅x0+b∣。下面给出简要推导。
证明
- 取超平面 L L L上的一点 M 1 : x 1 = ( x 1 ( 1 ) , x 1 ( 2 ) , x 1 ( 3 ) , . . . , x 1 ( n ) ) M_1:x_1=(x^{(1)}_1,x^{(2)}_1,x^{(3)}_1, ...,x^{(n)}_1) M1:x1=(x1(1),x1(2),x1(3),...,x1(n)),有 x 1 ⋅ w + b = 0 x_1\cdot w+b =0 x1⋅w+b=0
- 超平面 L L L的法向量为 w = ( w ( 1 ) , w ( 2 ) , w ( 3 ) , . . . , w ( n ) ) w=(w^{(1)},w^{(2)}, w^{(3)}, ...,w^{(n)}) w=(w(1),w(2),w(3),...,w(n))
-
d
=
∣
∣
M
0
M
1
→
∣
∣
c
o
s
(
M
0
M
1
→
,
w
)
=
∣
∣
M
0
M
1
→
∣
∣
∣
M
0
M
1
→
⋅
w
∣
∣
∣
M
0
M
1
→
∣
∣
∣
∣
w
∣
∣
=
∣
(
x
1
−
x
0
)
⋅
w
∣
∣
∣
w
∣
∣
=
∣
x
1
⋅
w
−
x
0
⋅
w
∣
∣
∣
w
∣
∣
=
∣
−
b
−
x
0
⋅
w
∣
∣
∣
w
∣
∣
=
1
∣
∣
w
∣
∣
∣
w
⋅
x
+
b
∣
\begin{aligned} d&=||\overrightarrow{M_0M_1}||cos(\overrightarrow{M_0M_1},w)=||\overrightarrow{M_0M_1}|| \displaystyle{\frac{\overrightarrow{|M_0M_1}\cdot w|}{||\overrightarrow{M_0M_1}||\space||w||}}\\ &=\displaystyle{\frac{|(x_1-x_0)\cdot w|}{||w||}}=\displaystyle{\frac{|x_1\cdot w-x_0\cdot w|}{||w||}}=\displaystyle{\frac{|-b-x_0\cdot w|}{||w||}} \\ &=\displaystyle{\frac{1}{||w||}}|w\cdot x+b| \end{aligned}
d=∣∣M0M1∣∣cos(M0M1,w)=∣∣M0M1∣∣∣∣M0M1∣∣ ∣∣w∣∣∣M0M1⋅w∣=∣∣w∣∣∣(x1−x0)⋅w∣=∣∣w∣∣∣x1⋅w−x0⋅w∣=∣∣w∣∣∣−b−x0⋅w∣=∣∣w∣∣1∣w⋅x+b∣
证明完毕。
该公式的使用参见我的博文 机器学习(2) 感知机原理及实现。