SupportVectorMachine支持向量机

Welcome To My Blog
支持向量机(support vector machine,SVM)是一种二分类模型,它的基本模型是定义在特征空间上的间隔最大的线性分类器,间隔最大使它有别于感知机.
有3类支持向量机模型:
1. 线性可分支持向量机
2. 线性支持向量机
3. 非线性支持向量机
(这三种模型建立思路很像,求解过程不同)

一.线性可分支持向量机

几何间隔与函数间隔的引出

超平面wx+b=0外一点x0到超平面的距离公式(几何间隔):

1.png

分母是w的二范式,不随x0的改变而改变,所以可以分子|wx0+b|能够相对地表示点x0距离超平面wx+b=0的远近.
一个点距离分离超平面的远近可以表示分类预测的确信程度.
wx0+b的符号与类标记y0的符号是否一致能够表示分类是否正确.
所以,可用y0(wx0+b)来表示分类的正确性及确信度,这就是函数间隔(functional margin)

函数间隔

超平面(w,b)关于样本点xi的函数间隔为:

2.png

超平面(w,b)关于训练集T的函数间隔为:
3.png

几何间隔

超平面(w,b)关于样本点xi的几何间隔为:

4.png

超平面(w,b)关于训练集T的几何间隔为:
5.png

硬间隔最大化

找到了超平面(w,b)关于训练集T的几何间隔后,自然地希望最大化这个几何间隔以保证之后分类预测的确信程度
目标函数和约束如下:
约束表示超平面(w,b)关于任意样本点的几何间隔大于等于超平面(w,b)关于训练集T的几何间隔

6.png

在约束中约去||w||并展开γ^
6.1.png

求出w,b的话问题就解决了,先别急,让我们化简一下上面的式子
注意到,如果对w,b同比例的放缩,即变成kw,kb,函数间隔yi(wxi+b)也会成比例k变化,而超平面(w,b)没有变化,
此时原问题和约束变为:
7.png

约掉k后,目标函数和约束没有改变,说明对w,b进行同比例放缩丝毫不影响目标函数和约束,那么可以选取合适的k让函数间隔γ^=1,也就是
8.1.png

这样一来,目标函数和约束就变成了:
8.png

把||w||挪到分子上平方一下再乘个常数就有了:
9.png

比最初的形式简化了不少,这是个带约束问题,通过Lagrange Multiplier拉格朗日乘子法化成无约束问题:
(原问题:极大极小)
10.png

具体原理可参考之前的文章Lagrange duality拉格朗日对偶性
对偶形式:

11.png

其中:
12.png

所以有:
13.png

进而有(最终形式):
下面的约束是求 min L(w,b,α)时得到的
这是个凸二次规划问题(目标函数是二次函数,不等式约束是仿射函数)
14.png

求解得到α*=(α1,α2,...,αN)^t,这是对偶问题的解,
可由α*得到w*,b*
15.png

之所以能从对偶问题获得原问题的解,是因为原问题为凸二次规划问题,并且解α*,w*,b* 满足KKT条件
有了w*,b*就能得到最大间隔分离超平面和分类决策函数:

16.png

支持向量

通过由α*得到w*,b*的公式可以知道,对应α*=0的实例xi对超平面(w*,b*)的两个参数都没有贡献,只有对应α*>0的实例xi对超平面(w*,b*)的两个参数有贡献,也就是说超平面完全由对应α*>0的实例决定,这些实例称为支持向量,由KKT的互补条件知,若α*>0,则有y(wx+b)-1=0,即wx+b=±1,说明支持向量都在间隔边界上

小结

对于线性可分SVM学习来说:

  1. 模型为分离超平面和决策函数
  2. 学习策略:硬间隔最大化(间隔的描述及约束)
  3. 学习算法:凸二次规划

二.线性支持向量机

通常情况下,训练数据中有一些特异点(outlier),将这些特异点去掉后,剩下的大部分样本点组成的集合是线性可分的.线性不可分意味着不是所有点都满足函数间隔大于等于1的约束,为解决这个问题,引入一个松弛变量ζi≥0,使函数间隔加上松弛变量后大于等于1.即,y(wx+b)+ζ≥1

软间隔最大化

对每个松弛变量ζi,支付一个代价ζi,目标函数变为

17.png

这里C>0称为惩罚参数,C越大则对错误分类的惩罚越大
最小化上述目标函数实现的是软间隔最大化,最小化上式包含两层含义:使1/2||w||^2尽量小,即间隔尽量大,同时使误分类点的个数尽量小.
硬间隔就是真正的间隔,软间隔是包含了代价项ζ的硬间隔
由上分析便得到了线性支持向量机的学习目标:
18.png

化为拉格朗日形式(不带约束)的原问题:
19.png

对偶问题:
20.png

其中:

21.png

进而:
22.png

所以对偶问题的最终形式:
23.png

与线性可分SVM的对偶最终形式相比只是α的约束不同,约束增强了
求解得到α*=(α1,α2,...,αN)^t,这是对偶问题的解,
可由α*得到w*,b*
24.png

有了w*,b*就能得到最大间隔分离超平面和分类决策函数:

16.png

支持向量

和线性可分SVM类似,超平面完全由对应α*>0的实例决定,这些实例称为支持向量,但是线性SVM的支持向量不一定都在间隔边界上

25.png

KKT互补条件之一:α*(y(w*x+b)+ζ-1)=0
当0<αi<C时,ζi=0,则y(w*x+b)-1=0,此时支持向量在间隔边界上
当αi=C时,ζi>0,支持向量可能在:
间隔边界与超平面之间:0<ζi<1
超平面上:ζi=1
误分类一侧:ζi>1

Hinge Loss Function合页损失函数

线性SVM的学习还有另一种等价模型,即最小化目标函数:

26.png

27.png

28.png

证明新目标函数与原问题等价时,主要抓住三点:
1. hinge loss≥0
2. 令[1-y(wx+b)]_+=ζ
3. 讨论1-y(wx+b)的取值范围
L(y(wx+b))说明了:
1. 点到超平面的函数距离≥1时,损失为0
2. 点到超平面的函数距离<1时,损失为1-y(wx+b)
下图蓝线代表hinge loss的图像
29.png

小结

对于线性SVM学习来说:

  1. 模型为分离超平面和决策函数(线性SVM的对偶形式)
  2. 学习策略:软间隔最大化(间隔的描述及约束)
  3. 学习算法:凸二次规划

三.非线性支持向量机

用线性分类方法求解非线性分类任务分为两步:
1. 将训练数据从输入空间(欧式空间或离散集合)映射到新的特征空间(希尔伯特空间)使数据在新特征空间中线性可分
2. 在新特征空间中用线性分类学习方法从训练数据中学习分类模型,使得输入空间中的超曲面模型对应特征空间中的超平面模型
Kernel trick(核技巧)便属于这样的方法

目标

30.png

K(x1,x2)=φ(x1)φ(x2)是个对称函数,叫作正定核(positive definite kernel)
一般只定义K(x1,x2),而不显式地定义φ(x),那么如何保证K(x1,x2)是正定核呢?
正定核的充要条件:
33.png

证明过程需要预备知识:构造希尔伯特空间

  • 定义映射φ并构成向量空间S(对加法和数乘运算封闭的集合)
  • 在S上定义内积构成内积空间(用到了欧式空间Gram矩阵的半正定性)
  • 将内积空间S完备化为希尔伯特空间

由α*得到b*

31.png

分类决策函数
32.png

常用的核函数

正定核的充要条件在构造核函数时很有用.但对于一个具体函数K(x,z)来说,检验它是否为正定核并不容易,因为需要对任意有限输入集{x1,x2,...,xm}验证K对应的Gram矩阵(在希尔伯特空间)是否为半正定的.实际问题中往往应用已有的核函数

  1. 多项式核函数(polynomial kernel function)
    34.png

    对应的支持向量机是一个p次多项式分类器,分类决策函数为:
    35.png
  2. 高斯核函数(Gaussian kernel function)
    36.png

    对应的支持向量机是高斯径向基函数(radial basis function)分类器,分类决策函数为:
    37.png
  3. 字符串核函数(string kernel function)
    定义在字符串集合上的核函数,字符串核函数应用在文本分类,信息检索,生物信息学等方面.
    k_n(s,t)给出了字符串s和t中长度等于n的所有子串组成的特征向量的余弦相似度(cosine similarity).直观上,两个字符串相同的子串越多,它们就越相似,字符串核函数的值就越大.字符串核函数可以由动态规划快速计算

SMO算法

SMO:sequential minimal optimization
利用SMO算法实现SVM的学习

30.png

SMO算法包括两个部分:

  1. 求解两个变量二次规划的解析方法(线性规划;把握好对g(x)和Ei的理解)
  2. 选择变量的启发式方法(KKT;|E1-E2|最大)

参考:李航,统计学习方法

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

推荐阅读更多精彩内容