SVM支持向量机

SVM是数据挖掘算法中比较复杂难懂的,反复观看斯坦福机器学习的视频, 以及网上零散学习各种数学和SVM相关资料, 对SVM还只能算有个粗浅的理解,写篇文章梳理下SVM的基本脉络,和大家分享下,有不正确之处请指正。

SVM介绍

SVM支持向量机(英文全称:support vector machine)是一个分类算法, 通过找到一个分类平面, 将数据分隔在平面两侧, 从而达到分类的目的。
如下图所示, 直线表示的是训练出的一个分类平面, 将数据有效的分隔开。


SVM分类示意图

SVM实现原理

SVM的分类基本思路是找到一个分类平面, 下面重点探讨下如何找到这个平面。 先梳理下SVM求解的基本思路;

Paste_Image.png

如图SVM的推导分为5个步骤:

  1. 用数学来定义要求解的问题
    SVM是求解一个平面S:y = wx + b, 其实就是求解参数w, b。如何来求解w, b呢? 怎么判断训练的w, b构成的平面已经足够好呢? 这就需要把问题建模成一个数学问题(称为原始问题),从而明确求解的目标以及约束条件。

  2. 求解原始问题转换为二次凸函数+约束条件的优化问题
    原始问题很难求解出参数, 转换为二次凸函数+约束条件的优化问题, 这种转换保证两个函数取最优解时,参数是相同的。做这种转换的主要原因是二次凸函数和约束条件有成熟的计算方法和理论支撑(拉格朗日优化理论)。

  3. 拉格朗日优化+对偶特性构建方程
    将w, b参数优化转换为对参数alpha的优化(alpah为拉格朗日约束函数的参数)

  4. SMO求解alpha最优值
    通过上步构建的方程, w, b可以通过alpha来表示。 SMO可以求解出alpha, 再通过alpha求出w,b。 到此平面的方程就可推导出来。

SVM的数学定义

SVM是要找到最合适的分类平面, 那么怎么才算最合适的? 最直接的评估标准:被分隔的两边数据距离平面间隔最大, 换句话,SVM就是获取最大间隔的超平面。下面介绍两个衡量样本到超平面间隔的定义。

  1. 函数间隔
    在超平面w * x + b = 0确定的情况下,|wx+b|表示点距离超平面的距离,而超平面作为二分类器,如果wx+b>0, 判断类别y为1, 否则判定为-1。从而引出函数间隔的定义:
单样本函数间隔

其中y是训练数据的类标记值, 如果y(w^T * x + b) >0说明,预测的值和标记的值相同, 分类正确,而且值越大,说明点离平面越远,分类的可靠程度更高。这是对单个样本的函数定义, 对整个样本集来说,要找到所有样本中间隔值最小的作为整个集合的函数间隔:

整个数据集的函数间隔

即w和b同时缩小或放大M倍后,超平面并没有变化,但是函数间隔跟着w和b变化。所以,需要加入约束条件使得函数间隔固定, 也就是下面介绍的几何间隔。

2.几何间隔
根据点到平面的距离公式和w*x+b=0平面公式, 推导得到几何间隔定义:

Paste_Image.png

和函数间隔类似, 为得到r的绝对值, 我们定义几何间隔:在上述公式中乘以y值, 同时也得到与函数间隔的关系:几何间隔就是函数间隔除以w的范式。

Paste_Image.png

为方便推导和优化, 令函数间隔等于1得到最大间隔分类器的原始定义:

Paste_Image.png

最大间隔分类器就是我们求取的分类超平面, 等于max(几何间隔), 而函数间隔假设为1,就可得到最大间隔超平面: max(1/||w||), 而约束条件是因为函数间隔是所有样本点的间隔函数中最小值。

SVM的二次凸函数和约束条件

最大间隔分类器的求解, 可以转换为上面的一个最优化问题, 即在满足约束条件:

Paste_Image.png

求出就最大的1/||w||。
为更好的利用现有的理论和计算方法, 可以将求解1/||w||最大值, 转换为一个二次凸函数优化问题:求解 Min(1/2 * (||w||)^2 ), 两者问题是等价的。原来的问题转换为二次凸函数优化问题:

Paste_Image.png

拉格朗日构建方程

在对二次凸函数进行优化前,先讨论下对偶性问题。 如下图所示, 假设一个函数F(x,y) = f(x, y) + a * (g(x, y) - c), 椭圆线是f(x, y)在平面上的等高线, 绿色是g(x, y)=c的轨迹。


拉格朗日

从图上可以看出, F(x, y)的极值点肯定是f(x,y)和g(x,y)-c相切的点, 这点上两个曲线的法向量平行。从而可以得到如下结论:

Paste_Image.png

类似的,可以将1/2 * ||w|| ^2优化函数和约束条件结合起来, 构建一个函数:

Paste_Image.png

其中ai是拉格朗日乘子。

利用对偶性的结论, 对L(w,b,a)关于w和b求偏导数:


Paste_Image.png

将上面两个等式,代入L(w, b, a)函数,最终最大间隔分类器优化文件, 就转换成如下定义(过程太过复杂,直接看下结论就可以), 注意这个公式中只涉及求解ai的极大值, 不涉及w, b参数的求解, 因为w, b都可以用ai来表示, 求出ai后, 自然就求出了w,b的值。


Paste_Image.png

SMO算法求解alpha

上面推导的公式, 是通过SMO算法来求解的。最常见的是Platt SMO算法 , 这个算法是在1996年John Platt 发布的。SMO算法(Sequential Minimal Optimization)全称是最小序列优化。SMO的基本思路类似动态规划, 也是一种启发式算法,它将原优化问题分解为多个小优化问题来求解,并且对这些小优化问题进行顺序求解得到的结果作为作为整体的结果。本文不详细介绍, 后续文章更新。

后记:

  1. 本文大体梳理下SVM的推导求解过程, 但这个推导只针对线性的分类超平面,非线性分类超平面需要用到核函数, 将低维线性不可分通过空间映射到高维, 从而变得线性可分。
  2. SMO的具体用法和实现代码先记下, 有时间再更新。

介绍一篇比较总结比较好的文章:
http://mp.weixin.qq.com/s/Uha_MJQtJiWRhBuVW32y9g

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 158,117评论 4 360
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 66,963评论 1 290
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 107,897评论 0 240
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,805评论 0 203
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,208评论 3 286
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,535评论 1 216
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,797评论 2 311
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,493评论 0 197
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,215评论 1 241
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,477评论 2 244
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 31,988评论 1 258
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,325评论 2 252
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 32,971评论 3 235
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,055评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,807评论 0 194
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,544评论 2 271
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,455评论 2 266

推荐阅读更多精彩内容