周涛|如何向吃瓜群众解释支持向量机(SVM)

  • A+
所属分类:人物观点 数据挖掘

支持向量机英文全称:Support Vector Machine,数据极客们亲切地称之为SVM。这个抽象的概念用一个机器的名号作为大家的认知,给人一种莫名的神秘感。

但凡学过计算机或对统计机器学习有了解的应该对支持向量机都不陌生,甚至是了如指掌。毕竟,SVM 一直被认为是效果最好的现成可用的分类算法之一(其实有很多SVM的追随者都相信,“之一”是可以去掉的)。

随着机器学习的火热,可能经常有人问你这样的问题:

周涛|如何向吃瓜群众解释支持向量机(SVM)

但我们都知道,支持向量机并非是真正意义上的机器,而是一种算法,确切地说,是一类算法,虽说SVM实际上是一种分类器,但也被用来做回归。

如何将SVM用最通俗的语言来描述,reddit上的故事是这样的:

在很久很久以前,在一个村庄里住着一位退隐江湖的大侠,相传这位大侠剑法非常高明。

在一个月黑风高的夜晚,魔鬼抓走了大侠的妻子,大侠取出尘封多年的剑,决定去救他的妻子,但魔鬼和他玩了一个游戏。

魔鬼在桌子上似乎有规律放了两种颜色的球,说:“用你手中的剑分开它们?要求:尽量在放更多球之后,仍然适用。”
周涛|如何向吃瓜群众解释支持向量机(SVM)

大侠拔出利剑随手一挥,桌上出现一道裂痕,准确地分开了两种不同颜色的球。
周涛|如何向吃瓜群众解释支持向量机(SVM)

然后魔鬼,又在桌上放了更多的球,大侠如法炮制,手起刀落,虽然有一个球没有准确划分,但依然干得漂亮。
周涛|如何向吃瓜群众解释支持向量机(SVM)

大侠发现,剑痕的最佳位置,就是让剑痕离两边的球都有尽可能大的间隙。
周涛|如何向吃瓜群众解释支持向量机(SVM)

有了这样的思想,现在即使魔鬼放了更多的球,大侠仍然能够很好地划出分界线。
周涛|如何向吃瓜群众解释支持向量机(SVM)

当然魔鬼不会善罢甘休,于是把一堆球随手一扔:把它们分开。

周涛|如何向吃瓜群众解释支持向量机(SVM)

大侠看到这样摆放的球,也是有点懵逼的。就在魔鬼开启嘲讽模式在一旁装逼时,大侠准备尝试新的办法。

大侠左手在桌上一拍,球飞到空中。然后,凭借大侠的轻功,大侠用手中的剑划出一道光波,恰好穿过两种球的中间。

周涛|如何向吃瓜群众解释支持向量机(SVM)

从魔鬼的角度看这些球,这些球看起来像是被一条曲线分开了。
周涛|如何向吃瓜群众解释支持向量机(SVM)

大侠救回了妻子,然后故事在村里传开了,并被杜撰成了美丽的传说。无聊的大人们,把这些球叫做 「data」,把棍子叫做 「classifier」, 最大间隙 trick 叫做「optimization」, 拍桌子叫做「kernelling」, 那张纸叫做「hyperplane」。


对于很多分类问题,例如最简单的,一个平面上的两类不同的点,如何将它用一条直线分开?在平面上我们可能无法实现,但是如果通过某种映射,将这些点映射到其它空间(比如说球面上等),我们有可能在另外一个空间中很容易找到这样一条所谓的“分隔线”,将这些点分开,这就是SVM的基本原理。

SVM的一般做法是:将所有待分类的点映射到“高维空间”,类似大侠将桌面上的球放到空中;然后在高维空间中找到一个能将这些点分开的“超平面”,就像大侠用剑划出的一面光波。这在理论上是被完全证明了是成立的,而且在实际计算中也是可行的。

但是仅仅找到超平面是不够的,因为在通常的情况下,满足条件的“超平面”的个数不是唯一的。SVM 需要的是利用这些超平面,找到这两类点之间的“最大间隔”。为什么要找到最大间隔呢?因为分类间隔越大,对于未知点的 判断会越准确,也可以说是“最大分类间隔”决定了“期望风险”。

周涛|如何向吃瓜群众解释支持向量机(SVM)

上图中在最优超平面最大间隔处的两个平面上会有一些点,这些点支撑着这两个超平面,我们就把它们叫做 Support Vector(支持向量)。

SVM是一种有监督的学习方法,它在解决小样本、非线性及高维模式识别中表现出许多特有的优势,并能够推广应用到函数拟合等其他机器学习问题中。所以,在很多机器学习的问题中,采用SVM往往能取得不错的效果,所以这是机器学习中必须掌握且精通的东西。

那除此之外SVM还有其它的作用吗?当然,比如下图这位同学:

周涛|如何向吃瓜群众解释支持向量机(SVM)

据说这是当年匹兹堡G20峰会会场外的场景,当时很多民众在街头对自己支持的东西发表看法,这位来自匹兹堡大学的同学举着这块牌子引起了大家的注意。很多人说你支持自由民主活着支持减少环境污染大家都能理解,但是你支持的 Vector Machine 是什么鬼呢?

看着这位同学骄傲的眼神,我知道他装逼成功了。

周涛
深入浅出数据分析(中文版)
数学建模教材(包括十大算法、matlab、lingo、spss、exce以及多种实例模型)
小额消费信贷用户数据
2016年度中国软件开发者白皮书下载(PDF)

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: