林轩田机器学习技法第二讲-Dual Support Vector Machine

本文介绍对偶支持向量机(Dual SVM)的概念,通过引入拉格朗日因子,将原始问题转换为关于α的非条件问题,结合KKT条件,使用专门的二次规划工具求解,得到α、w、b,实现复杂度不依赖于特征维数的目标。

上一讲学习了线性硬间隔支持向量机,如果数据集是线性可分的,在得到我们的目标表达式和它的限制条件后,可以使用二次规划的方法进行求解;如果是非线性可分的,通过线性转换到其他的域中,同样可以使用线性可分的方法来做。

这一讲学习Dual Support Vector Machine,即对偶支持向量机,希望找到一种其他的更好的方法进行求解。


在这里插入图片描述

在上一讲的Linear Hard-Margin SVM中,我们最后得到求解目标表达式和限制条件如左下图所示,通过和二次规划问题进行形式上的对照,可以借助有关的现有库输入对应参数进行求解,从而得到gsvm(x)g_{svm}(x)gsvm(x)。这里的ϕ(x)\phi(x)ϕ(x)是指线性转换,针对域处理数据是非线性可分的问题


在这里插入图片描述

在线性可分数据集上,使用线性支持向量机得到最大间隔后,通过较小模型的dvc,降低了模型的复杂度;在处理非线性可分的问题时,通过线性转换将其变成线性可分的问题,是的模型变得简单易处理,得到更小的EinE_{in}Ein

我们知道通过相关的证明可以知道dvc≤d+1d_{vc}≤d + 1dvcd+1成立,那么在新的域中,模型如果越复杂,则对应的维度d+1d+1d+1就会越大,当大到无限大时,问题将难以求解。


在这里插入图片描述

所以我们的目标就是希望SVM的结果不依赖于域的维度大小ddd


在这里插入图片描述

在之前的线性支持向量机中我们有d+1个变量,N个限制条件,使用二次规划方法求解;将其转换成它的对偶问题后,我们的变量个数变成N,限制条件为N+1个,这样来看最后的求解就变成了不依赖于d的形式,那么前面那个问题就不做考虑了。那么它是如何转变的呢?


在这里插入图片描述

上一讲和之前都提到过在正则化中,我们最小化Ein(w)E_{in}(w)Ein(w)时引入了限制条件wTw≤Cw^Tw≤CwTwC,我们通过引入λ\lambdaλ(拉格朗日因子)代替CCC可以转换成Eaug(w)E_{aug}(w)Eaug(w)的形式,这样限制条件就转到了表达式中


在这里插入图片描述

通过求解这个最小化问题,可以得到最后的最优解如下图所示。在正则化的问题中,λ\lambdaλ是常数,容易求解,而在我们这一讲讨论的问题中,λ\lambdaλ是未知的,因为限制条件有N个,那么它的个数也为N,在求解过程中同样需要对它求解


在这里插入图片描述

在引入拉格朗日因子λ\lambdaλ后,求解的表达式就转换为了拉格朗日函数L(b,w,α)L(b,w,\alpha)L(b,w,α)的形式,如右下图所示(为了和其他的文献统一,使用α\alphaα代替λ\lambdaλ),这样就是一个非条件问题


在这里插入图片描述

这样求解目标就是如下SVM的表达式,那么这样做是否正确呢?我们可以来想一下,在αn&gt;0α_{n}&gt;0αn>0的前提下,根据上面的限制条件可知,如果b和w不满条件,那么1−yn(wTzn+b)&gt;01-y_{n}(w^Tz_{n}+b) &gt; 01yn(wTzn+b)>0,那么要得到最大值,αn\alpha_{n}αn自然越大越好,大到∞∞,无解;反之若b和wb和wbw都满足条件,就有1−yn(wTzn+b)&lt;01-y_{n}(w^Tz_{n}+b) &lt; 01yn(wTzn+b)<0,则α(1−yn(wTzn+b))&lt;0\alpha(1-y_{n}(w^Tz_{n}+b) )&lt; 0α(1yn(wTzn+b))<0,要得到最大值当且仅当α(1−yn(wTzn+b))=0\alpha(1-y_{n}(w^Tz_{n}+b) )= 0α(1yn(wTzn+b))=0成立,这时目标就变成了之前的求解目标了,表明这种方法是适用的。所以我们的目标表达式就是如上无条件的拉格朗日函数


在这里插入图片描述

经过证明知道得到的拉格朗日式子是正确的,则对于任意的固定的α′≥0\alpha&#x27; ≥0α0,下式都成立


在这里插入图片描述

因此对于固定的α′≥0\alpha&#x27; ≥0α0,可以转换成求它的最大化问题,同样成立


在这里插入图片描述

这种问题称之为拉格朗日对偶问题:即使表达式两边的max和min进行对调,求解问题仍然可行,将不等式的右边称为SVM问题的下界


在这里插入图片描述

那么现在的目标就是解这个下界


在这里插入图片描述

根据相关理论知道,这里的≥是一种弱对偶关系,在二次规划QP问题中,如果满足以下三个条件:
• 函数是凸的(convex primal)
• 函数有解(feasible primal)
• 条件是线性的(linear constraints)


在这里插入图片描述

那么,上述不等式关系就变成强对偶关系,≥变成=,即一定存在满足条件的解(b,w,α)(b,w,α)(b,w,α),使等式左边和右边都成立,SVM的解就转化为右边的形式


在这里插入图片描述

因此将拉格朗日表达式带入后,求解表达式如下所示


在这里插入图片描述

上式括号中的问题是一个无条件的问题,使用梯度下降法求解,对b求偏导令其为零,可得关于αn的等式,这是最优解必须满足的条件


在这里插入图片描述

将其回代就可以将b消掉,这时未知变量只有w和αw和\alphawα


在这里插入图片描述

同理对www求偏导数为零的点,可得关于www的等式


在这里插入图片描述

同样将其回代到上式,经过化简,最终的表达式入式所示,它是只关于αn\alpha_{n}αn的式子


在这里插入图片描述

对应的KKT条件为,通过求解α\alphaα,就可以得到w和bw和bwb,接下来的工作就是要求出α\alphaα


在这里插入图片描述

经过上面的转换,表达式为


在这里插入图片描述

将其进行一些变换,变成更为熟悉求解的形式,这是未知变量还是N个,限制条件为N+1个


在这里插入图片描述

这个怎么求解呢?就要又用到二次规划了,将目标表达式和二次规划进行对照,找出对应的元素Q、p、A、c的值,使用现有的库即可求解


在这里插入图片描述

但是真的这么简单吗?仔细分析我们可以发现,qn,mq_{n,m}qn,m矩阵大部分值是非零的,当N很大的时候,计算QD的计算量将会很大,所以一般的方法不宜求解,需要使用专门针对SVM的二次规划求解的工具


在这里插入图片描述

假设经过相关工具的计算我们得到了α的结果,那如何返回来计算w和bw和bwb呢?首先看一下之前的KKT条件,找到关于他们俩的式子。有关www的只有图中的一个等式,很容易求解;然后利用红框所圈的条件,任取一αn&gt;0α_{n} &gt; 0αn>0 的点,得到1−yn(wTzn+b)=01- y_{n}(w^Tz_{n} + b) = 01yn(wTzn+b)=0,就可以求出b=yn−wTznb = y_{n} - w^Tz_{n}b=ynwTzn


在这里插入图片描述

这里满足1−yn(wTzn+b)=01- y_{n}(w^Tz_{n} + b) = 01yn(wTzn+b)=0的点正好在分类的胖胖的线上,也就是说满足αn&gt;0\alpha_{n}&gt; 0αn>0的点一定在边界上,将其称为之前提过的支持向量(Support Vector),反之说则不一定成立。所以之前也说过SVM只由支持向量决定,与其他的点无关。通过计算我们也可以确认这一点,当αn=0\alpha_{n}= 0αn=0时,无论yn、zny_{n}、z_{n}ynzn取什么值WWW都为零,所以计算w和bw和bwb只需要属于支持向量的数据点


在这里插入图片描述

仔细回想一下W的计算式,好像和我们之前PLA的W求解的式子相似,WsvmW_{svm}Wsvm由支持向量决定,WPLAW_{PLA}WPLA由分类错误的点决定,而且都是关于yn,zny_{n},z_{n}yn,zn的组合形式


在这里插入图片描述

本讲和上一讲介绍了两种形式的SVM,一种是Primal Hard-Margin SVM,另一种是Dual Hard_Margin SVM。Primal Hard-Margin SVM有d+1个参数,有N个限制条件。当d+1很大时,求解困难。而Dual Hard_Margin SVM有N个参数,有N+1个限制条件。当数据量N很大时,也同样会增大计算难度。两种形式都能得到w和b,求得fattest hyperplane。通常情况下,如果N不是很大,一般使用Dual SVM来解决问题


在这里插入图片描述

通过对偶形式的转换,最后的表达式只与N有关,但是其实并没有完全不依赖d,只是隐藏在了前面求qn,mq_{n,m}qn,m的过程中了


在这里插入图片描述

总结一下,这一将介绍了对偶支持向量机,通过引入拉格朗日因子,将表达式转换为非条件的只关于α的形式,结合KKT条件,使用专门为SVM设计的二次规划问题的求解工具即可求解,得到α、w、b


在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值