SVM 的推导

来源:互联网 发布:java jvm调优 编辑:程序博客网 时间:2024/06/09 10:44

支持向量机,SVM,全称 Support Vector Machine,是一种二类分类模型。它的基本模型是定义在特征空间上的间隔最大的线性分类器,间隔最大使它有别于感知机;核的引入使其成为实质上的非线性分类器。
给定一个训练数据集 T={(x1,y1),(x2,y2),...,(xn,yn)},其中yi{+1,1};学习的目标是在特征空间找到一个分离超平面,能将实例分到不同的类,超平面对应于wx+b=0
定义超平面(w,b)关于样本点(xi,yi)的函数间隔为

γi^=yi(wxi+b)
定义超平面(w,b)关于数据集 T 的函数间隔为
γ̂ =mini=1,...,nγi^

可若成比例地改变 w 和 b,超平面并没有改变,但函数间隔却成为原来的两倍,故引入几何间隔
γi=yi(w||w||xi+b||w||)

定义超平面(w,b)关于数据集 T 的几何间隔为
γ=mini=1,...,nγi

可知对于函数间隔和几何间隔,有γ=γ̂ ||w||
下面考虑如何求得一个几何间隔最大的超平面,即最大间隔分离超平面
maxw,bγ
s.t.yi(w||w||xi+b||w||)γ,i=1,2,...n

由几何间隔和函数间隔的关系式,可将上式化为
maxw,bγ̂ ||w||
s.t.yi(wxi+b)γ̂ ,i=1,2,...n

函数间隔γ̂ 的取值不影响最优化问题的解,所以取γ̂ =1,代入上式,原问题转化为
minw,b12||w||2
s.t.yi(wxi+b)10,i=1,2,...n

这是一个凸二次规划问题,求出问题的解 w*,b*,就可以得到最大间隔分离超平面。为了求解该最优化问题,将它作为原始最优化问题,应用拉格朗日对偶性,通过求解对偶问题得到原始问题的最优解,这就是线性可支持向量机的对偶算法。这样做的优点,一是对偶问题往往更容易求解;二是自然引入核函数,进而推广到非线性分类问题。

拉格朗日对偶性的相关推导在这里,是我之前写的一篇博客

根据拉格朗日对偶,原始问题的对偶问题是极大极小问题maxαminw,bL(w,b,α)
1.求minw,bL(w,b,α)
L(w,b,α)分别对w,b求偏导数并令其等于0

参考资料:
Stanford CS229《Machine Learning》
《统计学习方法》
https://zh.wikipedia.org/wiki/%E6%94%AF%E6%8C%81%E5%90%91%E9%87%8F%E6%9C%BA

0 0
原创粉丝点击