假设有点 x 0 = ( x 0 1 , x 0 2 , . . . x 0 m ) x_0 = (x_0^1,x_0^2,...x_0^m) x0=(x01,x02,...x0m)不在超平面 y = w x ∗ b y=wx*b y=wx∗b上,其中 w = ( w 1 , w 2 , . . . w m ) w = (w^1,w^2,...w^m) w=(w1,w2,...wm),求 x 0 x_0 x0到 y = w x ∗ b y=wx*b y=wx∗b的距离。
步骤一:证明
w
w
w为超平面
y
=
w
x
+
b
y=wx+b
y=wx+b的法向量。
在超平面上取两个点
x
1
,
x
2
x_1,x_2
x1,x2,则有
w
x
1
+
b
=
0
wx_1+b = 0
wx1+b=0
w
x
2
+
b
=
0
wx_2+b = 0
wx2+b=0
w
x
1
+
b
−
(
w
x
2
+
b
)
=
0
wx_1+b-(wx_2+b) =0
wx1+b−(wx2+b)=0
w
x
1
−
w
x
2
=
0
wx_1-wx_2=0
wx1−wx2=0
w
(
x
1
−
x
2
)
=
0
w(x_1-x_2)=0
w(x1−x2)=0
其中
x
1
−
x
2
x_1-x_2
x1−x2为位于超平面上的向量
x
2
x
1
⃗
\vec{x_2x_1}
x2x1
w
w
w与
x
1
−
x
2
x_1-x_2
x1−x2内积为0, 由此得
w
w
w与超平面
y
=
w
x
+
b
y=wx+b
y=wx+b正交。
步骤二:在 y = w x + b y=wx+b y=wx+b上取点 x 0 x_0 x0的映射 x 3 x_3 x3,
- x 3 x_3 x3位于法平面上,故而 w x 3 + b = 0 wx_3+b=0 wx3+b=0。
-
x
0
x
3
⃗
\vec{x_0 x_3}
x0x3平行于超平面上的法向量
w
w
w,故而有:
∣ w x 0 x 3 ⃗ ∣ = ∣ w ∣ ∣ x 0 x 3 ∣ c o s θ \lvert w \vec{x_0x_3}\rvert = \lvert w \rvert \lvert{x_0x_3}\rvert cos \theta ∣wx0x3∣=∣w∣∣x0x3∣cosθ
= ∣ w ∣ ∣ x 0 x 3 ∣ = ∣ ∣ w ∣ ∣ d ( d 为 x 0 到超平面的距离 , ∣ ∣ w ∣ ∣ 为 L 2 范数) = \lvert w \rvert \lvert{x_0x_3}\rvert = \rvert\vert w\vert\lvert d (d为x_0到超平面的距离, \rvert\vert w\vert\lvert 为L_2范数) =∣w∣∣x0x3∣=∣∣w∣∣d(d为x0到超平面的距离,∣∣w∣∣为L2范数)
又 ∣ w . x 0 x 3 ⃗ ∣ = ∣ w . ( x 3 − x 0 ) ∣ \rvert w . \vec {x_0 x_3}\rvert = \rvert w. (x_3-x_0)\rvert ∣w.x0x3∣=∣w.(x3−x0)∣
= ∣ w . x 3 − w . x 0 ∣ =\rvert w.x_3 - w.x_0\rvert =∣w.x3−w.x0∣
= ∣ − ( b + w . x 0 ) ∣ =\rvert -(b+w.x_0)\rvert =∣−(b+w.x0)∣
= ∣ b + w . x 0 ∣ =\rvert b+w.x_0\rvert =∣b+w.x0∣
所以得到 ∣ ∣ w ∣ ∣ d = ∣ b + w . x 0 ∣ \rvert\vert w\vert\lvert d=\rvert b+w.x_0\rvert ∣∣w∣∣d=∣b+w.x0∣
d = ∣ b + w . x 0 ∣ ∣ ∣ w ∣ ∣ d=\frac{\lvert b+w.x_0\lvert}{\rvert\vert w\vert\lvert} d=∣∣w∣∣∣b+w.x0∣