支持向量机专题——线性支持向量机

来源:互联网 发布:手机淘宝怎么删评价 编辑:程序博客网 时间:2024/06/08 20:13

原文

线性支持向量机

简介

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

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

推导

基于线性可分支持向量机,我们增加一个可”容忍“不满足函数间隔大于1的约束条件的考虑。即引进一个松弛变量ξi0 ,使约束条件变为

yi(ωxi+b)1ξi

同时,修改代价函数(目标函数)为

12||ω||2+Ci=1Nξi

接下来的步骤就和线性支持向量机一样,解一个凸二次规划问题

minω,b,ξ12||ω||2+Ci=1Nξi

s.t.yi(ωxi+b)1ξi,i=1,2,3,...,N

ξi0,i=1,2,3,...,N

根据拉格朗日的对偶性,上述凸二次规划问题的拉格朗日函数是

L(ω,b,ξ,α,μ)=12||ω||2+Ci=1Nξii=1Nαi(yi(wxi+b)1+ξi)i=1Nμiξi

其中αi0,μi0

原始问题的对偶问题是拉格朗日函数的极大极小问题,先求L(ω,b,ξ,α,μ)ω,b,ξ的极小,再求minω,b,ξL(ω,b,ξ,α,μ)α的极大,可以得到原始问题的对偶问题为

minα12i=1Nj=1Nαiαjyiyj(xixj)i=1Nαi

s.t.i=1Nαiyi=0

0αiC,i=1,2,...,N

α=(α1,α2,...,αN)是对偶问题的一个解,则有

ω=i=1Nαiyixi

b=yji=1Nyiαi(xixj)

其中,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[1yi(ωxi+b)]++λ||ω||2

[Z]+ 表示以下取正值的函数

[Z]+={0,z0z,z>0

合页损失函数的意思是,若正确分类,且函数间隔大于1时损失为0;否则,损失为1y(ωx+b) ,这也就是说,合页损失函数不仅仅只在乎分类的正确性,而且还要使确信度足够高,这也就意味着,当样本足够时,它会自动“过滤”一些异常点,不会使得少量的异常点对结果产生影响。