对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)
浙公网安备 33010602011771号