在第一篇中讲到了支持向量机实际上就是求解这样一个最优化问题:
其中约束条件要求每个点都必须被正确分类。但在实际数据中,数据集常常并不是线性可分的。以及会有噪声点等情况,如图1。这时1是无解的。这时我们需要引入松弛变量来解决这个问题。
图1
线性不可分意味着存在某些样本点(xi, yi)不能满足函数间隔≥1的约束条件。我们为每个样本点引入一个松弛变量ξi≥ 0,使
目标函数变成
其中C ≥ 0为惩罚参数,越大则对误分类的惩罚越大。
求分割平面问题转化为二次规划(原始问题):
由上一节的对偶方法如法炮制,化不等式约束为等式约束,得到对偶问题:
解之可得α。
同上一节的讨论我们得到
即得到了平面方程。
本文只是抛砖引玉,提供给读者整体的思路,略去了一些数学上的推导。有兴趣的读者可以参阅以下资料:
《最优化计算方法》
《统计学习方法》李航著,(非常好的书,脉络清晰。言简意赅)
http://blog.csdn.net/v_july_v/article/details/7624837,(一位博友的博客,写的很详细)
http://blog.pluskid.org/?page_id=78,一系列有关聚类算法的博客,狂赞。
在此,衷心感谢蔡仁钦同学对本稿进行细致的审阅与修改!他的宝贵意见让我受益匪浅,也使得SVM这一系列博文更加完善!
博主e-mail:qiuqiangkong@gmail.com