〇、说明
支持向量机(Support Vector Machine,SVM)是监督学习中非常经典的算法。笔者主要参考学习的是李航老师《统计学习方法(第二版)》[1]和周志华老师的西瓜书《机器学习》[2]。
如有错误疏漏,烦请指正。如要转载,请联系笔者,hpfhepf@gmail.com。
一、问题描述
如此系列笔记的上一篇《支持向量机(一)——线性可分支持向量机导出》[3]所述,给定线性可分训练数据集,其中,,。
求解如下优化问题的最优解
优化问题一:
可得最大间隔分离超平面
和对应的分类决策函数
二、朗格朗日对偶算法
优化问题一(式)是一个凸二次规划问题,可以通过求解拉格朗日对偶问题来求解。关于凸优化内容可以参见笔者相关笔记。
构建拉格朗日函数
其中,为拉格朗日乘子组成的向量。
原问题是凸优化问题,则拉格朗日强对偶性成立,所以如下优化问题和原优化问题等价,具体请参见[4]
优化问题二:
也就是说,优化问题二的最优解,即是优化问题一的最优解。
三、求解拉格朗日对偶问题
第一步,先求解
对拉格朗日函数分别对和求偏导,并令其等于0。
可得
将式和式代入拉格朗日函数(式)
也即
第二步,求解对偶问题
由式和式,可得
优化问题三:
这就是线性可分支持向量机的对偶优化问题。求解此优化问题请参见此系列笔记的后续篇章(敬请期待)。
第三步,求解分类超平面和分类模型
当求解优化问题三(式)的最优解为,根据式可得
接下来求解截距的最优解。
根据凸优化问题的KTT条件:优化问题一(式)是凸优化问题,则满足KKT条件的点是原问题和对偶问题的最优解(具体请参见[4])。
由式也可得出式。
将式单独拿出来,在中选择一个(支持向量),则有
将式代入式,对于任一,有
到此,对于已经求出优化问题的朗格朗日乘子的最优解,则线性可分支持向量机的最优超平面为的参数为
此时,分类模型为式。
四、支持向量
将上面KKT条件的式单独拿出来
当时,则有
对应的样本都在间隔边界上,如下图
再观察式,当时,对应的样本是不参与参数计算的。
综上,线性可分支持向量机是强依赖于离分类超平面最近的样本点的,这和基于概率统计的分类方法是不同的。
五、附录
A、参考
[1]、《统计学习方法(第二版)》,李航著,清华大学出版社
[2]、《机器学习》,周志华著,清华大学出版社
B、相关目录
[b]、支持向量机(二)——线性可分支持向量机求解
[d]、支持向量机(四)——核方法
[e]、支持向量机(五)——SMO算法
C、时间线
2020-06-01 第一次发布
2020-06-02 添加《支持向量》部分
2020-06-06 修改图片来源