机器学习之SVM

注:我主要看的是《机器学习实战》这本书

SVM又是复杂的章节,但号称是最好的分类算法,所以不得不看完,断断续续花了两周。(给我两个月也难以精通啊)

还是和以往一样,此书涉及的数学原理实在太少,如果是哪些喜欢问为什么的读者根本就看不下去,我也是其一。

后来又看了很多博客,知乎。又找了《统计学习方法》,专门看支持向量机那一节,才算稍微搞懂,但依旧还有不少疑问。

和往常一样,先分享一下心得,疑问呢先放一放。

本文会讲解一个最最简单的例子,来说明什么是SVM,什么是SMO,其中含拉格朗日乘子等一系列相关数学公式。。。


假设我们有三个点,(3,3),(4,3),(1,1),其中前两个点属于A类(红色),后一个属于B类(蓝色)。要求画一条线,将这两类分开。

那,分割线有非常多种,而下图的那条,则是SVM给出的最优的分割线。

他满足:(3,3),(1,1)两点到此线距离相等,且最大。

而(3,3),(1,1)这两点则被叫做支持向量,对分割线起到支持(决定)作用。

算法会认为(4,3)这个点离的较远,不会对分割线产生效果,有(3,3)这个点足矣。



不得不说,这个结论其实还挺好理解的。但究其背后的数学解法就比较复杂了。

先来说几个概念。

超平面:上图的那个直线方程其实就是超平面。因为给的例子是二维,二维中的分割是直线。三维中的分割是平面,那四维五维呢?不管了,统一叫“超平面”。

超平面的一般方程:

其中b为常数,w和x呢,都是多维的向量。

方便理解,我们还是举上述二维的例子。对二维来说,w含有两个系数,x则表示x坐标和y坐标。(wT表示转制)


所以对二维来说,超平面就是直线方程。例中:x+y-4=0


间隔:点到超平面的距离。(label表示分类,一定要取1或者-1。 1代表A类,-1代表B类)


嗯,继续举例子方便理解。

算一下点(3,3)到x+y-4=0的间隔。

函数间隔是1*2=2,几何间隔则再除一个根号2.

算一下点(1,1)到x+y-4=0的间隔。

函数间隔是-1*-2=2,几何间隔则再除一个根号2.

看到没,神奇不?两个点到这条线的间隔是相等的!(其实二维几何间隔把label去掉,再加一个绝对值的话,就是点到线段的距离公式了。)


下面要讲一堆数学公式了,讲讲怎么求出超平面!非战斗人员请撤离。


SVM的核心数学问题就是求解这么一个数学公式。

我觉得不难理解,从右往左看。

{ }里,右边就是几何间隔,n代表点的数目,我们这里

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值