机器学习笔记(13)---支持向量机SVM

本文介绍了支持向量机(SVM)的概念,强调了SVM作为优秀分类器的地位。文章详细讲解了间隔与支持向量的重要性,并探讨了如何找到具有最大间隔的划分超平面。此外,还引入了对偶问题,为解决SVM模型提供了另一种途径。
摘要由CSDN通过智能技术生成

前言

学习前几章很顺利,然后就觉得机器学习也不过如此,但学到这章时,发现如果没有一点理论基础,是看不懂的(如果不想看懂理论,可直接使用MLiA书上例子,只要知道怎么把数据组织成算法支持的数据类型即可),回想起看前几章为什么能这么顺利,原因是之前看过一堆相关视频和书籍。
所以,从本章开始,会先给出相关的理论,然后再举例并进行源码分析。如果想看算法的效果,可直接上代码,这样会有一个直观的认识,会加深后续对理论的理解。
学SVM这个知识点卡了我好久了,离上次机器学习相关的博客都已经三个多月了,虽然SVM还有好多知识点没弄明白,但是先进行下去,到时候再回来弄清楚每个知识点。

SVM所需要的背景知识

  • 拉格朗日乘数法,可参考《高等数学 第7版》同济大学下册 第九章“多元函数微分法”第八节多元函数的极值及其求法中和拉格朗日乘数法相关的内容。
  • 凸优化

支持向量机

间隔与支持向量

MLiA书上说,有些人认为SVM是最好的现成的(指分类器不加修改即可直接使用)分类器。SVM有很多实现,如SMO(Sequential Minimal Optimization, 序列最小优化)算法和kernel(核函数)算法。

要把给定的数据分隔开就需要一个分隔超平面,二维数据的分隔超平面就是一条线,三维的就是面,总之分隔超平面的维度就是所给定的数据维度减一维。我们的目标是找到离分隔超平面最近的点,确保它们离分隔超平面的距离尽可能远。这里点到分隔超平面的距离被称为间隔支持向量(support vector)就是离分隔超平面最近的那些点。

分隔超平面可通过如下线性方程描述:

wTx+b=0(1) (1) w T x + b = 0

其中 w=(w1;w2;;wd) w = ( w 1 ; w 2 ; … ; w d ) 为法向量,决定了超平面的方向; b b 为位移项,决定了超平面与点之间的距离。显然,分隔超平面可由法向量 w 和位移 b b 确定。(摘至西瓜书P121底部)

要计算点 A 到分隔超平面的距离,就需要给出点到分隔面的法线或垂线的长度,该值为:

r=|wTA+b|||w||(2) (2) r = | w T A + b | | | w | |

在Logistic回归一节介绍过分类函数Sigmoid,这里也需要一个类似Sigmoid的分类函数f(),将这个分类函数作用于 wTx+b w T x + b 得到 f(u)=f(wTx+b) f ( u ) = f ( w T x + b ) ,当 u<0 u < 0 时输出-1,反之输出+1,。和Logistic有所不同,那里得到的类别是0或1。令
{ wTxi+b+1,yi=+1;wTxi+b1,yi=1;(3)
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值