支持向量机(SVM)详解上

支持向量机(Support Vector Machine, SVM)是一类按监督学习(supervised learning)方式对数据进行二分类的广义线性分类器(generalized linear classifier),其决策边界是对学习样本求解的最大边距超平面(maximum-margin hyperplane)

既然是分类算法,那么最重要的目的就是将两类数据尽可能的分开。当数据从二维扩展到多维时,将两类数据完全分开的边界就成了一个超平面。为了使这个超平面更具鲁棒性,我们会去找最佳超平面,以最大间隔把两类样本分开的超平面,也称之为最大间隔超平面。

图片

如上两个超平面都能将数据分开,但我们更倾向于选择第二个超平面。第二个超平面具有这样两个特点:

  1. 两类样本分别分割在该超平面的两侧

  2. 两侧距离超平面最近的样本点到超平面的距离被最大化了。

那么怎么求解这个超平面呢?我们可以这样理解,我们就是要求一个离边界点也就是支持向量距离最远的超平面就是我们要求解的超平面。

那么这里就不得不讲一下点到平面的距离是如何求解的了。考虑如下这个场景

图片

平面的公式是wTx+b=0,因为x‘和x”都在平面上,

所以wTx'=-b;wTx“=-b。我们要求的距离就是图中的dist。

我们可以换个想法,其实dist就是直线距离xx'在平面法向量w方向上的投影。投影公式是:直线距离*该直线在法向量上的单位向量。所以dist距离公式如下

图片

假设数据集有(x1,y1)(x2,y2)...(xn,yn)

y为样本的类别,当x为正例时,y=+1;当x为负例时,y=-1

超平面的方程y(x)=wTx+b; y(x)>0=>y=+1;y(x)<0=>y=-1

所以y*y(x)>0

所以我们可以将点到平面距离公式dist中的绝对值去掉,换成y*y(x),如下所示:

图片

由于我们的目标是离超平面最的点到超平面的距离最,所以我们的优化目标变成了如下所示:

图片

下一节 我们将详细讲解该目标函数如何求解,敬请关注

喜欢的话点个关注哦~ 会每天分享人工智能机器学习内容,回复关键字可获取相关算法数据及代码~

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值