点到超平面距离的推导公式如下:
r
=
∣
w
T
x
+
b
∣
∣
∣
w
∣
∣
r=\frac{|w^Tx+b|}{||w||}
r=∣∣w∣∣∣wTx+b∣
其中:根据超平面的定义:r是点到超平面的距离,
w
w
w是超平面的法向量,b是偏置项。
下面是推导过程,如下图所示:
其中L是超平面,满足超平面方程:
w
T
x
+
b
=
0
w^Tx+b=0
wTx+b=0,
x
1
x_1
x1是空间中一点,作
x
1
x_1
x1与超平的的垂直线,交超平面于点
x
0
x_0
x0,于是r就是点
x
1
x_1
x1到超平面的距离。
根据向量点乘的定义,我们有下面的公式:
∣
w
T
⋅
(
x
0
x
1
)
⃗
∣
=
∣
∣
w
∣
∣
∗
∣
r
∣
∗
∣
c
o
s
θ
∣
|w^T\cdot \vec{\left( x_0x_1\right)}|=||w||*|r|*|cos\theta|
∣wT⋅(x0x1)∣=∣∣w∣∣∗∣r∣∗∣cosθ∣
其中,
θ
\theta
θ为向量
x
0
x
1
x_0x_1
x0x1于向量w的夹角,由于这两个向量平行,所以
∣
c
o
s
θ
∣
|cos\theta|
∣cosθ∣=1,由于r代表点到直线的距离,所以|r|=r。原式可以写成:
∣
w
T
⋅
(
x
0
x
1
)
⃗
∣
=
∣
∣
w
∣
∣
∗
r
(
1
)
|w^T\cdot \vec{\left( x_0x_1\right)}|=||w||*r\qquad \qquad(1)
∣wT⋅(x0x1)∣=∣∣w∣∣∗r(1)
另外
∣
w
T
⋅
(
x
0
x
1
)
⃗
∣
|w^T\cdot \vec{\left( x_0x_1\right)}|
∣wT⋅(x0x1)∣,其中
w
T
w^T
wT是n为向量,
(
x
0
x
1
)
⃗
\vec{\left( x_0x_1\right)}
(x0x1)也是n维的,根据多维向量相乘得到:
∣
w
T
⋅
(
x
0
x
1
)
⃗
∣
=
∣
w
T
⋅
(
x
1
−
x
0
)
∣
=
w
1
x
1
1
+
w
2
x
1
2
+
.
.
.
w
n
x
1
n
−
w
1
x
0
1
−
w
2
x
0
2
.
.
.
x
n
x
0
n
∣
|w^T\cdot\vec{\left( x_0x_1\right)}| = |w^T\cdot(x_1-x_0)|=w_1x_1^1+w_2x_1^2+...w_nx_1^n-w_1x_0^1-w_2x_0^2...x_nx_0^n|
∣wT⋅(x0x1)∣=∣wT⋅(x1−x0)∣=w1x11+w2x12+...wnx1n−w1x01−w2x02...xnx0n∣
将式子整理一下得到:
∣
w
T
⋅
(
x
0
x
1
)
⃗
∣
=
∣
w
T
⋅
x
1
−
w
T
⋅
x
0
∣
(
2
)
|w^T\cdot\vec{\left( x_0x_1\right)}| = |w^T\cdot x_1 - w^T\cdot x_0 | \qquad \qquad(2)
∣wT⋅(x0x1)∣=∣wT⋅x1−wT⋅x0∣(2)
由于
x
0
x_0
x0在超平面上,满足超平面方程
w
T
x
0
+
b
=
0
w^Tx_0+b=0
wTx0+b=0,所以
w
T
x
0
=
−
b
w^Tx_0=-b
wTx0=−b,带入(2)式得到:
∣
w
T
⋅
(
x
0
x
1
)
⃗
∣
=
∣
w
T
⋅
x
1
+
b
∣
|w^T\cdot\vec{\left( x_0x_1\right)}| = |w^T\cdot x_1+b|
∣wT⋅(x0x1)∣=∣wT⋅x1+b∣
根据(1)式与(2)式,得到:
∣
∣
w
∣
∣
∗
r
=
∣
w
T
⋅
x
1
+
b
∣
||w||*r=|w^T\cdot x_1+b|
∣∣w∣∣∗r=∣wT⋅x1+b∣
所以:
r
=
∣
w
T
⋅
x
1
+
b
∣
∣
∣
w
∣
∣
r=\frac{|w^T\cdot x_1+b|}{||w||}
r=∣∣w∣∣∣wT⋅x1+b∣
将
x
1
换
成
x
x_1换成x
x1换成x命题得证。
西瓜书支持向量机(SVM)---点到超平面的距离的推导
最新推荐文章于 2024-01-03 19:13:04 发布