支持向量机SVM

本章参照周志华《机器学习》第六章编写
支持向量机是一个经典的二分类模型,基本模型定义为特征空间中最大间隔的线性分类器。其优化目标是间隔最大化。
介绍了 SVM 的基本概念,从 hard margin 开始,推导了SVM的数学表达式;之后介绍了向高维特征向量空间映射的核函数;然后介绍了 soft margin;最后介绍了 SVR,即在回归问题中 支持向量机的应用。

6.1 间隔与支持向量

这里首先需要明白支持向量机(Support vector machine,SVM)是应用于线性可分类的情况下的。
对于线性可分类的问题,我们企图寻找一个超平面可以将样本进行分类。但实际情况中,我们可以找到多个超平面,至于选择哪一个,是要根据间隔(Margin)来决定的。
在样本空间中,划分超平面可以通过w^Tx+b=0来描述。其中w=(w_1,w_2,...,w_d)为法向量,而 b 为位移项,决定了超平面与原点之间的距离。这个东西可以类比于我们在二维空间中的斜率和截距来确定一条直线。而样本空间中任一点 x到超平面 (w,b) 的距离经过证明,为:
r={|w^tx+b| \over ||w||}
假设超平面可以将样本(x_i,y_i)正确分类,则有:
w^Tx_i+b\geq+1,y_i=+1; w^Tx_i+b\le-1,y_i=-1;
如下图所示,这距离超平面最近这几个点(向量)正好使得等号成立,叫做支持向量(support vector),而两个异类支持向量到超平面的距离和
\gamma={2\over||w||}
称作间隔。
我们想要找到鲁棒性最好的超平面,即要使得 maigin 最大:
\max_{w,b}{2\over||w||}\\ s.t. \space \space y_i(w^Tx_i+b)\geq, i=1,2,...,m
显然为了最大化间隔,等价于最小化 ||w||^2
上式重写为
\min_{w,b}{{1\over2}||w||^2}\\ s.t. \space \space y_i(w^Tx_i+b)\geq, i=1,2,...,m
到了这里,就是支持向量机SVM的基本形式。

特征空间中SVM的支持向量与间隔

6.2 对偶问题

上面我们分析得出了需要通过求解最大化间隔算出参数wb从而确定超平面
f(x)=w^Tx+b
但是在求解问题过程中,直接求解是一个凸二次规划问题,不好计算,这里我们考虑做对偶化处理。

这里做对偶化有2个原因:
首先使得问题更容易求解
其次对偶化求解之后出现了向量乘积的形式

这里用 lag 乘值法来做对偶。首先写出来上面求最值问题的 lag 函数



上式很容易验证:当其中有一个约束条件不满足时,L的最大值为 ∞(只需令其对应的α为 ∞即可);当所有约束条件都满足时,L的最大值为1/2||w||^2(此时令所有的α为0),因此实际上原问题等价于:



将最大值最小值交换一下(需要满足KKT条件),变成了原问题的对偶问题:

这样就将原问题的求最小变成了对偶问题求最大(用对偶这个词还是很形象),接下来便可以先求L对w和b的极小,再求L对α的极大。
(1)首先求 L 对 w 和 b 的极小,分别求偏导为0:



将结果带回L:

(2)接着求L关于 \alpha 的极大,通过SMO算法求解(这里不做深入了解):

(3)根据求出的 \alpha,计算出 w 和 b,从而得到分类超平面参数:

在对新的点进行预测时,实际上就是将数据点x*代入分类函数f(x)=w’x+b中,若f(x)>0,则为正类,f(x)<0,则为负类,根据前面推导得出的w与b,分类函数如下所示,此时便出现了上面所提到的内积形式。

即有:


最终求得超平面

需要注意的是:这里实际上只需计算新样本与支持向量的内积,因为对于非支持向量的数据点,其对应的拉格朗日乘子一定为0,根据最优化理论(K-T条件),对于不等式约束y(w’x+b)-1≥0,满足:

所以引出了一个SVM的重要性质:训练完成后,大部分的训练样本不需要保留,SVM的最终模型只与支持向量有关。

6.3 核函数

很多情况下,问题往往不满足线性可分条件(或者说在当前的特征向量空间下不满足)。经过理论证明,原始特征空间是有限维,那么一定存在一个高维特征空间使得样本存在线性可分超平面。
所以对于这种问题来说,我们通常的做法就是把特征向量映射到跟高维度的特征空间上。
与之前的计算方法相同,通过对偶法,最终求得:


映射后的超平面

其中 \phi 代表映射关系。
由于这里直接计算,可能面临维度非常高的情况,所以要借用核函数的概念,将最终超平面的结果写成核函数展开的“支持向量展式(support vctor expansion)”:


支持向量展式

因此在线性不可分情况下,核函数的选择成了SVM最大的变数。
显然如果已知映射关系则可以求出核函数,但是一般情况下我们是不知道映射关系的。同时核函数要满足如下条件:
核函数满足的条件

可以看到,核函数的构造是十分苦难的,一般的做法都是从已有常用核函数中进行选择:
常用核函数

当然也可以是这些核函数的线性组合、内积、函数计算等。

6.4 软间隔和正则化

我们考虑这样一个问题,其实在现实问题中,很难找到一个核函数使得样本线性可分,即使找到,也难以保证是过拟合带来的线性可分。于是,我们引入软间隔的概念。
所谓软间隔,就是说我们允许一小部分的样本出错:

1.允许一小部分样本不满足约束条件 y(w`x+b)≥1;
2.同时使得不满足的样本点尽量少

在这样的条件下,优化目标可以写成


软间隔SVM优化目标

其中C是一个常数,损失函数 z<0 表示不满足约束,这时候权值为1,代表有损失; z≥0 代表满足约束,权值为0,代表没有损失。当常数C取无穷时,为了满足最小化,所有样本都必须满足约束,即后面的损失项必须全部为0;反之,允许部分样本不满足约束,也就是我们现在讨论的软间隔问题。
0/1 损失函数跟阶跃函数非常相似,虽然其数学含义和损失对应的含义一致,但是由于其数学性质不佳,导致上面的式子难以求解。所以通常用其他的函数来代替 0/1 损失函数。


软间隔损失函数

这里我们先定为 hinge 损失函数,并且引入“松弛变量”,上式写为:
软间隔支持向量机数学表示

可以看到其实“松弛向量”对应的就是最开始的损失函数那一堆东西,直观上也很好理解。
这里的C也是一个参数,控制着目标函数与新引入正则项之间的权重。
显然,每一个样本数据都对应有自己的松弛变量,表示该样本不满足约束的程度。
对于这含有正则项的问题求解,还是跟之前的求解步骤一样,先用 lag 变成原问题的对偶问题:


软间隔SVM对偶问题

将“软间隔”下产生的对偶问题与原对偶问题对比可以发现:新的对偶问题只是约束条件中的α多出了一个上限C,其它的完全相同。

6.5 支持向量回归

前面我们说的都是用SVM来解决分类问题。现在我们看一下对于回归问题,SVM也是可以用的,此时叫做SVR(support vector regression)。
对于传统的回归问题解法,都是根据预测值与真实值之间的差来计算损失,当二者完全相同时候,损失才为0。而SVM式的解法则是这样:假设出我们能够容忍预测与真实值之间的最大偏差为 \theta,那么我们就可以看做,只有当偏差超过 |\theat| 时候(绝对值),才计算误差,也就是说我们得到了一个以 f(x) 为中心, margin = 2*\theta 的SVM,若训练样本落入此间隔带,则认为预测完全正确。
下面就是一系列的数学推导,这里我们先不做深入研究。

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

推荐阅读更多精彩内容