深入浅出理解SVM支持向量机

SVM是啥?

SVM(全称Support Vector Machine)中文名支持向量机, 这里的vector就是数学中那个向量。SVM用到向量,然后它的功能就和它的名字没什么关系了。 

SVM用于解决分类问题,何为分类呢?顾名思义,就是把你拥有的数据分成几类。

SVM是有监督学习,我们先给一部分数据打上类别标签,让SVM模型使用这些打了类别标签的数据进行训练,训练后,给训练好的SVM模型新的无类别标签的数据,SVM模型就可以自动对这些新的数据分类。

 


如图,有一些样本点,现在我们需要对两组点进行分类。

通过L1或L2,我们都可以将上面的样本呢点分为两类,这两条线称为分类器。那么,这两个分类器哪个更好呢?可能看起来差别不大,都可以完美地分开所有的数据,但我们在上面样本点地基础山再加入两个样本点,如图:

                                        

可以发现这次两个分类器地分类结果完全不同。根据数学定义,距离越近表示越相似,这也就意味着上方的X样本点属于B类,而下方的X样本点属于A类,显然第一个分类器L1的判断是正确的。

现在我们采用以分类器L1,如图:

则,样本点到线L1的距离越远,则样本点属于某一类的可能性越大。如图中所示,样本点d属于B类的可信度大于样本点c属于B类的可信度。

SVM就是找到让所有的样本点分类可信度最高的那条线。

事实上,不必计算所有点到直线的距离,只需找到线附近的样本,让这些样本与线的距离越远越好。如图:

离直线最近的点为样本点i和样本点j,这两个点称为支持向量,而要寻找的那条最佳分类线称为超平面(为什么称为超平呢?因为这里仅仅是二维,当样本点拓展到三维以上时,就是一个面了)。

为了表示支持向量到超平面的距离最大化,我们还需要定义两条经过支持向量且平行于决策面的两条平行线,称为边界分界面,如上图中的红、绿两条细线。因为两条边界分界面相互平行且超平面在二者的正中间,因此我们以决策分界面到超平面距离的二倍作为两个类别间的距离,如图:(懒得写公式,下面直接贴上我在iPad上的笔记截图)

当数据线性不可分时,需要借助KERNEL核函数将数据升到高维,在寻找超平面。基本思想是相同的,具体数学过程不再描述(我也讲不清楚)。如图:

 

 

 

 

  • 20
    点赞
  • 104
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值