我们直接给出函数间隔和几何间隔的形式再从形式上针对性分析。
函数间隔:
d
′
=
y
(
ω
T
x
+
b
)
几何间隔:
d
=
y
(
ω
T
x
+
b
)
∣
∣
ω
∣
∣
2
=
d
′
∣
∣
ω
∣
∣
2
函数间隔:d' =y(\omega^T x + b) \\ 几何间隔:d = \frac{y(\omega^T x + b)}{||\omega||_2} = \frac{d'}{||\omega||_2}
函数间隔:d′=y(ωTx+b)几何间隔:d=∣∣ω∣∣2y(ωTx+b)=∣∣ω∣∣2d′
我们不妨顺便提出两个问题:
-
函数间隔的几何意义是什么?这个式子是如何推导出来的?
-
为什么说函数间隔不能正确反应点到超平面的距离?
首先我们很清楚 ω T x + b \omega^T x + b ωTx+b算出来的只是一个有符号数值,可以用于对点的分类。如果值为正,则代表点处于超平面法向量的同侧位,为负则相反。为了方便分类,我们添加一个因子y,这样可以保证:
当分类正确时两个因子是同号的结果是正数,而分类错误时两个因子是异号的,结果是负数。
同时从数值上 d ′ d' d′也可以一定程度体现点到超平面的距离,但是这个距离并不是一个实际的距离,是一个基于函数间隔定义上的距离,没有什么几何意义,同时这个距离在 ω , b \omega,b ω,b固定时可以进行比较,数值越大表示离平面越远。
法向量是一个向量,代表指向的作用而缺少大小的作用,即一个平面的法向量可以有无数个,这就意味着如果我们对法向量和偏量进行放缩如:
ω → k ω ; b → k b \omega \rightarrow k \omega ; b\rightarrow kb ω→kω;b→kb
对应的超平面的一般式也会改变,这就意味着当超平面和误分类点是固定的时候,放缩参数,计算出的函数间隔是会改变的:
d = y ( k ( ω T x ) + k b ) = k y ( ω T x + b ) = k d o l d d = y(k(\omega^Tx)+kb)=ky(\omega^T x + b)=kd_{old} d=y(k(ωTx)+kb)=ky(ωTx+b)=kdold
因为函数间隔的数值大小并无法度量距离,从这个角度,在数值大小上函数间隔并不合适作为一个度量来衡量误分类点到超平面的距离。 对于几何间隔来说,显然对超平面参数进行k倍放缩,对应的分母也会放缩k倍,最终几何间隔计算出的数值可以清晰的体现误分类点到超平面的距离。同时可以直接从数值上对是否得到正确分类进行判断,同时数值大小也可以用于清晰比较。
d = k y ( ω T x + b ) ∣ ∣ k ω ∣ ∣ 2 = k y ( ω T x + b ) k 2 ∑ i = 1 n ω i 2 = k y ( ω T x + b ) k ∑ i = 1 n ω i 2 = y ( ω T x + b ) ∣ ∣ ω ∣ ∣ 2 d = \frac{ky(\omega^T x + b)}{||k \omega||_2}\\ =\frac{ky(\omega^T x + b)}{\sqrt{k^2 \sum_{i=1}^n \omega_i^2}}\\ =\frac{ky(\omega^T x + b)}{k \sqrt{\sum_{i=1}^n \omega_i^2}}\\ =\frac{y(\omega^T x + b)}{|| \omega||_2} d=∣∣kω∣∣2ky(ωTx+b)=k2∑i=1nωi2ky(ωTx+b)=k∑i=1nωi2ky(ωTx+b)=∣∣ω∣∣2y(ωTx+b)