0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

对偶支持向量机DSVM

冬至子 来源:AI有道 作者:红色石头 2023-06-01 15:38 次阅读

1

Motivation of Dual SVM

首先,我们回顾一下,对于非线性SVM,我们通常可以使用非线性变换将变量从x域转换到z域中。然后,在z域中,根据上一节课的内容,使用线性SVM解决问题即可。上一节课我们说过,使用SVM得到large-margin,减少了有效的VC Dimension,限制了模型复杂度;另一方面,使用特征转换,目的是让模型更复杂,减小Ein。

所以说,非线性SVM是把这两者目的结合起来,平衡这两者的关系。那么,特征转换下,求解QP问题在z域中的维度设为d^+1,如果模型越复杂,则d^+1越大,相应求解这个QP问题也变得很困难。当d^无限大的时候,问题将会变得难以求解,那么有没有什么办法可以解决这个问题呢?一种方法就是使SVM的求解过程不依赖d^,这就是我们本节课所要讨论的主要内容。

图片

比较一下,我们上一节课所讲的Original SVM二次规划问题的变量个数是d^+1,有N个限制条件;而本节课,我们把问题转化为对偶问题(’Equivalent’ SVM),同样是二次规划,只不过变量个数变成N个,有N+1个限制条件。这种对偶SVM的好处就是问题只跟N有关,与d^无关,这样就不存在上文提到的当d^无限大时难以求解的情况。

图片

如何把问题转化为对偶问题(’Equivalent’ SVM),其中的数学推导非常复杂,本文不做详细数学论证,但是会从概念和原理上进行简单的推导。

图片

图片

所以,在regularization问题中,λ是已知常量,求解过程变得容易。那么,对于dual SVM问题,同样可以引入λ,将条件问题转换为非条件问题,只不过λ是未知参数,且个数是N,需要对其进行求解。

图片

图片

图片

这个函数右边第一项是SVM的目标,第二项是SVM的条件和拉格朗日因子αn的乘积。我们把这个函数称为拉格朗日函数,其中包含三个参数:b,w,αn。

图片

下面,我们利用拉格朗日函数,把SVM构造成一个非条件问题:

图片

图片

2

Lagrange Dual SVM

现在,我们已经将SVM问题转化为与拉格朗日因子αn有关的最大最小值形式。已知αn≥0,那么对于任何固定的α′,且αn′≥0,一定有如下不等式成立:

图片

对上述不等式右边取最大值,不等式同样成立:

图片

上述不等式表明,我们对SVM的min和max做了对调,满足这样的关系,这叫做Lagrange dual problem。不等式右边是SVM问题的下界,我们接下来的目的就是求出这个下界。

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

  • 函数是凸的(convex primal)
  • 函数有解(feasible primal)
  • 条件是线性的(linear constraints)

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

经过推导,SVM对偶问题的解已经转化为无条件形式:

图片

其中,上式括号里面的是对拉格朗日函数L(b,w,α)计算最小值。那么根据梯度下降算法思想:最小值位置满足梯度为零。首先,令L(b,w,α)对参数b的梯度为零:

图片

图片

图片

这样,SVM表达式消去了b,问题化简了一些。然后,再根据最小值思想,令L(b,w,α)对参数w的梯度为零:

图片

即得到:

图片

图片

图片

这样,SVM表达式消去了w,问题更加简化了。这时候的条件有3个:

图片

图片

总结一下,SVM最佳化形式转化为只与αn有关:

图片

其中,满足最佳化的条件称之为Karush-Kuhn-Tucker(KKT):

图片

在下一部分中,我们将利用KKT条件来计算最优化问题中的α,进而得到b和w。

3

Solving Dual SVM

上面我们已经得到了dual SVM的简化版了,接下来,我们继续对它进行一些优化。首先,将max问题转化为min问题,再做一些条件整理和推导,得到:

图片

显然,这是一个convex的QP问题,且有N个变量αn,限制条件有N+1个。则根据上一节课讲的QP解法,找到Q,p,A,c对应的值,用软件工具包进行求解即可。

图片

图片

图片

图片

图片

图片

4

Messages behind Dual SVM

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

图片

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

图片

回过头来,我们来比较一下SVM和PLA的w公式:

图片

图片

图片

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

图片

图片

图片

5

Summary

本节课主要介绍了SVM的另一种形式:Dual SVM。我们这样做的出发点是为了移除计算过程对d^的依赖。Dual SVM的推导过程是通过引入拉格朗日因子α,将SVM转化为新的非条件形式。然后,利用QP,得到最佳解的拉格朗日因子α。再通过KKT条件,计算得到对应的w和b。最终求得fattest hyperplane。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • Dual
    +关注

    关注

    0

    文章

    49

    浏览量

    23106
  • 向量机
    +关注

    关注

    0

    文章

    166

    浏览量

    20717
  • SVM
    SVM
    +关注

    关注

    0

    文章

    154

    浏览量

    32187
  • kkt
    kkt
    +关注

    关注

    0

    文章

    4

    浏览量

    3980
收藏 人收藏

    评论

    相关推荐

    #硬声创作季 人工智能入门课程:12. [2.7.1]--支持向量(原问题和对偶问题)

    向量人工智能机器学习
    Mr_haohao
    发布于 :2022年09月21日 11:11:05

    基于支持向量的分类问题

    小菜鸟一枚 ,有哪位大神能提供部分基于支持向量积的分类鉴别问题的MATLAB编码,思路过程,不胜感激
    发表于 04-03 18:54

    支持向量——机器学习中的杀手级武器!

    ||w||,公式(6)可以转化成:公式(7)即为支持向量的基本型。对偶问题的解决方法——拉格朗日乘子式看到这类带约束的最小值问题,很自然我们想到了拉格朗日乘子法。由此最终求解可以得
    发表于 08-24 09:40

    支持向量是什么

    初步了解支持向量(SVM)-1
    发表于 09-03 09:59

    支持向量的SVM

    支持向量SVM
    发表于 05-20 10:21

    如何用支持向量分类器识别手写字体

    sklearn实例-用支持向量分类器(SVC)识别手写字体
    发表于 06-11 17:02

    怎么理解支持向量SVM

    支持向量SVM理解篇
    发表于 06-14 09:05

    介绍支持向量与决策树集成等模型的应用

    本文主要介绍支持向量、k近邻、朴素贝叶斯分类 、决策树、决策树集成等模型的应用。讲解了支持向量
    发表于 09-01 06:57

    特征加权支持向量

    该文针对现有的加权支持向量机(WSVM)和模糊支持向量机(FSVM)只考虑样本重要性而没有考虑特征重要性对分类结果的影响的缺陷,提出了基于特征加权的
    发表于 11-21 11:15 15次下载

    模糊支持向量机的改进方法

    了基于同类中心和异类中心双参照点的噪声判别方法;分析了模糊支持向量机求解对偶问题中参数与支持向量的对应关系,进而给出新的隶属度函数设置步骤。
    发表于 11-29 16:19 0次下载
    模糊<b class='flag-5'>支持</b><b class='flag-5'>向量</b>机的改进方法

    什么是支持向量机 什么是支持向量

    支持向量机,英文为Support Vector Machine,简称SV机(论文中一般简称SVM)。它是一 种监督式学习的方法,它广泛的应用于统计分类以及回归分析中。
    发表于 01-28 16:01 2.1w次阅读
    什么是<b class='flag-5'>支持</b><b class='flag-5'>向量</b>机 什么是<b class='flag-5'>支持</b><b class='flag-5'>向量</b>

    支持向量机(核函数的定义)

    根据机器学习相关介绍(10)——支持向量机(低维到高维的映射),支持向量机可通过引入φ(x)函数,将低维线性不可分问题转换为高维线性可分问题。
    的头像 发表于 05-20 10:41 555次阅读
    <b class='flag-5'>支持</b><b class='flag-5'>向量</b>机(核函数的定义)

    支持向量机(原问题和对偶问题)

    本文主要介绍原问题(PRIME PROBLEM)和对偶问题(DUAL PROBLEM),支持向量机优化问题可通过原问题向对偶问题的转化求解。
    的头像 发表于 05-25 09:31 784次阅读

    支持向量机(多类问题之1类对K-1类方式)

    支持向量机可求解二分类问题。当需要求解多分类问题时,支持向量机可将二分类问题的求解方式转化为多分类问题的求解方式
    的头像 发表于 06-30 16:07 301次阅读

    支持向量机(多类问题之1类对另1类)

    假设测试样本需被分为三类,首先需构建三个支持向量机模型
    的头像 发表于 07-05 16:08 324次阅读
    <b class='flag-5'>支持</b><b class='flag-5'>向量</b>机(多类问题之1类对另1类)