2.学习的对偶算法
(本篇建议在读完本章第1节硬间隔SVM学习的对偶算法相关知识之后阅读)
直接上公式,原始问题的对偶问题是:
公式看得很舒服,怎么来的呢?接下来然我们一起推导一遍:
由上一小节内容我们得到了软间隔最大化原始问题为:
对该原始问题,我们构造拉格朗日函数是:
其中,
则原始问题可以写成极小极大问题:
(关于这方面的理解,前面已经讲得很清楚了)
它的对偶问题为极大极小问题:
,
先求内部的极小:
由偏导
得
将上面3个等式带入到拉格朗日函数,得
再求外部的极大,即得到对偶问题:
将上述条件不等式进行变换,消去
,从而只留下变量
,并将约束写成:
进一步,我们将这个求极大问题,等价转化为求极小问题,就得到了:
接着通过求解对偶问题就可以得到原始问题的解了,进一步可以确定分离超平面和分类决策函数。我们写成定理:
设
是对偶问题的一个解,若存在
的一个分量
,则原始问题的解
可按下式求得:
(这两个等式不多说了,不理解的话可以看看前几篇关于
硬间隔的内容)
原始问题是凸二次规划问题,解满足KKT条件。具体证明过程就不给出了。
由上面的定理可知,分离超平面就可以写成:
分类决策函数可以写成:
这就是
线性SVM的对偶形式。
对前面的结果,有下面的算法:
线性支持向量机学习算法
输入:训练数据集
,其中,
;
输出:分离超平面和分类决策函数。
(1)选择惩罚参数
,构造并求解凸二次规划问题
求得最优解
。
(2)计算
选择
的一个分量
适合条件
,计算
(3)求得分离超平面:
分类决策函数:
以上就是线性支持向量机的学习算法。
最后再次说明,从理论上来说,原始问题对
的解
可能不唯一。