支持向量机
支持向量机(support vector machines, SVM)是一种二分类模型,它的基本模型是定义在特征空间上的间隔最大的线性分类器,间隔最大使它有别于感知机;SVM还包括核技巧,这使它成为实质上的非线性分类器。SVM的学习策略就是间隔最大化,可形式化为一个求解凸二次规划的问题,也等价于正则化的合页损失函数的最小化问题。SVM的学习算法就是求解凸二次规划的最优化算法。
- 间隔与支持向量
划分超平面用以下方程来描述:ωx+b=0
划分超平面被向量ω和b位移所确定。
样本空间内任一点到划分超平面(ω,b)的距离表示为
d=ωTx+bw
对训练样本进行分类,根据ωTxi+b对样本数据(xi,yi)∈D
分类
我们可以得到这样一个式子:
转换一下:
再做转换,因为为正数,对结果无影响,我们设
为1,可以得到如下式子:
给之前两个式子合并一下有:
该式子大于1,则一定大于0,又因为y=±1;所以该式子又可以写为
所以刚刚得到的距离函数d
d=ωTx+bw
可以写为:
d=y(ωTx+b)w
要使这个值最大,求max(d),又因为
可以得到max(d)
为:
(这里多出来的2是为了后面好计算)
同理就是求min(1/d):
为了消去ω中的根号,求一个平方:
所以最终的最优问题求解转化为:
这也是支持向量的基本型。