支持向量机(一)——线性可分支持向量机

来源:互联网 发布:网络歌曲想问问你 编辑:程序博客网 时间:2024/05/22 21:47
  • 支持向量机(一)——线性可分支持向量机
  • 支持向量机(二)——松弛变量处理异常点
  • 支持向量机(三)——利用核函数得到非线性分类器

支持向量机(Support Vector Machine, SVM)是一种二分类模型。它的基本思想是间隔最大化。

1、线性可分支持向量机

给定训练集T={(x1,y1),(x2,y2),...,(xm,ym)},其中(xi,yi)表示第i个训练样本。输入实例xiRd, 标记yi{+1,1},+1代表正例,-1代表反例。

假设训练集线性可分,即存在超平面能正确划分训练集,并且很容易看出这种超平面有无穷多个。分类超平面用ωTx+b=0表示,对所有ωTx+b>0的实例,超平面将其划分为正类;对所有ωTx+b<0的实例,超平面将其划分为反例。

学习的目的,就是找到这样一个分类超平面,使其对训练集进行正确划分。上面也说了,在训练集线性可分的情况下,这样的分类超平面有无穷多个。支持向量机通过间隔最大化求最优分类超平面,这个最优超平面的解是唯一的。

1.1 函数间隔与几何间隔

函数间隔
超平面ωTx+b=0关于样本点(xi,yi)的函数间隔为

γ^i=yi(ωTxi+b),(1)

关于训练集T的函数间隔为
γ^=miniγ^i.(2)

对于分类超平面ωTx+b=0与样本(xi,yi)(ωTxi+b)的符号与yi的符号是否一致能够表示分类是否正确;|ωTxi+b|能够相对地表示xi距离超平面的远近,而实例点距离分类超平面的远近可以表示分类的确信程度。所以函数间隔不仅包含了超平面是否将样本正确分类的信息,还包含了超平面对样本分类的确信度。

几何间隔
超平面ωTx+b=0关于样本点(xi,yi)的几何间隔为

γi=yi(ωTxi+b)||ω||,(3)

关于训练集T的函数间隔为
γ=miniγi.(4)

几何间隔是有符号距离,只有在样本点被超平面正确分类时才是实例点到超平面的距离。

由(1)~(4)可以得到

γ=γ^||ω||.(5)

1.2 间隔最大化

线性可分支持向量机的目的是找到把训练数据正确划分且几何间隔最大的分类超平面。间隔最大的分类超平面对未知实例有很好的泛化能力。

寻找几何间隔最大的超平面可以表示为优化问题:

maxω,bγ=maxω,bminiγi=maxω,bminiyi(ωTxi+b)||ω||(6)

可以写成约束优化问题:

maxω,bs.t.γyi(ωTxi+b)||ω||γ(7)

把(5)代入(7)中,得到

maxω,bs.t.γ^||ω||yi(ωTxi+b)γ^(8)

无论γ^取什么值,优化问题(8)的最优解对应的超平面和最优值总是不变的。比如取γ^=1,此时求出最优解为(ω|γ^=1,b|γ^=1),对应的最优值为1||ω|γ^=1||;现在取γ^=2,可以求出最优解为(2ω|γ^=1,2b|γ^=1),对应的最优值为1||ω|γ^=1||。可以看出,两个最优解对应的超平面是同一个超平面。

于是,令γ=1,优化问题(8)等价于优化问题

maxω,bs.t.1||ω||yi(ωTxi+b)1(9)

而最大化1||ω||等价于最小化12||ω||2,于是优化问题(9)等价于

minω,bs.t.12||ω||2yi(ωTxi+b)1(10)

(10)就是线性可分支持向量机的最优化问题。针对这个优化问题,可以理解为,在所有对训练集的函数间隔为1的超平面中,选择几何间隔最大的那个。这是一个凸二次规划问题。可以用一般的凸二次规划算法求解,也可以用优化问题的拉格朗日法求解。

1.3 对偶问题

原始优化问题(10)可以通过极大极小化拉格朗日函数得到对偶优化问题,然后根据对偶问题的最优解得到原始问题的最优解。

引入拉格朗日乘子αi0,i=1,2,,m,构建拉格朗日函数

L(ω,b,α)=12||ω||2+i=1mαi(1yi(ωTxi+b))(11)

原始问题的对偶问题是极大极小问题:

maxαminω,bL(ω,b,α).

为了求对偶问题,首先求minω,bL(ω,b,α),令

ωL=ωi=1mαiyixi=0(12)

bL=i=1mαiyi=0(13)

得到
ω=i=1mαiyixi(14)

i=1mαiyi=0(15)

代入L中,得到

minω,bL(ω,b,α)=12i=1mαiyixTij=1mαjyjxj+i=1mαii=1mαiyij=1mαjyjxTjxii=1mαiyib=12i=1mj=1mαiαjyiyjxTixj+i=1mαii=1mj=1mαiαjyiyjxTixj=12i=1mj=1mαiαjyiyjxTixj+i=1mαi(16)

然后求minω,bL(ω,b,α)α的极大,得到:

maxαs.t.12i=1mj=1mαiαjyiyjxTixj+i=1mαii=1mαiyi=0αi0,i=1,2,,m(17)

求得的对偶问题可以重写成

minαs.t.12i=1mj=1mαiαjyiyjxTixji=1mαii=1mαiyi=0αi0,i=1,2,,m(18)

偶优化问题(18)的最优解和原始优化问题(10)的最优解存在,且满足KKT条件:

ωL(ω,b,α)=ωi=1mαiyixi=0(19)

bL(ω,b,α)=i=1mαiyi=0(20)

αi(1yi(ωTxi+b))=0,i=1,2,,m(21)

1yi(ωTxi+b)0,i=1,2,,m(22)

αi0,i=1,2,,m(23)

所以求出对偶问题(18)的最优解α后,可以根据(19)得到ω:

ω=i=1mαiyixi(24)

至于b,由公式(21)知道,如果αj>0,那么1yj(ωTxj+b)=0,所以

b=yjωTxj=yji=1mαiyi(xTixj)(25)

1.4 支持向量

由(24)(25)可知超平面只和αi>0的样本有关,对应的实例点称为支持向量。
由(21)可知,支持向量满足1yi(ωTxi+b)=0,即位于间隔边界上。

阅读全文
0 0
原创粉丝点击