大白话SVM支持向量机:三天从入门到入坟(史上最详细推导)

支持向量机

支持向量机(SVM)是一种用于解决二分类问题的模型,与之前所有的模型相比,它要复杂得多。原因在于它涉及到的理论涵盖凸优化理论、对偶理论与核技巧等。最初,SVM适用于线性可分的数据集,但是引入了核函数后,它也能被用于线性不可分的情形。本质上,SVM是一个二次规划问题,现有的许多软件都可以用于求解,但考虑到效率问题,实际求解过程中运用的是John Platt提出的SMO算法。在深度学习出现之前,SVM被认为是效果最好、最强大的模型。

 

SVM的核心思想

       SVM的目标还是在于寻找一个超平面,将两种不同类别的数据分开。但SVM与其他模型不同的是,样本的正例和负例分别用1和-1标记,而不是1和0,这种标记方式是SVM比较特殊的地方,对于推导过程至关重要。我们需要解决如下一个二分类的问题。

这个数据集是线性可分的,在二维空间中超平面退化为1条直线。我们给出了2种能将数据分开的超平面,如下。

       显然,能够将这个数据集分开的超平面有无限多个,那么我们自然就要问一个问题:在这些超平面中,是否存在一个最好的超平面?SVM解决的正是这个问题,它能够在所有超平面中求解出一个最好的超平面。我们如何定义一个超平面有多“好”呢?好的超平面需要具备一定的鲁棒性。

       实线代表分割超平面,圈出来的2个数据点就是支持向量。SVM认为,分割超平面应能将数据尽可能的分开,也就是数据点要离超平面足够远(两条虚线与分割超平面之间的距离),这样就能容忍更多的离群点,提高模型的鲁棒性。

 

硬间隔SVM

分割超平面可以写为 ,我们在分割超平面两边新增加两个超平面(图中的虚线)用以度量分割的间隔。它们总是可以写为 。我们不妨假设分割超平面为 ,上下平移后 后,得到 ,这三个平面两边同时除以 得到:

 

再令

就得到:

我们的目标是让这三个超平面之间的间隔尽可能大,同时要保证没有数据点落在间隔之间。我们定义 的间隔为 ,则 的间隔也为 。因此我们只需要最大化 ,同时保证所有数据点距离 的距离大于 即可。

如上图所示

位于 上,且向量 的法向量 平行,即 之间的夹角为0。则它们的内积为:

同时





其中, ), ),则

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值