一、总体概览
1,定义一个函数间隔
![](https://i-blog.csdnimg.cn/blog_migrate/7f5990c11569e0ac7cdc1d432a0e6c62.png)
2、这是几何间隔,真正的距离
![](https://i-blog.csdnimg.cn/blog_migrate/8b62ef4ad441ce9db40502ac1102ba91.png)
如果超平面参数w和b成比例的改变(超平面没有改变),几何间隔不变
3、函数间隔和几何间隔的关系
![](https://i-blog.csdnimg.cn/blog_migrate/c429d913642b8a169dbf16058b63cec8.png)
几何间隔因为除上了
,使得在缩放
w
和
b
的时候
几何间隔
的值是不会改变的,它只随着超平面的变动而变动
![](https://i-blog.csdnimg.cn/blog_migrate/1df98336e1d1b84d80506605e839f3df.jpeg)
![](https://i-blog.csdnimg.cn/blog_migrate/6a6e3a1f6d4ba07d42be48cd5a86691c.jpeg)
4、目的是求的最大间隔分离超平面
因为现在的目标函数是二次的,约束条件是线性的,所以它是一个凸二次规划问题
![](https://i-blog.csdnimg.cn/blog_migrate/7f66101f32ac388bc72b92ea28084efd.png)
5、考虑到几何间隔和函数间隔的关系,可进行一下转换
![](https://i-blog.csdnimg.cn/blog_migrate/5ece8d5364533c7181d638d9b17a460f.png)
将函数间隔定义为1,不影响优化问题,因为可以同比例的对w和b进行变换,这样优化求解后,不管是原来的w和b还是变换后的w和b,最优分割面都是相同的。
6、总结以上流程就是
![](https://i-blog.csdnimg.cn/blog_migrate/352427f73a8d5f39de7c97c2e6fe40ff.png)
二、细节
1、支撑向量
![](https://i-blog.csdnimg.cn/blog_migrate/fa10ed8e85665c83219dbb58af19f2ed.png)
也就是决定间隔大小底限的点,在底限的基础上再最大化分类间隔
2、为了求解w和b就需要构造拉格朗日函数来求解,
同时利用拉缸朗日对偶性问题求解更方便(b的求解有些问题,导出公式)
b的正确导出公式应该是
那什么是拉格朗日对偶性呢?简单来讲,通过给每一个约束条件加上一个拉格朗日乘子(Lagrange multiplier)
,定义拉格朗日函数(通过拉格朗日函数将约束条件融合到目标函数里去,从而
只用一个函数表达式便能清楚的表达出我们的问题
)
:
![](https://i-blog.csdnimg.cn/blog_migrate/fe70900b2dd6d367873a837e0cafaedb.jpeg)
![](https://i-blog.csdnimg.cn/blog_migrate/fdfd02ef310c3a5ec447fda4b28f2cc6.png)
![](https://i-blog.csdnimg.cn/blog_migrate/21c02aab9e3b594a9c126ca224a30129.png)
![](https://i-blog.csdnimg.cn/blog_migrate/0b9f10867b0eb823e7e63a99b902195d.png)
![](https://i-blog.csdnimg.cn/blog_migrate/26e3db537bb7f92e0f58bfa3cb3c3e35.png)
![](https://i-blog.csdnimg.cn/blog_migrate/1ae8c57c014a8c210184f139a0a74a1e.png)
![](https://i-blog.csdnimg.cn/blog_migrate/cc6f874d7007fc5ca95a91ed714ab204.png)
三、线性不可分的情况
![](https://i-blog.csdnimg.cn/blog_migrate/d8147a51b3062529cbac9818c5a30584.png)
四、非线性支撑向量机(核函数)
![](https://i-blog.csdnimg.cn/blog_migrate/f6cad7221897e28e9dcce0d3d3fa5917.png)
![](https://i-blog.csdnimg.cn/blog_migrate/a49cce464562f44416f023cb52d2edc5.png)
![](https://i-blog.csdnimg.cn/blog_migrate/80fc0e7f576c317b12675efc7766e5e4.png)
![](https://i-blog.csdnimg.cn/blog_migrate/c6c078ca19505054ccfdf21e7b4cd57f.png)
2、Sigmoid核函数
K ( x , x i ) = tanh ( κ ( x , x i ) − δ )
采用Sigmoid函数作为核函数时,支持向量机实现的就是一种多层感知器神经网络,应用SVM方法,隐含层节点数目(它确定神经网络的结构)、隐含层节点对输入节点的权值都是在设计(训练)的过程中自动确定的。而且支持向量机的理论基础决定了它最终求得的是全局最优值而不是局部最小值,也保证了它对于未知样本的良好泛化能力而不会出现过学习现象。
3、现在有一种混合核函数方法的说法
五、补充
1、在上述求解拉格朗日函数系数
时,常常使用smo算法,下面解释该算法
![](https://i-blog.csdnimg.cn/blog_migrate/ca6c8c46d107175b4cad91405f3fc341.png)
![](https://i-blog.csdnimg.cn/blog_migrate/3335dde5a59511059e1918ff4530fd8f.png)
六、面试常见问题
![](https://i-blog.csdnimg.cn/blog_migrate/df3ab872a0a8e50bcefbc7c31d8853ac.png)
代码先欠着