目录

  • 原问题的转化
  • 对偶问题

原问题的转化

  • 还记得我们求最优解的原始问题嘛?
  • 我们之前已经通过KKT算法得到了对于这个问题的最优解的求取办法,那为什么还要继续引出对偶问题呢?
  • 因为将原始问题转化为对偶问题是求解带约束优化问题的一种方法,当然这不是唯一的方法,只不过转化为对偶问题后往往更容易求解,因而被广为应用。
  • 关于对偶问题的动机说完了,下面我们把注意力集中在minf(x)min f(x)minf(x)上,然后有两条约束条件,其实约束条件相当于将解空间划分为了两块,空间1空间1空间1是符合约束条件,空间2空间2空间2是不符合约束条件。
  • 下面我们重新搬出拉格朗日乘数法的公式,再仔细观察一下这个原始问题与拉格朗日乘数法的关系。
  • 我们试着来求一下minxmaxα,βL(x,α,β)min_{x} max_{α,β} L(x,α,β)minx​maxα,β​L(x,α,β)。(有人可能有疑问,好端端的,为何突然要求这个,这是因为有人想试图使用对偶问题来转化并解决原始问题并且成功了。)
    空间1:此时符合约束条件,所以h(x)=0h(x)=0h(x)=0,且g(x)=0时β>0,g(x)<0时β=0g(x)=0时β>0,g(x)<0时β=0g(x)=0时β>0,g(x)<0时β=0,故αh(x)+βg(x)=0αh(x)+βg(x)=0αh(x)+βg(x)=0,所以maxα,βL(x,α,β)=f(x)+0=f(x)max_{α,β} L(x,α,β)=f(x)+0=f(x)maxα,β​L(x,α,β)=f(x)+0=f(x),所以minxmaxα,βL(x,α,β)=minxf(x)min_{x} max_{α,β} L(x,α,β)=min_{x} f(x)minx​maxα,β​L(x,α,β)=minx​f(x)。
    空间2:此时不符合约束条件,则maxα,βL(x,α,β)=∞max_{α,β} L(x,α,β)=∞maxα,β​L(x,α,β)=∞
  • 所以,在符合约束的情况下,原始的minxf(x)min_{x} f(x)minx​f(x)问题就等价于minxmaxα,βL(x,α,β)min_{x} max_{α,β} L(x,α,β)minx​maxα,β​L(x,α,β)
  • 这是第一阶段的工作,就是得出结论,原始的问题转化为新的问题,称为primal最小化问题

对偶问题

  • 下面注意哈,我们要定义一个对偶问题:
    maxα,βminxL(x,α,β)max_{α,β} min_{x} L(x,α,β)maxα,β​minx​L(x,α,β)
    注意哈,此处我们的max和min的位置变换了(包含变量也要变换),我们把原问题的max和min对换了。我们下面的任务就是,证明上面的对偶问题(称为dual问题))和上一阶段得到的primal问题是等价的。
  • 先说一下,我们为什么要费劲心力的证明这个dual问题和primal问题等价。对于primal问题,我们要先求里面的max,再求外面的min。而对于dual问题,我们可以先求里面的min。有时候,先确定里面关于x的函数最小值,比primal问题先关于α,βα,βα,β的最大值,要更加容易解,甚至有些原问题是不可解的。
  • 明白了使用对偶的动机,现在我们来看这个dual问题的公式与primal问题的公式的大小关系:
    maxα,βminxL(x,α,β)<=minxmaxα,βL(x,α,β)(式0)max_{α,β} min_{x} L(x,α,β)<=min_{x} max_{α,β} L(x,α,β)(式0)maxα,β​minx​L(x,α,β)<=minx​maxα,β​L(x,α,β)(式0)
    上式为什么成立呢?因为首先对于左式中任意的α和βα和βα和β,一定有minxL(x,α,β)<=minxmaxα,βL(x,α,β)(式1)min_{x} L(x,α,β)<=min_{x} max_{α,β} L(x,α,β) (式1)minx​L(x,α,β)<=minx​maxα,β​L(x,α,β)(式1)
    没问题吧,你想啊,右式首先对于α和βα和βα和β取了最大值,而左式是任意值,在这个基础上,左式和右式对于xxx同时取最小值,自然是右式>=左式啊,所以(式1)是成立的吧,需要注意的是,右式此时已经是一个实数了,而左式还是关于α和βα和βα和β的函数,上式的成立已经意味着你这个函数<=右式的实数了,那么你再对左式求最大值岂不是一定<=右式的实数?所以最终(式0)成立。这就是所谓的 “极小的极大 ⩽ 极大的极小”。
  • 式0就是弱对偶性定理 (weak duality)得到的式子。弱对偶性是对于所有的对偶问题都有的一个性质,真正使得原问题(primal问题)能够与对偶问题(dual问题)等价的条件是强对偶性的成立。
  • 满足slater条件才能使得强对偶性成立:

slater 条件: 原始问题为凸优化问题,即 f(x),g(x) 为凸函数,h(x) 为仿射函数,且可行域中至少有一点使不等式约束严格成立时,强对偶性成立,对偶问题等价于原始问题。

  • 咱们的问题是一个凸优化问题,前提中就说明了是凸函数,所以此时是满足slater条件的,所以dual问题和primal问题等价,**最后,利用强对偶性求出的 x,α,β 同时也是原始问题的最优解,所以依然满足 KKT 条件,**至此,我们就可以先min后max了,别忘了我刚才提到过,先min后max有时候有很大的好处。
  • 需要注意的是,一个问题有没有强对偶性,跟KKT条件完全是没关系的。只要一个问题是不等式约束问题,它的最优解就一定满足KKT条件(反之不可以))。 而能不能满足强对偶性,决定了原问题跟对偶问题是不是等价。
  • 最后上个图,原文:https://zhuanlan.zhihu.com/p/46944722

SVM(三):对偶问题最直白解释相关推荐

  1. ML之SVM(三种):基于三种SVM(linearSVR、polySVR、RBFSVR)对Boston(波士顿房价)数据集(506,13+1)进行价格回归预测并对比各自性能

    ML之SVM(三种):基于三种SVM(linearSVR.polySVR.RBFSVR)对Boston(波士顿房价)数据集(506,13+1)进行价格回归预测并对比各自性能 目录 输出结果 设计思路 ...

  2. 深入理解SVM之对偶问题

    2019独角兽企业重金招聘Python工程师标准>>> 1. 支持向量机的目的是什么? 对于用于分类的支持向量机来说,给定一个包含正例和反例(正样本点和负样本点)的样本集合,支持向量 ...

  3. 系统学习机器学习之SVM(三)--Liblinear,LibSVM使用整理,总结

    1.Libsvm与Liblinear区别,简单源码剖析. http://blog.csdn.net/zhzhl202/article/details/7438160 http://blog.csdn. ...

  4. 三元(三目)运算符解释

    三元运算符语法:条件 ? 结果1 : 结果2 说明:问号前面的位置是判断的条件,如果满足条件时结果1,不满足时结果2. 下面我们来详细探讨下. 今天在改论文在线的时候遇到了一个语句看不懂: 1 $if ...

  5. Java中的三种代理模式解释

    本文转自:Java技术栈 www.javastack.cn 代理模式 代理(Proxy)是一种设计模式,提供了对目标对象另外的访问方式;即通过代理对象访问目标对象.这样做的好处是:可以在目标对象实现的 ...

  6. 什么是比特币之简单直白解释

    先看一下比较官方的释义 维基百科的解释是一种基于去中心化,采用点对点网络与共识主动性,开放源代码,以区块链作为底层技术的加密货币 简单直白一点解释就是 它是一种 货币,既满足经济学上的货币的一般概念( ...

  7. 线性规划对偶问题之通俗解释

    线性规划对偶问题,看似简单,真正理解并不容易! 本质上,对偶问题围绕着"采购"和"销售"两个相反的业务展开的. 一.产品销售 水果店出售两种水果拼盘,构成如下: ...

  8. Project中三种任务类型解释

    概述 Project--文件---选项---日程里,有"默认任务类型"设置 三种任务类型,与资源结合起来后,就需要根据实际情况选择了. 固定单位 这是Project默认的任务类型. ...

  9. 剑道第一仙 第一千六百三十七章 何须解释

    御天道碑高有千尺,其上弥漫着奇异而缥缈的仙界周天规则力量,极为神秘. 可苏奕却察觉到,在道碑的底部位置,附着着一幅古怪的道纹图案.此图案形似红莲,充盈禁忌般的气息,似无数肆虐暴戾的火线交错凝聚而成.略 ...

最新文章

  1. 移动互联网用户的心理需求【转载】
  2. JZOJ 5221. 【GDOI2018模拟7.10】A
  3. 通过案例对 spark streaming 透彻理解三板斧之三:spark streaming运行机制与架构
  4. java ipv6校验_JS及java验证 IPV6,IPV4地址的 正则表达式 | 学步园
  5. python中的正则表达式是干嘛的_操作python中的正则表达式(上)
  6. 【转】JPA、Hibernate和Mybatis区别和总结
  7. TCP的定时器系列 — 零窗口探测定时器(有图有代码有真相!!!)
  8. 【Flink】Flink 与数据库的集成最佳实践 【视频笔记】
  9. odoo开发笔记 -- 翻译机制及导入.po文件
  10. u盘安装linux6.5教程,u盘安装CentOS6.5
  11. OpenDDS 编译
  12. 不要效法世界只要爱天父
  13. 金融交易学——一个专业交易者…
  14. 免费又好用的Redis可视化工具,强烈推荐!
  15. Go手动安装pkg包初体验
  16. 全球及中国吊链总成行业研究及十四五规划分析报告
  17. 战神网络 战神引擎 手游研究院 获取该区补丁失败 如何解决
  18. 给力的国外地质网站在线查看
  19. 实现简易版vue2(数据劫持,观察者,发布订阅)
  20. 视频解读:案例透视消费者洞察实践与收益

热门文章

  1. 数学前沿——密码学基础
  2. OWASP TOP10漏洞分析和防御
  3. 董宇辉的解答一位父亲请教如何让子女从心里喜欢上英语
  4. linux下的压缩和解压命令
  5. 56_Collections
  6. Make Directory as
  7. 利用select into直接创建临时表
  8. 解读Android之数据存储方案
  9. ASP.NET 的特点
  10. DayDayUp:2020年全球顶尖计算机科学家1000排名正式发布!恭喜两位华人学者步入全球Top 10!