支持向量机(二)——线性可分支持向量机求解

〇、说明

支持向量机(Support Vector Machine,SVM)是监督学习中非常经典的算法。笔者主要参考学习的是李航老师《统计学习方法(第二版)》[1]和周志华老师的西瓜书《机器学习》[2]。

如有错误疏漏,烦请指正。如要转载,请联系笔者,hpfhepf@gmail.com。

一、问题描述

如此系列笔记的上一篇《支持向量机(一)——线性可分支持向量机导出》[3]所述,给定线性可分训练数据集 T=\{(x_{1},y_{1}),(x_{2},y_{2}),…(x_{N},y_{N})\},其中x_{i}\in \mathcal X = \mathbb{R}^ny_{i}\in \mathcal{Y}=\{+1,-1\}i=1,2,\cdot \cdot \cdot ,N

求解如下优化问题的最优解

优化问题一:

\begin{split}&\mathop{min}\limits_{w,b}  \quad & \frac{1}{2} ||w||^2 \\&s.t. & y_{i}(w\cdot x_{i}+b) \geq 1,\ \ i=1,2,\dots,N\end{split} \tag{1}

可得最大间隔分离超平面

w^*\cdot x+b^* =0 \tag{2}

和对应的分类决策函数

f(x)=sign(w^* \cdot x +b^*) \tag{3}

二、朗格朗日对偶算法

优化问题一(式(1))是一个凸二次规划问题,可以通过求解拉格朗日对偶问题来求解。关于凸优化内容可以参见笔者相关笔记。

构建拉格朗日函数

L(w,b; \alpha )=\frac{1}{2}||w||^2+\sum_{i=1}^N\alpha_{i}(1-y_{i}(w\cdot x_{i}+b))   \tag{4}

其中,\alpha =(\alpha_{1},\alpha_{2},\dots,\alpha_{N})^T,\ \alpha_{i} \geq 0为拉格朗日乘子组成的向量。

原问题是凸优化问题,则拉格朗日强对偶性成立,所以如下优化问题和原优化问题等价,具体请参见[4]

优化问题二:

\mathop{max}\limits_{\alpha} \ \mathop{min}\limits_{w,b} \ L(w,b;\alpha) \tag{5}

也就是说,优化问题二的最优解,即是优化问题一的最优解。

三、求解拉格朗日对偶问题

第一步,先求解 \mathop{min}\limits_{w,b} \ L(w,b;\alpha)

对拉格朗日函数分别对wb求偏导,并令其等于0。

\frac{\partial}{\partial w} L(w,b;\alpha)=w-\sum_{i=1}^N \alpha_{i}y_{i}x_{i}=0 \tag{6}

\frac{\partial}{\partial b} L(w,b;\alpha)=-\sum_{i=1}^N \alpha_{i}y_{i}=0 \tag{7}

可得

w=\sum_{i=1}^N \alpha_{i}y_{i}x_{i} \tag{8}

\sum_{i=1}^N \alpha_{i}y_{i}=0 \tag{9}

(8)式和(9)式代入拉格朗日函数((4)式)

\begin{align}L(w,b;\alpha) =& \frac{1}{2} ||w||^2 + \sum_{i=1}^N \alpha_{i}y_{i}(1-(w \cdot x_{i}+b)) \\=& \frac{1}{2} \sum_{i=1}^N\sum_{j=1}^N \alpha_{i} \alpha_{j} y_{i} y_{j}(x_{i} \cdot x_{j}) + \sum_{i=1}^N \alpha_{i} y_{i} - \sum_{i}^N \alpha_{i} y_{i}((\sum_{j=1}^N \alpha_{j} y_{j} x_{j}) \cdot x_{i}) - b \sum_{i=1}^N \alpha_{i} y_{i} + \sum_{i=1}^N \alpha_{i} \\=& -\frac{1}{2} \sum_{i=1}^N\sum_{j=1}^N \alpha_{i} \alpha_{j} y_{i} y_{j}(x_{i} \cdot x_{j}) + \sum_{i=1}^N \alpha_{i} \end{align}

也即

\mathop{min}\limits_{w,b} L(w,b;\alpha) = -\frac{1}{2} \sum_{i=1}^N\sum_{j=1}^N \alpha_{i} \alpha_{j} y_{i} y_{j}(x_{i} \cdot x_{j}) + \sum_{i=1}^N \alpha_{i}  \tag{10}

第二步,求解对偶问题\mathop{max}\limits_{\alpha}\ \mathop{min}\limits_{w,b} \ L(w,b;\alpha)

(10)式和(9)式,可得

优化问题三:

\begin{split}&\mathop{min}\limits_{\alpha} \ &\frac{1}{2} \sum_{i=1}^N\sum_{j=1}^N \alpha_{i} \alpha_{j} y_{i} y_{j}(x_{i} \cdot x_{j}) - \sum_{i=1}^N \alpha_{i} \\& s.t. & \sum_{i=1}^N \alpha_{i} y_{i}=0 \\&& \alpha_{i} \geq 0, \ \ i=1,2,\dots,N\end{split} \tag{11}

这就是线性可分支持向量机的对偶优化问题。求解此优化问题请参见此系列笔记的后续篇章(敬请期待)。

第三步,求解分类超平面(w^*,b^*)和分类模型

当求解优化问题三(式(11))的最优解为\alpha^* = (\alpha^*_{1},\alpha^*_{2},\dots,\alpha^*_{N})^T,根据式(8)可得

w^*=\sum_{i=1}^N \alpha^*_{i}y_{i}x_{i} \tag{12}

接下来求解截距b的最优解b^*

根据凸优化问题的KTT条件:优化问题一(式(1))是凸优化问题,则满足KKT条件的点是原问题和对偶问题的最优解(具体请参见[4])。

\begin{align}& y_{i}(w^*\cdot x_{i}+b^*) \geq 1,\ \ i=1,2,\dots,N \tag{13a} \\& \alpha^*_{i}(1-y_{i}(w^* \cdot x_{i}+b^*))=0,\ \ i=1,2,\dots,N \tag{13b} \\& \alpha^*_{i} \geq 0 ,\ \ i=1,2,\dots,N \tag{13c}\\& \frac{\partial}{\partial w} L(w^*,b^*;\alpha^*)=w^*-\sum_{i=1}^N \alpha^*_{i}y_{i}x_{i}=0 \tag{13d} \\& \frac{\partial}{\partial b} L(w^*,b^*;\alpha^*)=-\sum_{i=1}^N \alpha^*_{i}y_{i}=0 \tag{13e}\end{align}

由式(13d)也可得出式(12)

将式(13b)单独拿出来,在\alpha^*_{i},\ i=1,2,\dots,N中选择一个\alpha^*_{i}>0(支持向量),则有

\begin{align}& y_{i}(w^*_{i} \cdot x_{i}+b^*)-1=0 \tag{14a}\\\implies \  & y_{i}=w^*_{i}\cdot x_{i}+b^* \tag{14b}\\\implies \  & b* =y^*_{i}-w^*\cdot x_{i} \tag{14c}\end{align}

将式(12)代入式(14c),对于任一\alpha_{j} >0 ,有

b* =y^*_{j}-\sum_{i=1}^N \alpha^*_{i}y_{i}(x_{i} \cdot x_{j}) \tag{15}

到此,对于已经求出优化问题的朗格朗日乘子的最优解\alpha^*=(\alpha^*_{1},\alpha^*_{2}, \dots,\alpha^*_{N})^T,则线性可分支持向量机的最优超平面为w^*\cdot x+b^* = 0的参数为

\begin{align}& w^*=\sum_{i=1}^N \alpha^*_{i}y_{i}x_{i} \\& b* =y^*_{j}-\sum_{i=1}^N \alpha^*_{i}y_{i}(x_{i} \cdot x_{j}) , \ \alpha^*_{j} >0 \end{align}\tag{16}

此时,分类模型为式(3)

四、支持向量

将上面KKT条件的式(13b)单独拿出来

\alpha^*_{i}(1-y_{i}(w^*_{i} \cdot x_{i}+b^*))=0,\ \ i=1,2,\dots,N \tag{17}

\alpha^*_{i}>0时,则有

\begin{align}& y_{i}(w^*\cdot x_{i}+b^*) = 1 \tag{18a}\\\Rightarrow \ & w^* \cdot x_{i}+b^* = \pm 1 \tag{18b}\end{align}

对应的样本都在间隔边界上,如下图

图1[2]

再观察式(16),当\alpha^*_{i} = 0时,对应的样本是不参与参数计算的。

综上,线性可分支持向量机是强依赖于离分类超平面最近的样本点的,这和基于概率统计的分类方法是不同的。

五、附录

A、参考

[1]、《统计学习方法(第二版)》,李航著,清华大学出版社

[2]、《机器学习》,周志华著,清华大学出版社

[3]、《支持向量机(一)——线性可分支持向量机导出》

[4]、《凸优化(八)——Lagrange对偶问题》

B、相关目录

[a]、支持向量机(一)——线性可分支持向量机导出

[b]、支持向量机(二)——线性可分支持向量机求解

[c]、支持向量机(三)——线性支持向量机

[d]、支持向量机(四)——核方法

[e]、支持向量机(五)——SMO算法

C、时间线

2020-06-01 第一次发布

2020-06-02 添加《支持向量》部分

2020-06-06 修改图片来源

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