对svm支持向量机的理解

支持向量机:

样本x为k维向量,在某区域内的l个样本所属类别为(x1,y1},...,(xl,yl)∈Rk*{+-1}.若超平面:

w.x+b =0

能将样本分为两类,其中⋅表示向量的点积.最佳的超平面应使两类样本到超平面的距离为最大.显然,式(1)中的和乘以系数以后仍能满足方程.不失一般性,对于所有的样本xi,式|w.Xi+b|的最小值为1,则样本与此最佳超平面的最小距离为|w.Xi+b|/||w||=1/||w||.最佳超平面应满足约束:

Yi[(w.xi)+b] ≥ 1,i=1,…,l

w和b的优化条件应该是使两类样本到超平面最小距离之和2/||w||最大.另外,考虑到可能存在一些样本不能被超平面正确分类,因此引入松弛变量:

ξ≥ 0, I = 1,…,l, (3)

问题变成在式(2)和式(3)的条件下最小化

1/2||w||2+C*∑ξi          (4)

其中C为一个正常数.上式的第1项使样本到超平面的距离尽量大,从而提高泛化能力;第2项则使误差尽量小.利用lagrange乘子法,可以把式(4)变成其对偶形式,从而有

 ....                      

以及

 ....

这是一个典型的二次优化问题,已由高效的算法求解.可以证明,在此优化问题的解中有一部分iα不为0,它们所对应的训练样本完全确定了这个超平面,因此称其为支持向量.按照优化理论的Kuhn-Tucker定理,在鞍点,对偶变量与约束的乘积为0,从而求得超平面的另一个参数满足:

 ....

对于未知属类的向量,x可以采用线性判决函数

 ....

来判定其所属类别.综合式(6),得到:

 f(x) = sgn (∑aiyi(xi*x)+b)

 

posted on 2013-10-04 13:18  aliana  阅读(403)  评论(0)    收藏  举报

导航