#支持向量机(SVM)与其理论发展(1)

来源:互联网 发布:mac air使用教程视频 编辑:程序博客网 时间:2024/05/16 09:55

支持向量机(SVM)与其理论发展(1)

写作原因:
接触到支持向量机理论推导的一些问题,去查看了一下资料发现其中的内容并不简单,于是希望能在这里整理一下自己学习的内容,力求在数学上完善。自编自写,错误难免,欢迎交流~

0.简介

支持向量机(support vector machines)是一种有名的二分类模型,在简单的感知机的基础上,支持向量机要求所谓间隔最大,再进一步加上核技巧,这使得它进一步变为非线性分类器。
支持向量机的学习策略就是“间隔”的最大化,经过数学变形可以化为一个凸二次线性规划的求解问题。

一.起点:线性可分支持向量机

1.notation

  • 给定的训练集T={(x1,y1),(x2,y2),(x3,y3),,(xN,yN)}, 其中xiRn,yi{1,+1}, i=1,2,,N。即赋予正负两类的数据。
  • wx+b=0    :给定超平面,(w,b)分别是其法向量和截距。
  • 函数间隔γi^=yi(wxi+b)
  • 几何间隔γi=yi(wxi+b)w=γi^/w。容易知道几何间隔,在点被正确分类的时候,就是数据点到超平面的距离,否则是距离的负数。

2.间隔最大化

(1)优化问题的数学表式

支持向量机的想法是,对于线性可分的数据集,希望分割的超平面距离样本点的最短距离尽可能的大,也就是
maxw,b    γ
s.t.       yi(wxi+b)/wγ,  i=1,2,...,N
(称之为原优化问题)
或者说
maxw,b     γ^/w
s.t.       yi(wxi+b)γ^,  i=1,2,...,N
我们注意到,(w,b)(αw,αb),α>0 实际上的同样一个超平面(分类方法),也有相同的几何距离。首先考虑w=0的情况,此时实际上这时候的超平面0=0x+b不可能分割出两种数据,因此这不属于我们所考虑的可行域,在此后的文中都默认w0使得一些表达式有意义。此后,由于按比例的变化不带来距离的改变,所以我们不妨对每一个(w,b),通过比例变化使得γ^最大值为+1或者-1而不改变对应的几何距离。显然,那些为-1的约束实际上导致错误分类,γ被限制取得负数,在线性可分的情况下一定不是最优的方案。以上的论述主要是想导出形式:
考虑如下的优化
maxw,b     1/w
s.t.       yi(wxi+b)1,  i=1,2,...,N
不难发现,约束条件直接不允许w=0,否则由于线性可分会产生矛盾,从而不在可行域内。
接下来我们表明该优化和原优化的“等价的”:
- 如果该优化有最有解,那么意味着原优化有最优解:设(w,b)为该优化的最优解,假设原优化有可行解(w,b),并且γ>γ0yi(wxi+b)/wγ,  i=1,2,...,N,从而变化后的(w,b)/(γw)同样得到几何距离,并且(w,b)/(γw)满足该问题的约束条件yi(wxi+b)1,  i=1,2,...,N,与假设矛盾。
- 再者,如果原问题有最优解(w,b),同样可以论证它经过比例变换就可以得到该问题的最优解。
当然,有一个更加直接的方法:
对给定的正确分类的超平面,选取参数(w,b),使得超平面方程为(wx+b)=0并且数据集到超平面的距离为1/w,即yi(wxi+b)1,  i=1,2,...,N且存在等号成立,同样得到上面的最优化问题形式。
显然对上面的优化有等价形式:
minw,b     1/2w2
s.t.         yi(wxi+b)1,  i=1,2,...,N
我们将它记为优化问题P

(2)最优解的存在唯一性

P的可行域显然是一个凸集并且是一个闭集。不妨选取一个可行的w0,再加上条件:w02w2使得w有界,对于b,它是有界的,因为当b足够大时会与约束条件和已知的数据有两类矛盾,从而变量可行域有界,所以:
- 由于w2的连续性我们得到最有解是存在的
对于唯一性,假设存在两个最优解(w1,b1),(w2,b2)并且w1w2,那么就有
w1=w2=c
不难发现w3=w1+w22也是P的可行解,而
w3c
由于最优,所以w3=c,意味着w1=±w2,而负号会使得w3=0,得到矛盾,因此w1=w2=w
考虑b1b2,根据前面的论述我们知道(w,b1),(w,b2)也是原问题的最优解,也就是存在两个法向量相同截距不同的超平面,关于数据集有同样的几何间隔,显然几何间隔都是正的,也就是数据被正确分类。同样,我们知道(w,b1+b22)也是一个最优解,但是将它在原问题中考虑,我们知道该超平面到数据集的几何距离显然更大,因此得到矛盾,从而
- P的最有解是唯一的(或原问题最优解在几何意义上是唯一的)

(3)支持向量机叫法的由来

我们根据上面的推导得出了对于线性可分数据集对应的唯一超平面,同时得到的一个几何间隔γ,从而在超平面四周有一个半径为γ内的区域内不存在数据点,在边界上恰好有一些数据点,我们把这些,也就是距离超平面最近的实例点成为支持向量(support vector),意味着这些点在该超平面的选取中占有了决定性因素,即使我们变化或者去电其他点,我们对超平面的选择不会改变。这也是这个算法:支持向量机,命名的由来。
这里写图片描述(网络图片,侵删)
也是入门自学,不足之处请多指点
之后会整理:拉格朗日对偶,仍然希望能够保持推导的完整。
太晚了今天不写了。。。
个人博客,请勿转载

原创粉丝点击