再回过头来看换元设定,ω=pT/d,等式两边取范数运算有:||ω||=||pT||/d=1/d,可得d=1/||ω||,SVM算法需要在满足公式4约束的基础上,使得间隔距离d最大。假设待分类数据共有m个,实现SVM算法等同于求解一个带有不等式约束的非线性规划问题:
上面的问题也可以表述为求最小值的问题:
⑤超平面实现分类效果、以及各个参数之间关系可参考下图:
2.2 最大软间隔
实践中由于异常数据的存在,导致超平面不能完全将数据分为两部分,如下图:
两个分类中混杂了少量的异常数据,除去极少数的异常点,上图中超平面能分离大多数样本。⑤式引入松弛变量后可以兼容上图的情形:
(5.1) 正常情况下等于0,表示样本点分列在支持向量的两侧;>0时代表的是异常数据:当0<<1时,代表数据在超平面与支持向量之间,如上图中的点2和点4;而>1时代表数据到了对方空间中,如上图的点1和点3。满足(5.1)式的间隔称为软间隔,软间隔优化结果不仅需要支持向量的间隔最大,还要使得各个尽量的小。换句话说,超平面确定后,被定义为异常数据的样本个数要尽量的少。三、求解带约束的非线性规划问题
SVM算法最后归结为求解式(5),这是一个有约束的非线性规划问题,接下来通过两种方法求解,一种方案是利用之前介绍惩罚函数,优点是简单直接容易理解,不受约束条件数量的限制;另一种方案是数学解析法,其原理是拉格朗日对偶原理的应用,计算中涉及到对偶问题、鞍点、SMO算法等,解析法是一种理论性较强方法。
3.1 拉格朗日对偶
3.1.1 对偶问题
为后期求导方便,将公式(5)的目标函数f(ω)改为: