SVM学习笔记(一)

支持向量机即Support Vector Machine,简称SVM。一听这个名字,就有眩晕的感觉。支持(Support)、向量(Vector)、机器(Machine),这三个毫无关联的词,硬生生地凑在了一起。从修辞的角度,这个合成词最终落脚到”Machine”上,还以为是一种牛X的机器呢?实际上,它是一种算法,是效果最好的分类算法之一。
SVM是最大间隔分类器,它能很好地处理线性可分的问题,并可推广到非线性问题。实际使用的时候,还需要考虑噪音的问题。
本文只是一篇学习笔记,主要参考了July、pluskid等人相关文章。将要点记录下来,促进自己的进步。

SVM是最大间隔分类器

既然SVM是用来分类的,咱就举个简单的例子,看看这个SVM有啥特点。如下图所示,有一个二维平面,平面上有两种不同的数据,分别用圈和叉表示。由于这些数据是线性可分的,可以用一条直线将这两个数据分开,这样的直线可以有无数条。
大间隔分类器
绿线、粉红线、黑线都能将两类区分开。但是那种更好呢?感觉上黑线似乎更好些。粉红线和绿线都离样本太近。要是样本或分界线稍稍有些扰动,分类就可能出错。黑线好就好在离两类都有一个安全间隔(蓝线与黑线间的间隔),即使有些扰动,分类还是准确的。这个安全间隔,也就是“Margin”,当然我们觉得间隔越大分类越准确。
这种分类思想该作何理解呢,他和逻辑回归的分类有何区别呢?
当用逻辑回归的思想来处理分类问题时(将数据分成正负两类:正类y=1,负类y=0)。逻辑回归函数反映的是数据是正类的概率,当这个概率大于0.5时,预测这个数据是正类,反之,小于0.5时,预测这个数据是负类。它优化的目标是预测出错的概率越小越好。可以参看这里
SVM则不同,它要找出一条离两类都有一定安全间隔的分界线(专业点叫超平面)。优化的目标就是安全间隔越大越好。
因此,SVM也被叫做最大间隔分类器。

线性可分的情况

SVM是通过间隔来分类。我们怎么来定量地表达呢?先来看看线性可分的情况,分类函数

f(x)=wTx+b

x 是特征向量, w 是与特征向量维数相同的向量,也叫权重向量, b 是一个实数,也叫偏置。当 f(x)=0 时,表达的就是SVM的分类边界,也就是超平面。SVM分成的类y可以为1或-1(注意,与逻辑回归不同,不是1和0)。 f(x) 大于0的点对应y=1的数据, f(x) 小于0的点对应y=-1的数据。那我们关心的间隔怎么表达?
先来看看函数间隔,用 γ^ 表示: γ^=y(wTx+b)=yf(x) |f(x)| 值越大,也就是 yf(x) 越大,数据点离超平面越远,我们越能确信这个数据属于哪一类别,这是最直观的认识。
那这个是不是就完美表达了我们想要的间隔呢?看看这种情况,固定超平面,当 w b 同时乘以2,这个间隔就扩大了两倍。那怎么表达不受参数缩放的变化影响的间距呢?老老实实来画个图看看咯。
这里写图片描述
x 是超平面外的一点,它离超平面的距离是 γ ,显然 w 是超平面的法向量, x0 x 在超平面的投影。则 x=x0+γw||w|| ,其中 ||w|| 是范数,用初等数学来理解就是向量的长度,也叫向量的模。因为在超平面上, f(x0)=0 ,等式两边乘以 wT ,再加上一个 b ,化简可得 γ=wTx+b||w||=f(x)||w|| 。注意这个 γ 是可正可负的,为了得到绝对值,乘以一个对应的类别y,即可得出几何间隔(用 γ~ 表示)的定义:
γ~=yf(x)w=γ^w

这个 γ~ 是不受参数缩放影响的。于是,我们的SVM的目标函数就是
maxγ~

,当然它得满足一些条件,根据margin的含义
yi(wTxi+b)=γ^i
  • 1
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值