在之前的PLA分类中,实际上可行的解(线)是有很多种的,但是有的线不太好,如图第一行第一幅图所示,如果这条线很靠近某个(红色)的点时候,那么容错率较低,这里每个点的灰色圆表示的是,给它一个位置上的扰动即可能存在的位置,这样的话,显然图第一行的最后一幅图所给的线是比较好的(从这个角度上看)
注意到,灰色圆的半径最够大,实际上等价于这条线越“胖”,如图第二行所示。上面说的是SVM的基本思想。
由刚才的思想我们知道,实际上我们就是要最优化线的厚度即
maxw{margin(w)}
m
a
x
w
{
m
a
r
g
i
n
(
w
)
}
,其中需要保证分类正确,即
ynwTxn>0
y
n
w
T
x
n
>
0
,根据我们朴素的思想我们知道,我们这里的
margin(w)
m
a
r
g
i
n
(
w
)
,实际上就是
minn=1,2...,Ndistance(xn,w)
m
i
n
n
=
1
,
2...
,
N
d
i
s
t
a
n
c
e
(
x
n
,
w
)
,即所有到这条线的最短距离,这是很好理解的。
由欧式空间中点到直线的距离我们有:
为了简单起见(即想办法去掉绝对值)由正确分类条件 ynwTxn>0 y n w T x n > 0 ,以及 yn y n 实际上是正负一(对值大小没有影响),我们可以重新定义一个距离,即
这样的话我们就能去掉绝对值,这对后面的讨论是很有帮助的。
接下来这一步,有种等价类划分的思想,和平常遇到的齐次性不妨设问题是类似的。
为了进一步简化最优化问题,我们考虑到实际上对于一条直线
wTx+b=0
w
T
x
+
b
=
0
,两边同时乘上一个系数是不影响直线的表达的,但是这不是重点。我们来看现在的最优化问题中的
margin
m
a
r
g
i
n
,对于任意的
k∈R
k
∈
R
都是一个意思,其中的 k k 实际上是可以约去的,我们令, kb=b′ k b = b ′ ,那么有
这说明 (w,b) ( w , b ) 将这些线划分了等价类,我们只需要从每个等价类中知道一条合适的线(即 k k )来简化运算即可,反正都是等价的。既然如此,我们不妨每次取使得 minnyn(kwTxn+kb)=1 m i n n y n ( k w T x n + k b ) = 1 就好了,这样的 k∈R k ∈ R 必然是存在的,至此问题得到了进一步的化简,
但是这个化简比不好算(表达),所以我们实际上可以将条件替换成“弱”一点的条件:
即
根据我们的最优化目标是 min{wTw} m i n { w T w } ,假设我们有最优解 (b,w) ( b , w ) ,且 yn(wTxn+b)>1 y n ( w T x n + b ) > 1 ,不妨设等于1.126,那么此时我们构造 (b/1.126,w/1.126) ( b / 1.126 , w / 1.126 ) ,可以看到这个解比最优解还要优,这说明,在最优化目标的条件下,会迫使最优解 (b,w) ( b , w ) 满足 yn(wTxn+b)=1 y n ( w T x n + b ) = 1 ,即新的约束条件 yn(wTxn+b)≥1 y n ( w T x n + b ) ≥ 1 和 minnyn(wTxn+b)=1 m i n n y n ( w T x n + b ) = 1 实际上是等价的。
幸运的是此时的SVM问题,恰好是一个二次规划问题(QP问题),所以我们可以如图所示的套入二次规划问题即可求解出我们所需要的
(b,w)
(
b
,
w
)
。