支持向量机(support vector machine)(SVM)

背景

对于两类问题,给定数据,使用线性函数,如何分类?
支持向量机(support vector machine)(SVM)
方案1(只看黑色分界线,红色不用管)
支持向量机(support vector machine)(SVM)
方案2(只看黑色分界线,红色不用管)
支持向量机(support vector machine)(SVM)
哪一个更好?
第二个好,将两类数据分得更开,而且:
支持向量机(support vector machine)(SVM)

建模

有了目标之后,我们要对上面那个更好的分界面进行数学描述:即希望拥有更大的间隔。间隔就是红色区域的宽度。
数学描述:
分界面的直线设为:
支持向量机(support vector machine)(SVM)
样本点x到该分界面的距离为(使用点到直线距离公式):
支持向量机(support vector machine)(SVM)
该直线选得好不好?看间隔。
支持向量机(support vector machine)(SVM)
稍微解释一下,一般我们认为间隔是上面公式的两倍,即红色区域的宽度,但是我们的目标是间隔越大越好,其实也就是间隔的一半越大越好,所以我们没乘2也是可以的,不影响什么。

最后,算出了间隔之后,我们希望我们选的直线(由w,b决定)间隔是最大的。即:
支持向量机(support vector machine)(SVM)
通俗的解释就是,我们先穷举一个w,b(定下一条直线),然后看下间隔,看大不大,不大就穷举下一个参数w,b,直到找到最大的那个间隔,此时返回对应的参数w,b。这样,就求解完成了。
支持向量机(support vector machine)(SVM)
远没有完成,我们忘记了约束。我们一心只管间隔最大,忘了测试间隔最大对应的那个直线能否分对我们的样本。
我们的所有点都预处理成 ( x i , y i ) (x_i,y_i) (xi​,yi​)的格式,其中 y i y_i yi​是标签,我们预处理成 + 1 +1 +1或者 − 1 -1 −1。一个代表正类,一个代表负类。因此,直线可以分对样本也就是:
支持向量机(support vector machine)(SVM)
合起来就是:
支持向量机(support vector machine)(SVM)
最终得到:
支持向量机(support vector machine)(SVM)
考虑将上述约束变成:
支持向量机(support vector machine)(SVM)

有人说,改成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,然后可以证明这个是上幅图的最优解。
证明很简单
第一,系数乘以一个倍数,内层公式的结果不受系数倍数影响,分子分母会约掉,所以原来是最大间隔,现在还是最大间隔。
支持向量机(support vector machine)(SVM)
第二,由于我们乘了一个比较大的系数,从而有 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,间隔没有变大。但是乘了倍数的后者却可以使得
支持向量机(support vector machine)(SVM)
也即:
支持向量机(support vector machine)(SVM)
那么我们以后就只用第二个形式了。
支持向量机(support vector machine)(SVM)
支持向量机(support vector machine)(SVM)

继续向前推导,我们有
支持向量机(support vector machine)(SVM)
现在精彩的时候到了,如果我们让 ∣ ∣ w ∣ ∣ ||w|| ∣∣w∣∣特别小,那么上面等式的右边就会特别大,从而对于任意的样本带入,左边都会特别大,在所有这么大的当中选一个最小的,也就是间隔,自然也会变得非常大。基于这个思想,我们又改了目标函数。
支持向量机(support vector machine)(SVM)

上一篇:1、请简要介绍下SVM。


下一篇:令人头秃的支持向量机SVM(一)SVM分类