前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >支持向量机

支持向量机

作者头像
张凝可
发布2019-08-22 10:56:46
5720
发布2019-08-22 10:56:46
举报
文章被收录于专栏:技术圈技术圈

支持向量机自己就是一个很大的一块,尤其是SMO算法,列出来也有满满几页纸的样子,虽然看过但是并不能完全看懂其中精髓。

所以本着学习的态度来对比的学习一下支持向量机

支持向量机

支持向量机基于训练集D的样本空间中找到一个划分超平面,将不同类别的样本分开。但是这样的划分超平面很多,我们应该选择对样本局部扰动容忍性好的超平面来作为分类的标准。

什么叫容忍性好的超平面就必须了解间隔这样一个定义

超平面可以表示为

法向量w决定了超平面的方向,而b为位移项,表示了超平面到原点的距离,训练集D中的样本到这个超平面的距离可以表示为

假设在超平面

两侧分别

,在

的样本则称为支持向量,在这两个异类超平面的样本到超平面

的距离和称为间隔。

这个间隔即为

,为了提高分类超平面的容忍度,我们的目标就是在分类正确的情况下极大化

转换为了

进一步可以转换为,这步纯粹是为了后面的拉格朗日乘子计算解时比较好求解

这就是SVM的基本型

求解过程是一个凸二次规划,利用拉格朗日乘子法的对偶问题,函数最终变成

求解得到

带入L(w,b,a)中求解a值,最为我们得到的就是最优分类超平面

下面我们需要考虑到alpha值的求解,这里用SMO算法,之前的博客已经讲过了。求解alpha的值需要满足KKT条件。

alpha=0的样本不会对超平面的形成产生影响,而alpha>0的样本则是我们这里最重要的样本,位于最大间隔边界上,起着支持的作用。在训练完成后,大部分的训练样本都不会保留,最优分类超平面的形成只与支持向量有关系。

上面所有的推导都是在线性可分下进行的,间隔也是硬间隔,当线性不可分的时候一般有两种解决方案,一种是核映射,另外一种则是放宽要求,把硬间隔换成软间隔允许某些样本不满足约束。采用hinge损失,则我们的目标和约束条件则转换为

加入松弛变量

还是按照拉格朗日乘子法来计算,最终计算为

类似的也要满足KKT条件

分析一下在软间隔情况下,什么样的样本是支持向量,在样本的alpha值大于0时,则有

当样本的alpha小于C,则eps=0,则样本恰好落在最大间隔边界上,如果样本的alpha=C,则eps<=1,则样本落在最大间隔内部。如果样本的eps>1则说明该样本被错误的分类。

很多细节都没有讲到,网上有很多教程,感兴趣的可以看看

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2017年07月10日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档