机器学习基石-Dual Support Vector Machine

来源:互联网 发布:管家婆软件界面 编辑:程序博客网 时间:2024/06/05 00:32

上节课我们主要介绍了线性支持向量机(Linear Support Vector Machine)。Linear SVM的目标是找出最“胖”的分割线进行正负类的分离,方法是使用二次规划来求出分类线。本节课将从另一个方面入手,研究对偶支持向量机(Dual Support Vector Machine),尝试从新的角度计算得出分类线,推广SVM的应用范围。

大纲

这里写图片描述

Motivation of Dual SVM

1 Non-Linear Support Vector Machine Revisited

上一节提到过我们想用非线性的支持向量机,一方面使用支持向量机可以减少算法的VC维。另一方面使用特征转换,使模型更加复杂,减少Ein.非线性支持向量机同时结合了这两个方面。

这里写图片描述

我们注意到,在特征转换之后,求解QP问题在z域中的维度设为d̂ +1,如果模型越复杂,则d̂ +1越大,相应求解这个QP问题也变得很困难。当d̂  无限大的时候,问题将会变得难以求解,那么有没有什么办法可以解决这个问题呢?一种方法就是使SVM的求解过程不依赖d̂ ,这就是我们本节课所要讨论的主要内容。

2 Todo

这里写图片描述
我们下文介绍一种方法,把原问题,即包含d̂ +1个变量和N个约束的QP问题,转化为对偶问题,即包含N个变量和N+1个约束的QP问题.

3 Key Tool : Lagrange Multipliers

转化为对偶问题的关键工具是拉格朗日乘子
Regularization中,在最小化Ein的过程中,也添加了限制条件:wTwC。我们的求解方法是引入拉格朗日因子λ,将有条件的最小化问题转换为无条件的最小化问题:minEaug(w)=Ein(w)+λNwTw,最终转化为求解等价问题:

Ein(w)+2λNw=0

  • 在Regularization问题中,我们把λ当做一个已知变量,这样问题就变得很好求解

  • 在Dual SVM中,我们把\lambda视为未知变量,并且每一个约束对应一个λ

4 Starting Point:Constrained to Unconstrained

我们可以通过构造拉格朗日函数把约束的问题转化为非约束的问题

这里写图片描述
首先我们通过原问题构造拉格朗日函数

L(b,w,α)=12wTw+n=1Nαn(1yn(wTzn+b))

这里αn是拉格朗日乘子

然后我们构造非约束问题

minb,w(maxall αn0L(b,w,α))

为什么可以这样转化呢?

  • (w.b)违反约束条件时,里面的最大化问题会趋向于正无穷
  • (w,b)满足约束条件时,里面的最大化问题等价于12wTw

Lagrange Dual SVM

1 Lagrange Dual SVM

我们称

minb,w(maxall αn0L(b,w,α))

为原始问题

对于任意给定的α,我们都有

minb,w(maxall αn0L(b,w,α))minb,wL(b,w,α)

对于最好的α,我们有

minb,w(maxall αn0L(b,w,α))maxall αn0minb,wL(b,w,α)

所以我们导出来对偶问题

maxall αn0minb,wL(b,w,α)

已知是一种弱对偶关系,在二次规划QP问题中,如果满足以下三个条件:

  • 原始问题的目标函数是凸的

  • 原始问题有可行解

  • 原始问题的约束是线性约束

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

这里写图片描述

2 Solve Lagrange Dual

我们先求解里面这个无约束问题,那么根据梯度下降算法思想:最小值位置满足梯度为零。首先,令L(b,w,α)对参数b的梯度为零:

δL(w,b,α)δb=0=n=1Nαnyn

我们将Nn=1αnyn=0带入对偶问题,并且化简,我们就消去了b

这里写图片描述

我们继续对里面的问题求最优,对w求导。我们可以导出

w=n=1Nαnynzn

带入对偶问题,并化简,可得

这里写图片描述

3 KKT Optimality Conditions

原始问题和对偶问题的最优解(w,b,α),一定满足一下几个条件

  • 原始问题可行,即yn(wTzn+b)1
  • 对偶问题可行 αn>0
  • 对偶问题的里面的问题最优 ynαn=0,w=αnynzn
  • 原始问题的里面的问题最优αn(1yn(wTzn+b))=0

当我们解出了α之后,可以利用KKT条件,解出(b,w)

4 Dual Formulation of Support Vector Machine

这里写图片描述

因为目标函数中没有关于w的项,所以我们把关于w的约束去掉,其实已经隐含的目标函数中了。那么可以整理为以下形式

这里写图片描述

这就是标准的hard-margin SVM dual形式,它是一个包含N个变量,N+1个约束的QP问题

Solving Dual SVM

1 Dual SVM with QP Solver

我们可以利用现有的QP工具包求解上述的QP问题
这里写图片描述

2 Optimal (b,w)

我们可以通过KKT条件求解(b,w)

  • w=αnynzn
  • 通过原始里面最优问题的条件,我们可以推出,当αn>0时,我们可以求解b=ynwTzn,其实,αn>0,对应的点称为支持向量,在分离边界上

Messages behind Dual SVM

1 Support Vector Revisited

这里写图片描述

回忆一下,上一节课中,我们把位于分类线边界上的点称为support vector(candidates)。本节课前面介绍了α>0的点一定落在分类线边界上,这些点称之为support vector(注意没有candidates)。也就是说分类线上的点不一定都是支持向量,但是满足α>0的点,一定是支持向量。

根据上一部分推导的w和b的计算公式,我们发现,w和b仅由SV即α>0的点决定,简化了计算量。这跟我们上一节课介绍的分类线只由“胖”边界上的点所决定是一个道理。也就是说,样本点可以分成两类:一类是support vectors,通过support vectors可以求得fattest hyperplane;另一类不是support vectors,对我们求得fattest hyperplane没有影响。

2 Representation of Fattest Hyperplane

这里写图片描述
我们发现,二者在形式上是相似的。wSVM由fattest hyperplane边界上所有的SV决定,wPLA由所有当前分类错误的点决定。wSVMwPLA都是原始数据点ynzn的线性组合形式,是原始数据的代表。

3 Summary: Two Forms of Hard-Margin SVM

这里写图片描述

总结一下,本节课和上节课主要介绍了两种形式的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来解决问题。

Are We Done Yet?

到了这里我们看起来已经消除了对d̂ 的影响

这里写图片描述

但是,Dual SVM是否真的消除了对d̂  的依赖呢?其实并没有。因为在计算qn,m=ynymzTnzm的过程中,由z向量引入了d̂  ,实际上复杂度已经隐藏在计算过程中了。所以,我们的目标并没有实现。下一节课我们将继续研究探讨如何消除对d̂ 的依赖。

阅读全文
0 0
原创粉丝点击