【机器学习基础】软间隔支持向量机

引言

在上一小节中,我们介绍了核支持向量机。于是,不管是简单的问题还是复杂的问题,我们都可以做得到。
然而,像高斯核的方法太复杂了,可能造成过拟合的问题。导致过拟合的现象的原因有可能是你选择特征转换太强大了,导致无法用最大间隔的方法控制模型的复杂度,还有一个原因是,如果坚持将所有的数据都做到正确分类,这样有可能将噪声也考虑到模型的构建之中,这样就会将噪声拟合进你的结果中去了。

软间隔支持向量机

第一步:容忍错误的发生

这是硬间隔支持向量机(hard-margin SVM)的基本定义,其中要求所有的数据都要分类正确,并且还要选择w最小的情况:


为了缓解这样的问题,不如我们容忍一些错误的发生,将发生错误的情况加入到目标式子之中,希望能得到一个错分类情况越少越好的结果。其中参数C代表了间隔和犯错情况的相对重要性(即C是对最大间隔[large margin]和噪声容忍度[noise tolerance]的权衡和折中),C比较大的时候代表犯错越少越好,C比较小的时候代表找到的w越短越好,也就是在对的数据上的间隔越宽越好。

这个式子有一个缺点,因为存在判断是非问题(booling problem)的运算,所以这不是一个线性的式子,于是就不能用二次规划的方法来解决。并且这种方法也没法衡量错误的大小。
为了解决这些问题,我们需要提出一个新的式子,这个式子能够区分小错和大错,而且它可以继续使用二次规划的方法来求解。

第二步:对于错误的衡量

下面的式子中的ξn是用来衡量数据犯了多大的错误,而不是数据犯了几个错误。并且这样的改变,将ξ作为一个变量加入到式子中去,得到ξ的一次式,这样可以用二次规划的方法来求解。



我们用ξ来记录违规数据距离边界的距离,并将这个距离纳入到最佳化的标准里面。


参数C控制我们到底要多大的边界还是更加在意违反边界的情形越少越好。
越大的C代表,我们宁可边界窄一点,也要违反的数据少一点。
小的C代表,我们希望得到更宽的边界。


第三步:推导对偶问题

我们接下来要做的是,推导上面问题的对偶问题,得到了对偶问题就可以很轻易的引入核技巧来轻易地做特征转换(feature transform)。
原始问题是这样的:



由于现在是两个条件,所以我们使用αn和βn来构造拉格朗日函数:



得到了拉格朗日函数后,我们就可以将其转化为对偶问题,并用KKT条件来简化。
我们想对ξn做简化,通过对ξn求偏微分:

这样我们就可以用αn来表示βn了,但是由于βn>0,所以αn还要有一个限制条件:




这样我们就可以去掉ξn和βn两个变量,得到如下的式子:

上面得到的式子就和硬间隔支持向量机的对偶形式很相似了,我们就可以对b和w求偏微分,得到和标准的支持向量机对偶问题几乎一样的答案:



这就是标准的软间隔支持向量机的对偶形式:



与硬间隔支持向量机不同的是,这里的αn有C这个上限的限制。

核软间隔支持向量机

接下来,我们得到了核软间隔支持向量机的算法步骤:



这里与之前硬间隔支持向量机不同的是在求b的过程是不一样的。现在因为是一个新的二次规划问题,其KKT条件已经变化了。

求b

我们对比一下硬间隔SVM和软间隔SVM的不同:



从上图看到,在求硬间隔SVM的b参数的时候,使用KKT条件中的互补松弛特性(complementary slackness),根据两个式子相乘为0,当αn>0的时候(即对应支持向量),求得b的表达式。
现在,我们在观察软间隔SVM的互补松弛特性。
根据上面两个式子,我们令αs不等于C,这样就使得ξs=0。这样我们就可以得到b的式子。

经过上面的一番解释,我们知道,这里要求b,不是像硬间隔SVM中那样要找一个任意的支持向量来计算b,而是找一个自由的支持向量(free SV),来计算b。


不同的C对应的效果


上面的图像是使用高斯核软间隔SVM,但是不同C的值的不同的分类效果。
当C=1的时候,蓝色区域表示圆圈的区域,红色区域表示红叉的区域,灰色的区域表示边界部分。这里我们看到存在错误的情况。
当C=10的时候,我们通过使用比较大的C来控制,我们希望分类要尽量减少错误,这里我们发现灰色的边界区域变窄了,但是犯错的数据减少了。
当C=100的时候,犯错的数据变少了,但是会出现过拟合的问题。
这告诉我们,要通过选择参数来避免过拟合问题。

αn的物理意义

我们可以根据之前的互补松弛特性的两个式子,将数据分成三种情况:

对于0 < αn < C的情况,ξn=0,这里对应的是在边界上的支持向量的数据
对于αn=0,ξn=0,这是没有违反边界,被正确分类的数据,这些点在边界的外面
对于αn=C,这种情形是违反边界的数据,图中用三角标注的数据,我们使用ξn记录下来数据到边界中线的距离(这里违反的数据有比较小的违反,即虽然在边界内,但是没有被错误分类;另一种是被错误分类的数据,是比较大的违反)

这里的αn的不同情况对于我们进行数据的分析是很有帮助的,它的不同的值能够说明其所代表的数据与边界是什么位置关系。


模型选择

通过交叉检验来选择模型参数


上面这个图表示的是使用高斯核SVM在不同的C和不同的γ的不同的边界表现,其中横轴对应不同C,而纵轴代表不同的γ。



上面这个图表示了使用交叉验证的方法我们选择误差最小的那个模型参数,我们这里只能选择几个不同的C和γ,比较一下哪个参数组合形式比较好。

SVM留一交叉验证误差与支持向量的关系

SVM中有个很有意思是关系,留一交叉验证的误差会小于等于支持向量在所有数据中的比例。
如果将非支持向量的那个数据去除,这对找到构造边界的最佳解没有影响,所以非支持向量在留一交叉验证的误差上的贡献一定是0,而支持向量在留一交叉验证的误差上的贡献可能是0也可能是1。所以得到了这个限制关系。


于是我们也可以根据支持向量的数量来进行模型参数的选择,但值得注意的是,支持向量的数量只能用于估计一个上限,但不一定是最好的,所以通常利用这种关系来排除一些明显不好的模型参数。


转载请注明作者Jason Ding及其出处
GitCafe博客主页(http://jasonding1354.gitcafe.io/)
Github博客主页(http://jasonding1354.github.io/)
CSDN博客(http://blog.csdn.net/jasonding1354)
简书主页(http://www.jianshu.com/users/2bd9b48f6ea8/latest_articles)
百度搜索jasonding1354进入我的博客主页

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

推荐阅读更多精彩内容

  • 引言 在上一小节中,我们介绍,用二次规划的方法来求解支持向量机的问题。如果用非线性的特征转化的方式,可以在一个更复...
    JasonDing阅读 3,320评论 0 7
  • 注:题中所指的『机器学习』不包括『深度学习』。本篇文章以理论推导为主,不涉及代码实现。 前些日子定下了未来三年左右...
    我偏笑_NSNirvana阅读 39,907评论 12 145
  • 本文参考整理了Coursera上由NTU的林轩田讲授的《机器学习技法》课程的第四章的内容,主要介绍了Soft-Ma...
    sonack阅读 10,589评论 1 6
  • 【概述】 SVM训练分类器的方法是寻找到超平面,使正负样本在超平面的两侧(分类正确性即“分得开”),且样本到超平面...
    sealaes阅读 10,997评论 0 7
  • “一十一点一十一分,我在想你……” 街头,人潮拥挤,期待着偶然,期待着遇见 岁月匆匆,时光浅浅,每一个11:11,...
    沫清风阅读 519评论 0 1