Chinaunix首页 | 论坛 | 博客
  • 博客访问: 4466497
  • 博文数量: 1214
  • 博客积分: 13195
  • 博客等级: 上将
  • 技术积分: 9105
  • 用 户 组: 普通用户
  • 注册时间: 2007-01-19 14:41
个人简介

C++,python,热爱算法和机器学习

文章分类

全部博文(1214)

文章存档

2021年(13)

2020年(49)

2019年(14)

2018年(27)

2017年(69)

2016年(100)

2015年(106)

2014年(240)

2013年(5)

2012年(193)

2011年(155)

2010年(93)

2009年(62)

2008年(51)

2007年(37)

分类: IT业界

2017-12-14 11:42:49


作者:鲁伟

一个数据科学践行者的学习日记。数据挖掘与机器学习,R与Python,理论与实践并行。个人公众号:数据科学家养成记 (微信ID:louwill12)

接着前面朴素贝叶斯、贝叶斯网络和神经网络算法之后,笔者继续往后学习了其他分类算法,本期给大家介绍声名斐然的SVM,也就是支持向量机(Support Vector Machines)算法。不过说实话,这东西确实不好弄懂,更不好跟大伙解释清楚,所以写起来更不容易。在断断续续硬啃了几天理论和公式之后,就去CSDN和知乎专栏上各种转悠。终于,笔者点开了reddit上一个关于SVM的帖子 Please explain Support Vector Machines (SVM) like I am a 5 year old ,又参考了知乎用户关于这个帖子的解释,便也把这个帖子拿来和大家一起看看,怎样才能像一个机器学习老司机一样跟人解释SVM。

原文是这样的:

一名用户问如何才能像老司机一样解释SVM,另一名用户就做了如下回答:

比方说现在桌子上有两种颜色(红色和蓝色)的球需要分类(如图),我们有一根棍子作为工具,如何才能准确的分类呢?

于是你眼睛一瞧,便不假思索的将棍子往中间一放,心想这还不简单?


正当你沾沾自喜的时候,不知从哪走过来一帮坏蛋,他们往桌子上放了更多的球,这时候你的棍子勉强能将红球和蓝球分开,但还是有一个红球被错分到了蓝球阵营。


所以SVM便是将你手上的棍子放在最佳位置,这个最佳位置使得棍子两边的分类球有着最大的间隔


所以现在即使这帮坏蛋往桌子上放更多的球,你放的棍子仍然是一个比较好的分类器。


SVM的精髓远不止于此。这些坏蛋们看到你已经掌握了划分的技巧,便提高了问题的难度,于是对于你来说新的挑战来了:两种颜色的球被混合到一起了。


嘿!这下好玩了,世上可没有哪种棍子能将上面的球分开了。你看着手中的棍子绞尽脑汁的思考着,忽然你灵机一动,猛地一拍桌子,所有的球顿时都飞到了空中,说时迟那时快,你闪电般的抄起一张纸,刷的一下就飞到两种球中间,成功的将两种球分开了。

现在站在这些坏蛋的角度看,这些球就好像被一条曲线给分开了。


再后来,便有了现在大名鼎鼎的SVM算法。这些球被称为数据,当时你手上的棍子被称之为分类器,使得棍子两边间隔最大叫做最优化,拍桌子那个技术被叫做核技术,那张被你抄向空中的纸叫做超平面,棍子由直线变成曲线便叫做软化

怎么样?对看起来很高深的SVM算法是不是明白点什么了?笔者也不想说枯燥的定理和公式,便千辛万苦找到了这篇文章,结合着前辈们的解释就给译过来了。当然了,这里只是简化理解一下SVM,具体SVM的理论内核,如何计算实现,还由各位去补充机器学习算法知识啦。

阅读(590) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~