(《机器学习》完整版系列)第6章 支持向量机SVM——6.1 支持向量机SVM的基本型(对偶要KKT条件,不是找对象的条件)

在属性坐标系中讨论二分类问题:以点表示属性(向量),以点的型状表示类别。
支持向量机SVM的基本型:目标是最大化间隔,涉及较多的数学知识:对偶问题、拉格朗日乘子法、KKT条件、SMO算法、解二次规划。

SVM的基本型

我们讨论过基于属性的坐标系,即样例的标记不纳入坐标系中,而是以点的型状来区分。 现在,我们回到这个坐标系中来讨论二分类问题,在这个坐标系中,以点表示属性(向量),以点的型状:“ + + +”和“ − - ”分别表示正例和反例,即【西瓜书图6.1】。

最大化间隔

【西瓜书图6.1】中所画的线都能将两类分开,直观地看,红线“最好”,问题在于如何找到这条红线。

假定上帝告诉你了红线的位置,你现在分析其特点,这即【西瓜书图6.2】所示。 直观上,拿一条棍棒在真空地带摆动,选定一边(如“ − - ”边),让棍棒向这边贴近,由两点确定一条直线的原理知,它必受阻于(至少)两点(被带圈的两“ − - ”点所阻止),由此确定了一条虚线,将棍棒平行于这条虚线,朝另一边挪,直至受阻于(至少)一点(被带圈的“ + + +”点所阻止),由此确定了另一条虚线,两虚线间的中线即为红线。 换一下选定边,重复该过程,得到另一组线,显然,二者中应取两虚线间的“间隔”最大者,故找红线的问题转化为找最大“间隔”或者找阻点(带圈的点)。 阻点称为支撑向量或叫支持向量,这就是支持向量机(SVM)名称的来历。

设训练集为 D = { ( x i , y i ) } i = 1 m , y i ∈ { − 1 , + 1 } D=\{(x_i,y_i)\}_{i=1}^m,\quad y_i\in\{-1,+1\} D={(xi,yi)}i=1m,yi{1,+1},注意:标记选用具有对称性的 { − 1 , + 1 } \{-1,+1\} {1,+1},而不用 { 0 , 1 } \{0,1\} {0,1}

由对称性【西瓜书图6.2】中三条线的方程分别为
l 1 : w T x + b = ζ l   : w T x + b = 0 l 2 : w T x + b = − ζ \begin{align*} & l_1:\qquad \boldsymbol{w}^\mathrm{T}x+b=\zeta \\ & l\ :\qquad \boldsymbol{w}^\mathrm{T}x+b =0 \\ & l_2:\qquad \boldsymbol{w}^\mathrm{T}x+b=-\zeta \end{align*} l1:wTx+b=ζl :wTx+b=0l2:wTx+b=ζ

ζ ≠ 1 \zeta\neq 1 ζ=1,则对三个方程两边除以 ζ \zeta ζ,调整系数记号,三条线最终可化为
l 1 : w T x + b = 1 l   : w T x + b = 0 l 2 : w T x + b = − 1 \begin{align} & l_1:\qquad \boldsymbol{w}^\mathrm{T}x+b=1 \tag{6.1} \\ & l\ :\qquad \boldsymbol{w}^\mathrm{T}x+b =0 \tag{6.2} \\ & l_2:\qquad \boldsymbol{w}^\mathrm{T}x+b=-1 \tag{6.3} \end{align} l1:wTx+b=1l :wTx+b=0l2:wTx+b=1(6.1)(6.2)(6.3)
l 1 l_1 l1 l 2 l_2 l2继续向外平移,则可用不等式表示:
l 1 ( u p ) : w T x + b > 1 l 2 ( d o w n ) : w T x + b < − 1 \begin{align} & l_1(\mathrm{up}):\qquad \qquad \boldsymbol{w}^\mathrm{T}x+b>1 \tag{6.4} \\ & l_2(\mathrm{down}):\qquad \boldsymbol{w}^\mathrm{T}x+b<-1 \tag{6.5} \end{align} l1(up):wTx+b>1l2(down):wTx+b<1(6.4)(6.5)

由此得到:数据集中的数据满足【西瓜书式(6.3)】。 再注意到 y i y_i yi的取值与式子的关系,则两虚线 l 1 , l 2 l_1,l_2 l1,l2的活动范围(【西瓜书式(6.3)】的两子式)可综合为一个约束式子:
y i ( w T x i + b ) ⩾ 1 \begin{align} y_i(\boldsymbol{w}^\mathrm{T}x_i+b)\geqslant 1 \tag{6.6} \end{align} yi(wTxi+b)1(6.6)
再在此约束下使“间隔”【西瓜书式(6.4)】最大化。

【西瓜书式(6.6)】的推导是显而易见的,虽然是基于二维样本(【西瓜书图6.2】)进行推导的,但对于多维仍成立,因为,在推导过程中并没有作二维的限制,多维时,其几何意义从上述“直线”变为“超平面”,故【西瓜书式(6.6)】即为SVM基本型。

另外,要注意预测模型 f ( x ) = w T x + b f(\boldsymbol{x})=\boldsymbol{w}^\mathrm{T}\boldsymbol{x}+b f(x)=wTx+b(分类时增加 y = s g n ( f ( x ) ) y=\mathrm{sgn}(f(\boldsymbol{x})) y=sgn(f(x)))与分界线 w T x + b = 1 \boldsymbol{w}^\mathrm{T}\boldsymbol{x}+b=1 wTx+b=1的区别与联系:它们分属于不同的坐标系中,但它们的参数 w , b \boldsymbol{w},b w,b是一致的,SVM是通过着手后者而获得前者需要的参数。

对偶

对偶问题即【西瓜书附录第B.1节】所述,不熟悉拉格朗日乘子法的读者,先移步去了解一下。

通过建立对应关系来学习这部分内容是个不错的方法。

【西瓜书式(6.6)】与【西瓜书附录式(B.4)】的对照关系表6.1。

【西瓜书式(6.8)】与【西瓜书附录式(B.5)】的对照关系表6.2。
在这里插入图片描述

由表6.1及6.2,则对应于【西瓜书附录式(B.6)】得到SVM基本型的KKT条件如下:
{   1 − y i ( w T x i + b ) ⩽ 0   α i ⩾ 0   α i ( 1 − y i ( w T x i + b ) ) = 0 \begin{align} \begin{cases} \ 1-y_i(\boldsymbol{w}^\mathrm{T}\boldsymbol{x}_i+b)\leqslant 0 \\ \ {\alpha}_i\geqslant 0 \\ \ {\alpha}_i(1-y_i(\boldsymbol{w}^\mathrm{T}\boldsymbol{x}_i+b))=0 \\ \end{cases} \tag{6.7} \end{align}  1yi(wTxi+b)0 αi0 αi(1yi(wTxi+b))=0(6.7)

【西瓜书附录式(B.9)】的左边等式,当可达到下确界 inf ⁡ \inf inf时,即为 min ⁡ \min min,再结合上述对应关系,这时有表6.3
在这里插入图片描述

SVM基本型主问题【西瓜书式(6.6)】的求解,转化为其对偶问题的求解, 由表6.3知优化目标为
max ⁡ α min ⁡ w , b L ( w , b , α ) \begin{align} \mathop{\max}\limits_{\boldsymbol{\alpha }}\mathop{\min}\limits_{\boldsymbol{w },b}L(\boldsymbol{w },b,\boldsymbol{\alpha }) \tag{6.8} \end{align} αmaxw,bminL(w,b,α)(6.8)

在式(6.8)中,我们先求出 min ⁡ w , b L ( w , b , α ) \mathop{\min}\limits_{\boldsymbol{w },b}L(\boldsymbol{w },b,\boldsymbol{\alpha }) w,bminL(w,b,α)(对偶函数)。

∂ L ∂ w = 0 \frac{\partial L}{\partial \boldsymbol{w}}=0 wL=0,得
w T = ∑ α i y i x i T \begin{align*} \boldsymbol{w}^\mathrm{T}=\sum{\alpha }_iy_i{\boldsymbol{x}}_i^\mathrm{T} \end{align*} wT=αiyixiT
对其转置则得【西瓜书式(6.9)】。

∂ L ∂ b = 0 \frac{\partial L}{\partial b}=0 bL=0,即得【西瓜书式(6.10)】。

将【西瓜书式(6.9)】、【西瓜书式(6.10)】代入【西瓜书式(6.8)】,即得
min ⁡ w , b L ( w , b , α ) = ∑ i = 1 m α i − 1 2 ∑ i = 1 m ∑ j = 1 m α i α j y i y j x i T x j \begin{align} \mathop{\min}\limits_{\boldsymbol{w },b}L(\boldsymbol{w },b,\boldsymbol{\alpha }) =\sum_{i=1}^m{\alpha }_i-\frac{1}{2}\sum_{i=1}^m\sum_{j=1}^m{\alpha }_i{\alpha }_j{y}_i{y}_j\boldsymbol{x}_i^\mathrm{T}\boldsymbol{x}_j \tag{6.9} \end{align} w,bminL(w,b,α)=i=1mαi21i=1mj=1mαiαjyiyjxiTxj(6.9)

再将式(6.9)代入式(6.8),即得SVM基本型的对偶问题【西瓜书式(6.11)】,其参数 α \boldsymbol{\alpha } α的约束条件源于上述推导过程中引入:拉格朗日乘子 α i ⩾ 0 {\alpha }_i\geqslant 0 αi0以及【西瓜书式(6.10)】。

观察式(6.9),它为一个二次函数(变量为 α i {\alpha }_i αi),化为矩阵形式为

式(6.9) = − 1 2 ∑ i = 1 m α i y i x i T ∑ j = 1 m α j y j x j + ∑ i = 1 m α i = − 1 2 α T ( [ y i x i T ] i ) ( [ y j x j ] j ) T α + 1 T α = − 1 2 α T ( [ y i x i T y j x j ] i j ) α + 1 T α \begin{align} \text{式(6.9)} & =-\frac{1}{2}\sum_{i=1}^m{\alpha }_i{y}_i\boldsymbol{x}_i^\mathrm{T}\sum_{j=1}^m{\alpha }_j{y}_j\boldsymbol{x}_j +\sum_{i=1}^m{\alpha }_i \notag \\ & =-\frac{1}{2}\boldsymbol{\alpha}^\mathrm{T}([{y}_i\boldsymbol{x}_i^\mathrm{T}]_i)([{y}_j\boldsymbol{x}_j]_j)^\mathrm{T}\boldsymbol{\alpha}+\boldsymbol{1}^\mathrm{T}\boldsymbol{\alpha}\notag \\ & =-\frac{1}{2}\boldsymbol{\alpha}^\mathrm{T}\left([{y}_i\boldsymbol{x}_i^\mathrm{T}{y}_j\boldsymbol{x}_j]_{ij}\right)\boldsymbol{\alpha}+\boldsymbol{1}^\mathrm{T}\boldsymbol{\alpha} \tag{6.10} \end{align} (6.9)=21i=1mαiyixiTj=1mαjyjxj+i=1mαi=21αT([yixiT]i)([yjxj]j)Tα+1Tα=21αT([yixiTyjxj]ij)α+1Tα(6.10)

由式(6.10),对偶问题【西瓜书式(6.11)】变为
min ⁡ α 1 2 α T ( [ y i x i T y j x j ] i j ) α − 1 T α (由如下式(0.1)) \begin{align} \mathop{\min}\limits_{\boldsymbol{\alpha }}\frac{1}{2}\boldsymbol{\alpha}^\mathrm{T}\left([{y}_i\boldsymbol{x}_i^\mathrm{T}{y}_j\boldsymbol{x}_j]_{ij}\right)\boldsymbol{\alpha}-\boldsymbol{1}^\mathrm{T}\boldsymbol{\alpha}\quad \text{(由如下式(0.1))} \tag{6.11} \end{align} αmin21αT([yixiTyjxj]ij)α1Tα(由如下式(0.1)(6.11)
用到公式:
a b T = ( [ a i b j ] i j ) \begin{align} \boldsymbol{a}\boldsymbol{b}^\mathrm{T} & =\left( \left[a_{i}b_{j}\right]_{ij} \right) \tag{0.1} \end{align} abT=([aibj]ij)(0.1)
其中“ s . t . \mathrm{s.t.} s.t.”部分的约束条件不变。

比较式(6.11)与【西瓜书附录式(B.12)】知,这是一个二次规划,用二次规划的某种求解方法求出 α \boldsymbol{\alpha} α,再由【西瓜书式(6.9)(6.7)】求出 w \boldsymbol{w} w b b b,即得到模型。

SMO算法

现在我们回到SVM基本型的特点上:

1.KKT条件:式(6.7),经分析可知:最终模型仅与支持向量有关。

2.解二次规划:有坐标下降法【西瓜书附录第B.5节】,在每步迭代中沿一个坐标方向进行搜索,通过反复循环使目标函数走向最小值,就象下山时只走横竖不走斜线(指投影到海平面坐标系中的结果,而坡上都是“斜线”)。 注意到【西瓜书式(6.11)】中的约束条件,可以每次选择两个变量 ( α i , α j ) ({\alpha}_i,{\alpha}_j) (αi,αj),这就是高效的SMO算法。

那么,如何选取这两个变量?原则就是:先选取违背KKT条件程度最大的变量,再选取使目标函数增长最快的变量。 为减少运算量,变通办法就是:在违背KKT条件下选取两变量使其对应样本之间的间隔最大。

KKT条件(满足式(6.7)的第3式时, w T x i + b = ± 1 \boldsymbol{w}^\mathrm{T}\boldsymbol{x}_i+b=\pm 1 wTxi+b=±1 l 1 l_1 l1 l 2 l_2 l2),撑开 l 1 l_1 l1 l 2 l_2 l2则违背KKT条件,故可将样本限定在撑开的 l 1 l_1 l1 l 2 l_2 l2上,这时要使样本之间的间隔最大,只需使 l 1 l_1 l1 l 2 l_2 l2撑到最大,即:计算所有 x i \boldsymbol{x}_i xi对应的 w T x i + b \boldsymbol{w}^\mathrm{T}\boldsymbol{x}_i+b wTxi+b值,找到最大和最小(即将 l 1 l_1 l1 l 2 l_2 l2撑到最大),各自分别对应出 ( α i ({\alpha}_i (αi α j ) {\alpha}_j) αj)

选取两变量后,通过约束条件消去一个,【西瓜书式(6.11)】变为单变量 α i {\alpha}_i αi的二次规划问题,即求抛物线的顶点,顶点公式即为闭式解。

上述循环直至收敛,则求出了 α \boldsymbol{\alpha} α,再由【西瓜书式(6.17)】求 b b b

本文为原创,您可以:

  • 点赞(支持博主)
  • 收藏(待以后看)
  • 转发(他考研或学习,正需要)
  • 评论(或讨论)
  • 引用(支持原创)
  • 不侵权

上一篇:5.4 BP算法的高级表达
下一篇:6.2 核函数型支持向量机SVM(方法:比较基本型来学习)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值