背景
对于两类问题,给定数据,使用线性函数,如何分类?
方案1(只看黑色分界线,红色不用管)
方案2(只看黑色分界线,红色不用管)
哪一个更好?
第二个好,将两类数据分得更开,而且:
建模
有了目标之后,我们要对上面那个更好的分界面进行数学描述:即希望拥有更大的间隔。间隔就是红色区域的宽度。
数学描述:
分界面的直线设为:
样本点x到该分界面的距离为(使用点到直线距离公式):
该直线选得好不好?看间隔。
稍微解释一下,一般我们认为间隔是上面公式的两倍,即红色区域的宽度,但是我们的目标是间隔越大越好,其实也就是间隔的一半越大越好,所以我们没乘2也是可以的,不影响什么。
最后,算出了间隔之后,我们希望我们选的直线(由w,b
决定)间隔是最大的。即:
通俗的解释就是,我们先穷举一个w,b(定下一条直线),然后看下间隔,看大不大,不大就穷举下一个参数w,b,直到找到最大的那个间隔,此时返回对应的参数w,b。这样,就求解完成了。
远没有完成,我们忘记了约束。我们一心只管间隔最大,忘了测试间隔最大对应的那个直线能否分对我们的样本。
我们的所有点都预处理成
(
x
i
,
y
i
)
(x_i,y_i)
(xi,yi)的格式,其中
y
i
y_i
yi是标签,我们预处理成
+
1
+1
+1或者
−
1
-1
−1。一个代表正类,一个代表负类。因此,直线可以分对样本也就是:
合起来就是:
最终得到:
考虑将上述约束变成:
有人说,改成1,这怎么可以呢?答案是:可以的,而且在线性可分的情况下是等价的。
解释:我们先忽略掉上面两幅图的等于号,变成大于号,因为在完全线性可分的情况下,两类样本在直线的两侧,不会在直线上,所以不会为0,不取等号。
然后假设上上幅图选出来的最佳参数是w,b,且
y
i
(
w
x
i
+
b
)
=
m
>
0
y_i(wx_i+b)=m>0
yi(wxi+b)=m>0,那么我们可以找一个比较大的正数k
,令W=kw,B=kb
,然后可以证明这个是上幅图的最优解。
证明很简单
第一,系数乘以一个倍数,内层公式的结果不受系数倍数影响,分子分母会约掉,所以原来是最大间隔,现在还是最大间隔。
第二,由于我们乘了一个比较大的系数,从而有
y
i
(
W
x
i
+
B
)
=
k
m
>
1
y_i(Wx_i+B)=km>1
yi(Wxi+B)=km>1,满足上幅图的第二个约束。
结论:上上幅图的约束转化为上幅图的约束后,分别求出来的最优直线关系密切,它们所对应的直线是同一条(考虑
x
+
2
=
0
,
2
x
+
4
=
0
x+2=0,2x+4=0
x+2=0,2x+4=0,间隔没有变大。但是乘了倍数的后者却可以使得
也即:
那么我们以后就只用第二个形式了。
继续向前推导,我们有
现在精彩的时候到了,如果我们让
∣
∣
w
∣
∣
||w||
∣∣w∣∣特别小,那么上面等式的右边就会特别大,从而对于任意的样本带入,左边都会特别大,在所有这么大的当中选一个最小的,也就是间隔,自然也会变得非常大。基于这个思想,我们又改了目标函数。