〇、说明
支持向量机(Support Vector Machine,SVM)是监督学习中非常经典的算法。笔者主要参考学习的是李航老师《统计学习方法(第二版)》[1]和周志华老师的西瓜书《机器学习》[2]。
如有错误疏漏,烦请指正。如要转载,请联系笔者,hpfhepf@gmail.com。
一、问题描述
提前说明一下,为什么把看起来这么简单的东西,专门写一篇笔记,因为我觉得这个很重要,相当于理解支持向量机的一把钥匙,只有理解了支持向量机是怎么来的,才有可能理解后面更复杂的内容。
考虑一个二类问题。给定一个特征空间上的训练数据集
其中,,,。为第个特征向量,也称为实例,为的类标记。当时,称为正例;当时,称为负例。称为样本点。
假设训练数据集是线性可分的。
学习的目标是在特征空间找到一个分类超平面,能将实例分到不同的类。分离超平面对应于方程,它由法向量和截距决定,可用表示。分离超平面将特征空间划分为两部分,一部分是正类,一部分是负类。法向量指向的一侧为正类,另一侧为负类。
对于线性可分的训练数据集,存在无穷多个符合条件的分类超平面,那到底哪一个是最好的呢?
二、线性可分支持向量机
对于无穷多个分类超平面,直观上来说,位于两类样本中间的那个超平面可能就是最好的超平面,如图1中粗线条表示的分类超平面。
样本点到分类超平面的距离为。因此可以定义求取此最优超平面的问题为如下的最优化问题
优化问题一:
这样的优化问题比较直观,但不容易求解。
对于如上所述的训练数据集,我们可以构造分类超平面,使得
进一步,,使得
这是推导过程中的关键一步,在周志华老师《机器学习》[2]书中的侧边栏给出,但不够清晰。
式中,两个不等式两边同时除以,缩放后的系数仍然用表示,则有
如图2所示,距离超平面最近的几个训练样本使得式中等号成立,这些样本被称为“支持向量”。两个不同类的支持向量到分类超平面的距离之和为,称之为“间隔”。
此时,优化问题一(式)等价于
优化问题二:
等价于
优化问题三:
这是支持向量机的基本型。
求得优化问题三(式)的最优解,就得到最优分类超平面
对应的分类决策函数为
以上推导过程参考周志华老师《机器学习》的思路。李航老师《统计学习方法(第二版)》使用的是函数间隔和几何间隔的思路来推导的。
三、附录
A、参考
[1]、《统计学习方法(第二版)》,李航著,清华大学出版社
[2]、《机器学习》,周志华著,清华大学出版社
B、相关目录
[a]、支持向量机(一)——线性可分支持向量机导出
[d]、支持向量机(四)——核方法
[e]、支持向量机(五)——SMO算法
C、时间线
2020-05-27 第一次发布
2020-06-06 修改问题描述和图片来源