一,线性可分支持向量机与硬间隔最大化
1.1 间隔与支持向量
在样本空间中,划分超平面可通过如下线性方程来描述:
其中,w = (w1;w2;...;wd)为法向量,决定了超平面的方向;b为位移项,决定了超平面与原点之间的距离。
我们将超平面记为(w,b).样本空间中任意点x到平面(w,b)的距离可写为:
假设超平面(w,b)能将训练样本正确分类,则有:
如下图所示,距离超平面最近的这几个训练样本点使上式的等号成立,它们被称为支持向量。
两个异类支持向量到超平面的距离之和为:
它被称为间隔。
支持向量机欲找到具有“最大间隔”的划分超平面即:
显然为了最大化间隔,仅需要最大化1/||w||,这等价于最小化||w||2,因此支持向量机的基本型为:
1.2 对偶问题
对上式使用拉格朗日乘子法可得到其“对偶问题”。具体来说,对上式的每条约束添加拉格朗日乘子αi >= 0,该问题的拉格朗日函数可写为:
其中α = (α1;α2;...;αm).令上式对w和b的偏导为零可得到:
将上面三个式子结合可得到基本型的对偶问题:
解出α后,求出w与b即可得到模型:
上述过程的KKT条件为:
KKT条件:
1,拉格朗日乘子>=0
2,约束
3,拉格朗日乘子*约束 = 0
该式子显示出支持向量机的一个重要性质:训练完成后,大部分的训练样本都不需要保留,最终模型仅与支持向量有关。
二,非线性支持向量机与核函数
在前面的讨论中,我们假设训练样本是线性可分的,即存在一个划分超平面能将训练样本正确分类。然而在现实任务中,原始样本空间内也许并不存在一个能正确划分两类样本的超平面。如下图所示。
对于这样的问题,可将样本从原始空间映射到一个更高维的空间,使得样本在这个特征空间内线性可分。如果原始空间是有限维,即属性有限,那么一定存在一个高维特征空间使样本可分。
令Φ(x)表示将x映射后的特征向量,于是在特征空间中划分超平面所对应的模型可表示为:
类似于训练样本线性可分的情况,有:
其对偶问题是:
Φ(xi)TΦ(xj)是样本xi与xj映射到特征空间之后的内积。由于特征空间维数可能很高,甚至有可能是无穷维,因此直接计算Φ(xi)TΦ(xj)通常是困难的。可以设想这样一个函数:
即xi与xj在特征空间的内积等于它们在原始样本空间中通过函数k(.)计算的结果。因此对偶问题可重写为:
求解后即可得到:
这里的函数k(.)就是核函数。
在实际应用中,通常人们会从一些常用的核函数里选择(根据样本数据的不同,选择不同的参数,实际上就得到了不同的核函数),下面给出常用的核函数:
三,线性支持向量机与软间隔最大化
在前面的讨论中,我们一直假定训练样本在样本空间或特征空间中是线性可分的。然而在现实任务中往往很难确定合适的核函数使得训练样本在特征空间中线性可分。缓解该问题的一个办法是允许支持向量机在一些样本上出错,为此引入了“软间隔”的概念。
“硬间隔”要求所有样本都必须划分正确,而“软间隔”则允许某些样本不满足约束:
在最大化间隔的同时,不满足约束的样本应该尽可能少。于是优化目标可写为:
其中C>0是一个常数,l是“0/1损失函数”:
常用的替代损失函数:
若采用hing损失,优化目标变为:
引入“松弛变量”ξi≥0,上式重写为:
这就是常用的“软间隔支持向量机”。
通过拉格朗日乘子法可得到拉格朗日函数:
令L()对w,b,ξi的偏导为零可得到:
将上式联立可得到软间隔支持向量机的对偶问题为:
与硬间隔下的对偶问题对比可看出,两者唯一的差别就在于对偶变量的约束不同(0<=αi<=C和0<=αi).
对于软间隔支持向量机,KKT条件要求:
由此可以看出,软间隔支持向量机的最终模型仅与支持向量有关。