文章目录

  • 拉格朗日对偶性(Lagrange duality)
    • 1. 从原始问题到对偶问题
    • 2. 弱对偶与强对偶
    • 3. KKT条件
    • Reference:

拉格朗日对偶性(Lagrange duality)

1. 从原始问题到对偶问题

 对偶性是优化理论中一个重要的部分,带约束的优化问题是机器学习中经常遇到的问题,这类问题都可以用如下形式表达
min    f(x)s.t.    gi(x)≤0,    i=1,⋯ ,mhi(x)=0,    i=1,⋯ ,n\begin{aligned} min \;\; &f(x) \\ s.t.\;\; & g_i(x) \le 0 ,\;\; i=1,\cdots, m\\ & h_i(x) = 0,\;\; i=1,\cdots,n\\ \end{aligned} mins.t.​f(x)gi​(x)≤0,i=1,⋯,mhi​(x)=0,i=1,⋯,n​
约束条件减少需要求解的空间,但在机器学习中,约束条件往往比较复杂并且较多。因此先计算约束条件再在约束空间中计算最优值非常不方便。于是用广义拉格朗日函数将带约束优化问题转化为无约束优化问题
L(x,λ,η)=f(x)+∑imλigi(x)+∑inηihi(x)L(x,\lambda,\eta) = f(x)+\sum_i^m \lambda_i g_i(x) + \sum_i^n \eta_i h_i(x) L(x,λ,η)=f(x)+i∑m​λi​gi​(x)+i∑n​ηi​hi​(x)
 这时,若按照拉格朗日乘数法直接对x、λ、ηx、\lambda、\etax、λ、η求偏导的话,结果对简化复杂的约束条件没有益处。我们希望获取一种能够优化原问题,又能简化计算的方法。于是进一步挖掘λ、η\lambda、\etaλ、η能够带来的东西,当我们对广义拉格朗日函数作关于λ、η\lambda、\etaλ、η 的最大化时
θP(x)=maxλ≥0,η  L(x,λ,η)\theta_P(x) = \underset {\lambda \ge 0,\eta} {max}\;L(x,\lambda,\eta) θP​(x)=λ≥0,ηmax​L(x,λ,η)
其中,要求λ≥0\lambda \ge 0λ≥0 ,很容易发现,在这个最大化问题中,若xxx 不满足原问题中的约束,那么这个最大化的结果一定是正无穷。例如,gi(x)>0g_i(x)>0gi​(x)>0 ,在关于λ、η\lambda、\etaλ、η 最大化时,其系数便会趋于无穷大使得整个式子趋于无穷大。而当xxx 满足约束时,最大化的结果一定是f(x)f(x)f(x) 。依据这个特性,我们可以将原广义拉格朗日函数的极小化问题拆解为两步
minx  L(x,λ,η)=minx  θP(x)=minx  maxλ≥0,η  L(x,λ,η)\underset x {min} \;L(x,\lambda,\eta) = \underset x {min} \;\theta_P(x) = \underset x {min} \;\underset {\lambda \ge 0,\eta} {max}\;L(x,\lambda,\eta) xmin​L(x,λ,η)=xmin​θP​(x)=xmin​λ≥0,ηmax​L(x,λ,η)

拆解后的问题$ \underset x {min} ;\underset {\lambda \ge 0,\eta} {max};L(x,\lambda,\eta)$ 称为广义拉格朗日函数的极小极大问题,它与原问题是完全等价的。在对偶性中,这个问题被称为原始问题(Primal problem)。

  通过原始问题的极小极大问题,可以引出它的对偶问题(Dual problem),其对偶问题就是极小极大问题交换一个位置而已。首先定义
θD(λ,η)=minxL(x,λ,η)\theta_D(\lambda,\eta) = \underset {x} {min} L(x,\lambda,\eta) θD​(λ,η)=xmin​L(x,λ,η)
那么其对偶问题就是
maxλ≥0,η  θD(λ,η)=maxλ≥0,η  minxL(x,λ,η)\underset {\lambda \ge 0,\eta} {max} \; \theta_D(\lambda,\eta)= \underset {\lambda \ge 0,\eta} {max} \;\underset {x} {min} L(x,\lambda,\eta) λ≥0,ηmax​θD​(λ,η)=λ≥0,ηmax​xmin​L(x,λ,η)
这个问题是广义拉格朗日函数的极大极小问题,将其展开为约束最优化问题得到
maxλ,η  θD(λ,η)=maxλ,η  minxL(x,λ,η)s.t.λi≥0,    i=1,2,⋯ ,k\underset {\lambda ,\eta} {max} \; \theta_D(\lambda,\eta)= \underset {\lambda ,\eta} {max} \;\underset {x} {min} L(x,\lambda,\eta)\\ s.t. \lambda_i \ge 0,\;\; i= 1,2,\cdots,k λ,ηmax​θD​(λ,η)=λ,ηmax​xmin​L(x,λ,η)s.t.λi​≥0,i=1,2,⋯,k
  可以看出两个函数的变量并不相同,对于原始问题,它的变量是xxx,而对于对偶问题,它的变量是λ,  η\lambda,\;\etaλ,η 。并且,这两个问题并不等价,有时候甚至差的有点多。可以理解为其他国家最厉害的乒乓球队员,也没有中国最菜的乒乓球队员厉害,当然这比喻并不准确。

2. 弱对偶与强对偶

  对偶函数可以理解为给原始函数找了一个下界,在原始函数计算困难的时候,可以通过解对偶函数来得到一个近似的值。并且在函数满足一定条件的时候,对偶函数的解与原始函数的解是等价的。具体来说,对偶 函数θD(λ,η)=minxL(x,λ,η)\theta_D(\lambda,\eta)=\underset {x} {min} L(x,\lambda,\eta)θD​(λ,η)=xmin​L(x,λ,η) 确定了原始问题的一个下界,即
(2-a)θD(λ,η)=minxL(x,λ,η)≤L(x,λ,η)≤maxλ≥0,η  L(x,λ,η)=θP(x)\theta_D(\lambda,\eta) =\underset {x} {min} L(x,\lambda,\eta)\le L(x,\lambda,\eta)\le \underset {\lambda \ge 0,\eta} {max}\;L(x,\lambda,\eta)=\theta_P(x) \tag{2-a} θD​(λ,η)=xmin​L(x,λ,η)≤L(x,λ,η)≤λ≥0,ηmax​L(x,λ,η)=θP​(x)(2-a)


θD(λ,η)≤θP(x)\theta_D(\lambda,\eta) \le \theta_P(x) θD​(λ,η)≤θP​(x)
其中,θd(λ,η)\theta_d(\lambda,\eta)θd​(λ,η)看作其他国家乒乓球运动员,θP(x)\theta_P(x)θP​(x)看作中国乒乓球运动员,那么其他国家最厉害的也不一定比得上中国最差的。即
(2-b)d∗=maxλ,η  θD(λ,η)≤minx  θP(x)=p∗d^* =\underset {\lambda ,\eta} {max} \; \theta_D(\lambda,\eta)\le \underset x {min} \;\theta_P(x)=p^* \tag{2-b} d∗=λ,ηmax​θD​(λ,η)≤xmin​θP​(x)=p∗(2-b)
这个性质便是弱对偶性( weak duality )。弱对偶性对任何优化问题都成立,这似乎是显然的,因为这个下界并不严格,有时候甚至取到非常小,对近似原问题的解没多大帮助。既有弱对偶性,那么便有强对偶性,强对偶性是指
d∗=p∗d^* = p^* d∗=p∗
显然这是一个令人惊喜的性质,这意味着可以通过求解较简单的对偶问题(因为对偶问题总是一个凸优化问题)来得到原问题的解。不过强对偶性在优化问题中是一个非常高深的问题,对我来说更是如此。因此我只能介绍关于强对偶的两个条件:严格条件和KKT条件。

3. KKT条件

  严格条件是指原始问题是凸函数,约束条件是仿射函数,若此时不等式约束满足严格条件,即不等号是严格不等号,不能取等号,则强对偶性成立。这个条件在SVM中即变成了对任意一个点,都存在超平面能对其正确划分,也就是数据集是线性可分的。严格条件是强对偶性的充分条件,但并不是必要条件。有些不满足严格条件的可能也有强对偶性。

  KKT条件是在满足严格条件的情况下,推导出的变量取值的关系,假设原始问题和对偶问题的极值点分别是x∗x^*x∗和λ∗,η∗\lambda^*,\eta^*λ∗,η∗ ,对应的极值分别是p∗p^*p∗和d∗d^*d∗ 。由于满足强对偶性,有p∗=d∗p^*=d^*p∗=d∗ 。将极值点带入得到
(3-a)d∗=θD(λ∗,η∗)=minxL(x,λ∗,η∗)d^* = \theta_D(\lambda^*,\eta^*) =\underset x {min} L(x,\lambda^*,\eta^*) \tag{3-a} d∗=θD​(λ∗,η∗)=xmin​L(x,λ∗,η∗)(3-a)
这说明x∗x^*x∗是L(x,λ∗,η∗)L(x,\lambda^*,\eta^*)L(x,λ∗,η∗)的一个极值点,那么L(x,λ∗,η∗)L(x,\lambda^*,\eta^*)L(x,λ∗,η∗)在x∗x^*x∗处的梯度为0,即
(3-b)▽f(x∗)+∑imλigi(x∗)+∑inηihi(x∗)=0\triangledown f(x^*)+\sum_i^m\lambda_i g_i(x^*) + \sum_i^n \eta_i h_i(x^*) = 0 \tag{3-b} ▽f(x∗)+i∑m​λi​gi​(x∗)+i∑n​ηi​hi​(x∗)=0(3-b)
由式(2−a)(2-a)(2−a) ,
(3-c)d∗=minxL(x,λ∗,η∗)≤L(x∗,λ∗,η∗)=f(x∗)+∑imλigi(x∗)+∑inηihi(x∗)≤p∗=f(x∗)\begin{aligned} d^* =& \underset x {min} L(x,\lambda^*,\eta^*) \\ \le &L(x^*,\lambda^*,\eta^*)\\ =& f(x^*) + \sum_i^m \lambda_i g_i(x^*) + \sum_i^n \eta_i h_i(x^*)\\ \le & p^* = f(x^*) \end{aligned} \tag{3-c} d∗=≤=≤​xmin​L(x,λ∗,η∗)L(x∗,λ∗,η∗)f(x∗)+i∑m​λi​gi​(x∗)+i∑n​ηi​hi​(x∗)p∗=f(x∗)​(3-c)
由于p∗=d∗p^*=d^*p∗=d∗,因此上式不等号应取到等号,再与式(3−b)(3-b)(3−b) 得
(3-d)∑imλigi(x∗)+∑inηihi(x∗)=0\sum_i^m \lambda_i g_i(x^*) + \sum_i^n \eta_i h_i(x^*) = 0 \tag{3-d} i∑m​λi​gi​(x∗)+i∑n​ηi​hi​(x∗)=0(3-d)
由于注意x∗x^*x∗作为该问题的解,是一定满足h(x∗)=0h(x^*) = 0h(x∗)=0的,因此
λigi(x)=0,      i=1,2,⋯ ,m\lambda_i g_i(x) = 0,\;\;\;i=1,2,\cdots,m λi​gi​(x)=0,i=1,2,⋯,m
这个条件叫做互补松弛性(complementary slackness)。

  其中,λ≥0\lambda \ge 0λ≥0称为对偶可行性。并且它似乎可以从原始问题到对偶问题的极小极大问题中总结出。不过这里可以有另一种解释,简化一下,考虑只有不等式约束的问题
min    f(x)s.t.    g(x)≤0\begin{aligned} min \;\; &f(x) \\ s.t.\;\; & g(x) \le 0 \\ \end{aligned} mins.t.​f(x)g(x)≤0​
其中g(x)≤0g(x) \le 0g(x)≤0称为原始可行性,由它确定的区间称为可行域。假设x∗x^*x∗为该问题的解,那么其位置有两种情况

  • (1) g(x∗)&lt;0g(x^*)&lt;0g(x∗)<0时,解在可行域中取得。这时解称为内部解,约束条件无效,原问题变为无约束问题。

  • (2) g(x∗)=0g(x^*)=0g(x∗)=0时,解在边界上取得, 这时解称为边界解,约束条件有效。

内部解直接由梯度为0即可解得,这里主要讨论边界解。

  对于g(x)=0g(x)=0g(x)=0的约束问题,建立拉格朗日函数
L(x,λ)=f(x)+λg(x)L(x,\lambda) = f(x) + \lambda g(x) L(x,λ)=f(x)+λg(x)
因为驻点x∗x^*x∗在其上取得,那么该函数在x∗x^*x∗处的梯度为0,即
▽f(x∗)+λ▽g(x∗)=0\triangledown f(x^*) + \lambda \triangledown g(x^*) = 0 ▽f(x∗)+λ▽g(x∗)=0
这里两个梯度的方向应该是可以确定的,f(x)f(x)f(x)的极小值在边界取到,那么可行域内部的f(x)f(x)f(x)应该都是大于这个极小值的,因此▽f\triangledown f▽f的方向是可行域内部。而▽g\triangledown g▽g的方向是可行域外部,因为约束条件是g(x)≤0g(x)\le 0g(x)≤0,也就是可行域外部都是g(x)&gt;0g(x)&gt;0g(x)>0,所以梯度方向指向函数增加的方向。这说明两个函数的梯度方向相反,那上面这个等式要成立,λ\lambdaλ只能是大于等于0。这就是对偶可行性。

  再将其他的条件组合起来,便得到了KKT条件:
▽xL(x∗,λ∗,η∗)=0gi(x∗)≤0λi≥0λigi(x∗)=0\begin{aligned} \triangledown _x L(x^*,\lambda^*,\eta^*) =0 \\ g_i(x^*) \le 0\\ \lambda_i \ge 0\\ \lambda_i g_i(x^*) =0 \end{aligned} ▽x​L(x∗,λ∗,η∗)=0gi​(x∗)≤0λi​≥0λi​gi​(x∗)=0​

Reference:

[1] Convex Optimization

[2] Pattern Recognition and Machine Learning.

[3] 统计学习方法

[4] 支持向量机:Duality

[5] KKT条件

拉格朗日对偶性(Lagrange duality)相关推荐

  1. 拉格朗日乘子法、KKT条件、拉格朗日对偶性

    拉格朗日乘子法.KKT条件.拉格朗日对偶性 转载于http://blog.csdn.net/sinat_17496535/article/details/52103852 笔记主要来源于维基百科和&l ...

  2. SVM——(三)对偶性和KKT条件(Lagrange duality and KKT condition)

    之前说到过拉格朗日乘数法以及推导过程,那么今天要说的就是拉格朗日对偶性以及KKT条件 1.Lagrange multipliers 一句话说,拉格朗日乘数法就是用来解决条件极值的一个方法,且约束条件都 ...

  3. 拉格朗日对偶性Duality and the Lagrangian

    利用拉格朗日对偶性(Lagrange duality)将原始问题转换为对偶问题,通过解对偶问题而得到原始问题的解. 原始问题 考虑原始问题: 假设f(x)f(x)f(x).ci(x)c_i(x)ci​ ...

  4. 简易解说拉格朗日对偶(Lagrange duality)

    引言:尝试用最简单易懂的描述解释清楚机器学习中会用到的拉格朗日对偶性知识,非科班出身,如有数学专业博友,望多提意见! 这里也是引用别人的博客 1.原始问题 假设是定义在上的连续可微函数(为什么要求连续 ...

  5. 【机器学习】拉格朗日对偶性

    有任何的书写错误.排版错误.概念错误等,希望大家包含指正. 拉格朗日对偶性 在求解最优化问题中,拉格朗日乘数法(Lagrange Multiplier)和 KKT(Karush Kuhn Tucker ...

  6. 拉格朗日对偶性和似然函数

    在学习最大熵模型和SVM的过程中,我们看到,前者需要求解满足所有已知条件并且使得熵最大的模型,后者需要求解满足间隔一致性约束条件并且使得几何间隔最大的超平面,归结起来其求解问题都是带约束的极值问题,其 ...

  7. 【数理知识】拉格朗日乘数 Lagrange multipliers

    拉格朗日乘数 (Lagrange multipliers) 在数学中的最优化问题中,拉格朗日乘数法(以数学家约瑟夫·拉格朗日命名)是一种寻找多元函数在其变量受到一个或多个条件的约束时的极值的方法. 这 ...

  8. 拉格朗日对偶性详解(手推笔记)

    个人原创笔记,转载请附上本文链接. 拉格朗日对偶性其实也没有那么难理解,在我梳理过后你会发现也就是那一回事罢了. 围绕着拉格朗日对偶性探讨的整个流程下来,实际上牵扯到 三个问题: 原始问题,我们记作 ...

  9. 拉格朗日(Lagrange)插值

    问题 给定 nnn 个点,可确定一个多项式 y=f(x)y=f(x)y=f(x) ,要求确定这个多项式并求出 f(k)f(k)f(k) 拉格朗日(Lagrange)插值公式 搬运 令 Ln(x)=f( ...

  10. 数值分析原理课程实验——拉格朗日(Lagrange)插值

    拉格朗日(Lagrange)插值 方法概要 待求问题 1.拉格朗日插值多项式的次数n越大越好吗? 2.插值区间越小越好吗? 3.内插比外推更可靠吗? 程序流程 程序代码 /*Matlab函数 func ...

最新文章

  1. [工具向]__androidstudio签名打包apk及配置自动签名
  2. Android开源框架——图片加载与缓存库 Picasso
  3. 深入理解HTML表格
  4. 【网络编程】之四、socket网络编程例解
  5. 乘风破浪的迁移学习!四字成语讲明白这个大热研究方向
  6. TextView滚动功能的实现
  7. 单调栈求全1(或全0)子矩阵的个数 洛谷P5300与或和 P3400仓鼠窝
  8. python代码翻译器-我用40行python代码写一个桌面翻译器,很nice
  9. Linux 工程师的 6 类好习惯和 23 个教训
  10. 【图像增强】基于matlab区域相似变换函数和蜻蜓算法灰度图像增强【含Matlab源码 089期】
  11. 电脑版微信发消息转圈圈
  12. 1.8Linux下的软件管理
  13. ios沙箱软件_ios沙盒2存档-ios沙盒2最新版下载0.5.2苹果版-西西软件下载
  14. 数字版权管理 (DRM) 续
  15. FLStudio21无需切换中文语言fl下载中文免费版
  16. Grid ++ MIME 类型配置 载入报表数据,检查此URL及其数据,错误提示 网络服务器响应不成功
  17. 单细胞文献学习(part2)--stPlus: a reference-based method for the accurate enhancement of ST
  18. 四平方和定理(拉格朗日定理)
  19. 最轻的5号电池------耐时锂电池
  20. 郝健: Linux内存管理学习笔记-第4节课

热门文章

  1. Unity经典案例再现《太空大战》
  2. springboot框架
  3. 7、万国觉醒建筑白天黑夜效果(Shader Graph)
  4. flashfxp中文下载,5步掌握flashfxp中文下载软件的使用技巧
  5. 示波器两个重要参数 - 带宽、采样率
  6. PHP学习日记0_PHP、静态网页、动态网页、静态网站访问流程、动态网站访问流程
  7. android fd泄露分析,文件描述符(fd)泄漏排查一篇就够了
  8. 无监督re-ranker,Improving Passage Retrieval with Zero-Shot Question Generation
  9. 文件上传进度条 c 语言,cgi 上传文件(c 语言) 进度条显示
  10. 艾艾贴redis集群