原文
线性支持向量机
简介
当数据线性不可分时,使用硬间隔支持向量机很难得到理想的结果。但是如果数据近似线性可分,可以采用软间隔支持向量机(线性支持向量机)进行分类。这通常适用于有少量异常样本的分类,如果使用线性支持向量机,它会尽量使得所有训练样本都正确,如下图所示。

显然这并不是最好的结果,软间隔支持向量机可以权衡“间隔最大”和“误分类点最少”,得到以下结果。

推导
基于线性可分支持向量机,我们增加一个可”容忍“不满足函数间隔大于1的约束条件的考虑。即引进一个松弛变量ξi≥0 ,使约束条件变为
yi(ω∗xi+b)≥1−ξi
同时,修改代价函数(目标函数)为
12||ω||2+C∑i=1Nξi
接下来的步骤就和线性支持向量机一样,解一个凸二次规划问题
minω,b,ξ12||ω||2+C∑i=1Nξi
s.t.yi(ω⋅xi+b)≥1−ξi,i=1,2,3,...,N
ξi≥0,i=1,2,3,...,N
根据拉格朗日的对偶性,上述凸二次规划问题的拉格朗日函数是
L(ω,b,ξ,α,μ)=12||ω||2+C∑i=1Nξi−∑i=1Nαi(yi(w⋅xi+b)−1+ξi)−∑i=1Nμiξi
其中αi≥0,μi≥0
原始问题的对偶问题是拉格朗日函数的极大极小问题,先求L(ω,b,ξ,α,μ) 对ω,b,ξ的极小,再求minω,b,ξL(ω,b,ξ,α,μ) 对α的极大,可以得到原始问题的对偶问题为
minα12∑i=1N∑j=1Nαiαjyiyj(xi⋅xj)−∑i=1Nαi
s.t.∑i=1Nαiyi=0
0≤αi≤C,i=1,2,...,N
设α∗=(α∗1,α∗2,...,α∗N)是对偶问题的一个解,则有
ω∗=∑i=1Nα∗iyixi
b∗=yj−∑i=1Nyiα∗i(xi⋅xj)
其中,j为使得0<α∗j<C 成立的一个值。
支持向量
对偶问题的解α∗=(α∗1,α∗2,...,α∗N) 中对应于α∗i>0的样本点(xi,yi)的实例xi称为支持向量(软间隔的支持向量),实例xi到间隔边界的距离为ξi||ω||

软间隔的支持向量要么在间隔边界上, 要么在间隔边界和分离超平面之间,要么在分离超平面误分一侧。
若α∗i<C 则必有ξi=0 (C−μi−α∗i=0且μ∗iξ∗i=0),这时候支持向量在间隔边界上;若α∗i=C,0<ξi<1 ,则分类正确,支持向量在间隔边界与分离超平面之间;若α∗i=C,ξi=1 ,则xi在分离超平面上;若α∗i=C,ξi>1 ,则xi 位于分离超平面误分一侧
合页损失函数
线性支持向量机学习还有一种类似于逻辑回归,线性回归等算法的学习方式,同样是最小化一个目标函数
∑i=1N[1−yi(ω⋅xi+b)]++λ||ω||2
[Z]+ 表示以下取正值的函数
[Z]+={0,z≤0z,z>0
合页损失函数的意思是,若正确分类,且函数间隔大于1时损失为0;否则,损失为1−y(ω⋅x+b) ,这也就是说,合页损失函数不仅仅只在乎分类的正确性,而且还要使确信度足够高,这也就意味着,当样本足够时,它会自动“过滤”一些异常点,不会使得少量的异常点对结果产生影响。