原理就是这么简单 机器学习算法 - SVM上篇(理论基础)

Date: 02/01/2018

在学习SVM的时候,很多小伙伴总是觉得这个高大上的算法不好理解,学习的时候还有点印象,但是时间一长,又忘记了。
随着学习进一步的理解我发现数学理论是理解SVM必不可少的要素。

那需要什么数学理论才能将SVM算法理解的深刻到位呢?

答案: 就是这些凸优化的知识(拉格朗日函数,对偶函数,KKT条件

很多小伙伴说看见数学公式和这些抽象的概念推导就感觉到头痛。

如果你是这样的小伙伴那这篇文章就很适合你。

接下来我会用很直观的角度来描述SVM的必备数学知识:

拉格朗日函数,对偶函数,KKT条件

拉格朗日函数

首先 我们都知道无约束的优化问题(例如:线性回归),我们可以用梯度下降法和拟牛顿法等方法来进行求解,这很好理解,但是针对有约束的优化问题(例如:SVM),我们该怎么办呢?

聪明的小伙伴可能会想到能不能把有约束优化问题转化成无约束的优化问题呢?

答案是肯定的,那么就要用到我们要介绍的第一个利器“拉格朗日函数”。下面有个例子:
我们有如下的优化目标:


1.JPG

其中 subject to 表示约束条件, 通常来讲约束条件分为 不等式约束条件等式约束条件

我们第一个主角拉格朗日函数就是将这两种约束条件和目标函数放入同一个函数中,那么我们只需要关注这个新的函数就可以了。(是不是觉得拉格朗日函数没那么难理解了呢?)

下面就是拉格朗日函数:


2.PNG

fi(x) 为不等式约束 就是上面的h1(x)
vi(x) 为等式约束 就是上面的h2(x)

和 v 被称为对偶变量(只是个名字没什么大不了)

  • 其中 >=0, 这个需要好好理解一下, 因为fi(x) 需要<=0 所以如果当fi(x)不满足约束条件的时候,也就是fi(x)>0时 要进一步惩罚使得这一项成为一个更大的数 所以 i fi(x) 要保证和 fi(x) 保证同号。
    从而得到 i * fi(x) <= 0

  • 其中 hi(x)= 0, 因为是等式约束的部分,所以都是等于0的
    所以 vi * hi(x) = 0

那么为了使得 L(x, ,v)= f0(x),我们就可以不关心约束项的部分了。
其实就是让约束等于0。

那我们该怎么办呢?
请注意 : 入*i fi(x) <= 0 , vi * hi(x) = 0 , 那他们两个和的最大值不就是0嘛!
也就是取一个max即可,即如下:


3.PNG

这样我们原来的优化问题就变成了:

min max(L(x, ,v))

那变型成这样约束为0的式子之后该怎么办呢?
接下来就是我们要介绍的对偶理论可以很好的解决这个问题。

对偶

首先我先给出对偶函数的定义:


4.PNG

我们可以看到 对偶函数只不过就是把拉格朗日函数以(,v)为变量,取得使其最小的函数嘛,请注意这时候变量不是x哦!

我们再来仔细看看这个函数,因为此时变量是(,v),
我们也可以有如下定义

  • Z = [,v] ( 变量 )
  • F = [f(x),v(x)] (系数)
  • B = f0(x) (偏置)

那么原来的g函数也就变成了 g(,v) = min ( F.T * Z + B ), 其中 f(Z) = F.T * Z + B是一个仿射函数。

这样很清晰的可以得出这个g 是 f(Z)的逐点下确界 (也就是把每项取最小)。

并且我们知道有如下结论:
结论一,所有仿射函数都是即凸且凹函数(Boyd 的 《Convex Optimization》)
结论二,凹函数的逐点下确界还是凹函数(Boyd 的 《Convex Optimization》)

那么可以得出对偶函数是一个凹函数,那么它的局部最大解,即是全局最大解,直观的认识如下图:


5.png

这个结论就非常的重要,不论原函数有多么复杂,有多么的难优化,但是它的对偶函数总是一个凹函数,总能找到最大的点。
到这里我们已经将对偶函数解释清楚了。

那么问题来了:

对偶函数又是怎么运用而来获得原函数的最优解的呢?

首先我们重新看一下之前拉格朗日函数的形式:

min max(L(x, ,v))

其中max(L(x, ,v)) = f0(x). 所以拉格朗日函数的最优解必然是
Optimal = min f0(x).

刚才我们又得到对偶函数
其中:

  • i * fi(x) <= 0
  • hi(x)= 0
  • vi * hi(x) = 0

那么 max g(,v) <= f0(x)

那么也就是说对偶函数的最大值小于等于原拉格朗日函数的最小值

那么如果对偶函数的最大值恰好等于拉格朗日函数的最小值, 那么用对偶函数来解原问题就会变得很简单。(此时被称为强对偶

怎么才能得到强对偶呢?接下来就是我们要讲的KKT条件了。

KKT 条件

我们现在已经知道了 KKT 条件其实就是得到强对偶的充分必要条件,那它具体都是些什么条件呢?

我们重新看一下刚才的对偶函数 g(,v)

2.PNG

其中:

  • i * fi(x) <= 0
  • hi(x)= 0
  • vi * hi(x) = 0

若要取得他的最大值。

最重要的一条: 让 i * fi(x) 这一项等于0

若x* 是取得最优的x 那么KKT条件如下:

1 - fi(x) <=0
2 - hi(x
) = 0
3 - i >= 0
前三条很简单之前已经讲解过

4 - 入*i * fi(x) = 0
第四条就是最重要的一条, 其中 i 和 fi(x) 不全为 0

5 - (∂L(x,λ,μ))/∂x |(x=x* )=0
第五条就是让其梯度为0,因为极值点梯度为0

到现在我们已经一环扣一环的讲解了这三个理解SVM的必备数学推导。

其实SVM就是一个满足KKT条件的有约束优化问题,如果具备了这些理论基础我相信记忆SVM会变得非常有层次。

接下来的文章我会讲解到底SVM是怎么运用这些原理来进行分析的解决的,如果你已经了解了本篇文章的所有内容,相信SVM会变得非常简单!

由于作者水平有限,如有错误请多多包涵,欢迎指正!非常感谢!

  • Boyd, Stephen, and Lieven Vandenberghe. Convex optimization. Cambridge
    university press, 2004.

  • 李航,《统计学习方法》

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

推荐阅读更多精彩内容

  • 本章涉及到的知识点清单:1、决策面方程2、函数间隔和几何间隔3、不等式约束条件4、SVM最优化模型的数学描述(凸二...
    PrivateEye_zzy阅读 13,186评论 3 10
  • 机器学习是做NLP和计算机视觉这类应用算法的基础,虽然现在深度学习模型大行其道,但是懂一些传统算法的原理和它们之间...
    在河之简阅读 20,479评论 4 65
  • 参考Jerrylead和july-支持向量机通俗导论 一、由逻辑回归,引申出SVM(线性可分的SVM) 1.1 逻...
    小碧小琳阅读 1,430评论 0 2
  • 【概述】 SVM训练分类器的方法是寻找到超平面,使正负样本在超平面的两侧(分类正确性即“分得开”),且样本到超平面...
    sealaes阅读 10,998评论 0 7
  • ICO : 的意思就是首次公开募股。 这一次去敦煌的活动是我无意中点开的,但是没有想到短短的几个小时就对我产生了很...
    了无所求阅读 178评论 0 0