一.首先讲两个概念:间隔和支持向量
对于给定的训练集 ,分类学习的目的是在样本空间中找到一个划分超平面,将不同类别的样本分开。这个超平面可能有很多,哪个才是最好的?
图1
由图1显示的例子,有两类样本,有很多个超平面可以将这两类样本完全分开,但是以我们自己的直觉看,处于两类样本中间的超平面应该会更好一些,因为该划分超平面对于训练样本局部扰动的容忍性最好。(现实中的数据距离超平面的距离会更近,在这种情况下,红色那条超平面是分类最准确的超平面),也就是说,这个超平面所产生的分类结果是最鲁棒的,对未见示例的泛化性能最强。
在样本空间中,划分超平面可用如下线性方程来描述:
其中,=
为法向量,决定了超平面的方向,b决定了超平面与原点间的距离。所以,超平面由法向量
和位移 b 确定。样本空间中任意点x到超平面
的距离为:
假设超平面能将训练样本正确分类,即对于 ∈ D, 若
=+1,则有
,若
=-1,则有
,
令:
要点 1 ![](https://i-blog.csdnimg.cn/blog_migrate/f62c61e6d3a2c872c90df882aedc74e6.png)
上述公式是在SVM推导中第一个重要的公式。
在图2中,距离超平面最近的这几个训练样本点使上式的等号成立,它们被称为支持向量,两个不同类支持向量到超平面的距离之和为
要点2 ![](https://i-blog.csdnimg.cn/blog_migrate/d027dca60b3cec585d479ac7bc9b4765.png)
它被称为“间隔”。可以看到,间隔只与超平面的法向量有关,与训练集无关。
我们的目的是要找到具有最大间隔的超平面,也就是要找到满足要点1中的W和b,使得值最大。即:
要点3 ![](https://i-blog.csdnimg.cn/blog_migrate/1698b684fbfbe095089e0af742bef642.png)
由要点三可得:为了最大化间隔,只需将 ω 最小,于是,要点3可重写为:
这就是支持向量机的的基本型。
二、对偶问题
我们需要求解式6.6中的 ω 和 b ,对式6.6使用拉格朗日乘子法可得到其对偶问题,具体来说,对式6.6的每条约束添加拉格朗日乘子ai>=0,该问题的拉格朗日函数可写为: