![69c700b87f3bf24675368103cbb7d83a.png](https://i-blog.csdnimg.cn/blog_migrate/0377019270ad8e0597fae60be822717a.jpeg)
SVM(支持向量机)最初是一种解决二分类的有监督学习算法,其目的在于:在给定两类样本的数据集的前提下,寻找一个将两类样本分隔开的超平面(separating hyperplane),并且使得两类样本之间的边界间隔(margin)最大化。最终得到的超平面被称为决策边界(decision boundary)。
本文主要内容分为以下几点:
- 介绍什么是超平面
- 分隔超平面的定义
- 最大间隔超平面的介绍
- 为什么最小函数间隔设置为1
1 分隔超平面
首先给定一个样本集
假设正负样本线性可分,这意味着,可以找到一个超平面
![3349d12b2ffb6506e26f001eddea044f.png](https://i-blog.csdnimg.cn/blog_migrate/0c92be986ffe274fe4d76a064cbd41fe.png)
能够将正负样本分隔开的超平面,我们可以称之为分隔超平面(Seperating Hyperplane),它需要满足一些条件,这个我们在下面的内容继续介绍。首先先了解一下什么是超平面。
1.1 超平面
在
从数学表示的层面上来看,实数域
可以用线性代数的知识将该表达式改写为向量内积的形式:
或者
其中
超平面有以下几个性质:
性质1:法向量和偏置项以任意相同的倍数放缩,新表达式描述的仍然是原来的超平面。假设放缩比例为
性质2:点
性质3:超平面将
![a0031af5eea5fe4e9aabd945c849a0b1.png](https://i-blog.csdnimg.cn/blog_migrate/1e83e8dffc54020d86b9e473a7ea318c.png)
需要注意的是,“上方”和“下方”并不是方位上的超平面上下方,而是以超平面的法向量
1.2 分隔超平面
SVM中,分隔超平面是一个能够将正负样本恰好隔开的超平面,并且使得正样本在分隔超平面“上方”,负样本在分隔超平面”下方“。这就意味着,分隔超平面
其中
其实,我们可以写成更一般的形式。对于线性可分的样本集,
根据上面的内容,我们得出结论,对于给定的线性可分的样本集合,必然存在分隔超平面可以将正负样本分开,该分类正确的超平面需要满足的条件为:样本点到超平面的函数间隔大于零。
实际上,根据函数间隔大于零这个条件,我们可以求得无数个分隔超平面。对于人来说,我们肯定想要求得一个“最好的分隔超平面”,那评价是否最好的指标是什么呢?在SVM算法中,其评价指标为几何间隔,即点到面的距离,可以根据1.1中超平面的性质2进行计算。以图3为例,大多数人都会本能地认为图3(a)中的分类效果比图3(b)和(c)要更好,我们做出这个判断的思维步骤为:寻找与线最近的样本点→人眼感知最近的样本点与直线的几何间距→根据前面两步获得的信息判断分隔效果,间距最大的即为最好。SVM就是遵循了这样一种判别思想,并在该思想的基础上发展出相应的理论。
![521443d5665260866a5c5ba0c640afb2.png](https://i-blog.csdnimg.cn/blog_migrate/17546f544817fdbf1799b07e39400de9.png)
在这里,可以很自然地引出SVM算法的计算目标之一:对于线性可分的样本集,在众多分隔面中,寻找出最优的那一个。最优的判定标准在于离分隔面最近的样本点与分隔面的几何间隔是否是最大的,最优的分隔面称为最大间隔分隔超平面。名字太长了,简短一点吧,最大间隔超平面(Large-margin Hyperplane)。在第2部分,对最大间隔超平面进行进一步描述。
2 最大间隔超平面
2.1 最大间隔超平面数学描述
首先将最大间隔超平面数学推导中的的数学定义名称、符号和表达式联系起来,具体如下:
线性可分的样本集 ——
超平面 ——
函数间隔 ——
几何间隔 ——
根据第1部分的叙述,最大间隔超平面需要满足两个约束条件:(1)能够将正负样本正确分类,或者说样本点到超平面的函数间隔大于零;(2)离超平面最近的样本点与超平面的几何间隔最大。
第一个条件的数学表达式为
接着我们分析第二个条件。我们可以用式(5)所有样本点与超平面的最小几何间隔,因为我们的样本点
结合这两个约束条件,我们可以得到求解最大间隔超平面的求解公式:
到了这里,最大间隔超平面的问题似乎已经解决了,毕竟已经得到了它的求解公式,但是,我们仔细看一下式(7),会发现事情远没有那么简单,
接下来,我们继续对式(7)进行简化。这个简化还需要从前面说的关于样本点与超平面最小几何间隔在
首先需要说的是,在最优化过程中,
假设
当等比例变化时,变化后的超平面
![793aa4d7e26e59c2f022df5579cc1353.png](https://i-blog.csdnimg.cn/blog_migrate/6600324541dd925c3e6082468f200740.png)
若是我们要求某一固定的超平面,其对应的
SVM选用的限制条件为:
仔细思考一下这个限制条件是否合适。在所有的样本点都是已知的前提下,令最小的函数间隔等于1是否能够唯一确定超平面。可以从逻辑上思考这一点,当超平面固定,即
比如,图4中,我们必然可以找到距离超平面最近的点(实际上,这也是函数间隔最小的点),假设其坐标为
因此,限制条件
同时,需要注意的是**
接下来我们来看看,添加这个限制条件对于式(7)的改进。首先最优化目标函数变为:
一下子简洁了好多。
然后约束条件也要变。条件
于是我们得到求解最大间隔超平面的最终表达式:
最大间隔超平面最优化过程可以参见图5。在满足条件的前提下,改变
![70456bcb9c87e29f8121e7eea34f962c.png](https://i-blog.csdnimg.cn/blog_migrate/cbbd1c7b930c567ecf8adc65ce901376.png)
以上代表对于最小函数间隔设置为1的个人见解,在语言和逻辑表达上可能有所欠缺,在这里分享一下自己的学习笔记和思考,希望对大家有所帮助。
参考资料
超平面介绍的部分内容来自于[1]中,等比例缩放的内容部分参考了[2]中@Nine的回答,题图来源于[3]中的链接。
[1] SVM的数学原理详解
[2] 机器学习SVM中关于函数间隔为什么可以设置为1?
[3] SpaceX
12月13号更新, 针对评论中的问题给出一种感觉说不太清但是还是讲出来的比较混乱的回答, 我感觉这个东西在思维上真的很难说清楚, 只能通过很多个示例去验证说明. 由于知乎的公式体验太差了, 所以我在Typora码好公式, 导出图片发出来了.
![a30ae8dc7d26df644dd99009935d5dfe.png](https://i-blog.csdnimg.cn/blog_migrate/34844207fe48f381c819dee654eeb142.png)
![06067c9c61fcf5c50ed1ad5518299303.png](https://i-blog.csdnimg.cn/blog_migrate/6d69b479c3bd03ffdd1682c2d7e69f92.jpeg)