凸优化学习笔记(四):对偶性、KKT 条件、敏感性分析
前言
如果你对这篇文章可感兴趣,可以点击「【访客必读 - 指引页】一文囊括主页内所有高质量博客」,查看完整博客分类与对应链接。
文章目录
- 前言
- 五、对偶性
- 定义
- 对偶函数性质
- 对偶问题性质
- 强 / 弱对偶 - 对偶间隙
- KKT 条件
- 互补松弛条件 (Complementary Slackness)
- 稳定性条件 (Stationarity)
- KKT 条件适用范围
- KKT 举例
- 总结
- 敏感性分析
五、对偶性
定义
原问题 P (Primal Problem):
- x∈Rn,D=⋂i=1mdom(fi)∩⋂i=1pdom(hi)x\in R^n,D=\bigcap^m_{i=1}dom(f_i)\cap\bigcap^p_{i=1}dom(h_i)x∈Rn,D=⋂i=1mdom(fi)∩⋂i=1pdom(hi)
minf0(x)s.t.fi(x)≤0,i=1,...,Mhi(x)=0,i=1,...,P\begin{aligned} \min \ & f_0(x) \\ s.t. \ & f_i(x)\leq 0, i=1,...,M \\ & h_i(x)=0,i=1,...,P \end{aligned} min s.t. f0(x)fi(x)≤0,i=1,...,Mhi(x)=0,i=1,...,P
拉格朗日函数 (Lagrangian Function / Lagrangian):
- λ、v\lambda、vλ、v 为拉格朗日乘子 (Lagrange Multiplier / Multiplier)
L(x,λ,v)=f0(x)+∑i=1mλifi(x)+∑i=1pvihi(x)L(x,\lambda,v)=f_0(x)+\sum\limits_{i=1}^m \lambda_i f_i(x)+\sum\limits_{i=1}^p v_i h_i(x) L(x,λ,v)=f0(x)+i=1∑mλifi(x)+i=1∑pvihi(x)
拉格朗日对偶函数 (Lagrange Dual Function / Dual Function):
g(λ,v)=infx∈DL(x,λ,v)g(\lambda,v)=\inf_{x\in D}L(x,\lambda,v) g(λ,v)=x∈DinfL(x,λ,v)
对偶问题 D (Dual Problem / Lagrange Dual Problem):
- 若对偶函数有部分情况为负无穷,则写对偶问题时可以直接忽略负无穷的部分
maxg(λ,v)s.t.λ≥0\begin{aligned} \max \ & g(\lambda,v) \\ s.t. \ & \lambda\geq 0 \end{aligned} max s.t. g(λ,v)λ≥0
对偶函数性质
- 对偶函数一定是凹函数
- ∀λ≥0,∀v,g(λ,v)≤p∗\forall \lambda \geq 0,\forall v,g(\lambda,v)\leq p^*∀λ≥0,∀v,g(λ,v)≤p∗,p∗p^*p∗ 为原问题最优值
对偶问题性质
- 对偶问题一定是凸优化问题
- d∗、p∗d^*、p^*d∗、p∗ 分别为对偶问题、原问题的最优值,其中 d∗≤p∗d^*\leq p^*d∗≤p∗
- λ∗、v∗\lambda^*、v^*λ∗、v∗ 为最优拉格朗日乘子 (Optimal Lagrange Multiplier)
强 / 弱对偶 - 对偶间隙
对偶概念:
- 弱对偶 (Weak Duality):d∗≤p∗d^*\leq p^*d∗≤p∗
- 强对偶 (Strong Duality):d∗=p∗d^*=p^*d∗=p∗
- 对偶间隙 (Duality Gap):p∗−d∗p^*-d^*p∗−d∗
D 的相对领域 (Relative Interior):
- Relint D={x∈D∣B(x,r)∩affD≤D,∃r>0}D=\{x\in D|B(x,r)\cap aff\ D\leq D,\exists r>0\}D={x∈D∣B(x,r)∩aff D≤D,∃r>0}
- 其中 affDaff\ Daff D 表示 DDD 的仿射包,B(x,r)B(x,r)B(x,r) 表示以 xxx 为中心,rrr 为半径的小球
- D 的相对领域即是去除 D 边缘后的区域
Slater’s Condition (充分条件):
- 若有如下凸问题存在,其中 fi(x),∀if_i(x),\forall ifi(x),∀i 为凸,则当 ∃x∈relintD\exists x\in relint \ D∃x∈relint D 使 fi(x)<0,i=1,...,m,Ax=bf_i(x)<0,i=1,...,m,Ax=bfi(x)<0,i=1,...,m,Ax=b 满足时,p∗=d∗p^*=d^*p∗=d∗
minf0(x)s.t.fi(x)≤0,i=1,...,mAx=b\begin{aligned} \min \ & f_0(x) \\ s.t. \ & f_i(x)\leq 0,i=1,...,m\\ & Ax=b \end{aligned} min s.t. f0(x)fi(x)≤0,i=1,...,mAx=b
A weaker Slater’s Condition:
- 若不等式约束为仿射时,只要可行域非空,必有 p∗=d∗p^*=d^*p∗=d∗
- 推论:线性规划问题若有可行解,则 p∗=d∗p^*=d^*p∗=d∗
鞍点的解释 (Saddle Point):
- 使得下式成立的 x∗、λ∗x^*、\lambda^*x∗、λ∗ 即为鞍点
p∗=infx∈Dsupλ≥0L(x,λ)=supλ≥0infx∈DL(x,λ)=d∗p^*=\inf_{x\in D}\sup_{\lambda\geq 0}L(x,\lambda)=\sup_{\lambda\geq 0}\inf_{x\in D}L(x,\lambda)=d^* p∗=x∈Dinfλ≥0supL(x,λ)=λ≥0supx∈DinfL(x,λ)=d∗
鞍点定理:
- 若 (x~,λ~)(\tilde{x},\tilde{\lambda})(x~,λ~) 为 L(x,λ)L(x,\lambda)L(x,λ) 的鞍点 ⇔\Leftrightarrow⇔ 强对偶存在,且 x~,λ~\tilde{x},\tilde{\lambda}x~,λ~ 为 Primal 与 Dual 最优解
KKT 条件
p∗=f0(x∗)=d∗=g(λ∗,v∗)=infx{f0(x)+∑i=1mλi∗fi(x)+∑i=1pvi∗hi(x)}≤f0(x∗)+∑i=1mλi∗fi(x∗)+∑i=1pvi∗hi(x∗)≤f0(x∗)\begin{aligned} p^*=f_0(x^*)=d^*=&g(\lambda^*,v^*)\\ =&\inf_x\{f_0(x)+\sum\limits_{i=1}^m \lambda_i^* f_i(x)+\sum\limits_{i=1}^p v_i^* h_i(x)\}\\ \leq & f_0(x^*)+\sum\limits_{i=1}^m \lambda_i^* f_i(x^*)+\sum\limits_{i=1}^p v_i^* h_i(x^*) \\ \leq & f_0(x^*) \end{aligned} p∗=f0(x∗)=d∗==≤≤g(λ∗,v∗)xinf{f0(x)+i=1∑mλi∗fi(x)+i=1∑pvi∗hi(x)}f0(x∗)+i=1∑mλi∗fi(x∗)+i=1∑pvi∗hi(x∗)f0(x∗)
由此中间的不等号应改为等号,进而推出以下两个条件。
互补松弛条件 (Complementary Slackness)
若 p∗=d∗p^*=d^*p∗=d∗,则 λi∗fi(x∗)=0\lambda_i^*f_i(x^*)=0λi∗fi(x∗)=0,即如果 λi∗>0\lambda_i^*>0λi∗>0 则 fi(x∗)=0f_i(x^*)=0fi(x∗)=0;如果 fi(x∗)<0f_i(x^*)<0fi(x∗)<0 则 λi∗=0\lambda_i^*=0λi∗=0
稳定性条件 (Stationarity)
infxL(x,λ∗,v∗)=infx{f0(x)+∑i=1mλi∗fi(x)+∑i=1pvi∗hi(x)}=L(x∗,λ∗,v∗)\inf_xL(x,\lambda^*,v^*)= \inf_x\{f_0(x)+\sum\limits_{i=1}^m \lambda_i^* f_i(x)+\sum\limits_{i=1}^p v_i^* h_i(x)\}=L(x^*,\lambda^*,v^*) xinfL(x,λ∗,v∗)=xinf{f0(x)+i=1∑mλi∗fi(x)+i=1∑pvi∗hi(x)}=L(x∗,λ∗,v∗)
因此 L(x,λ∗,v∗)L(x,\lambda^*,v^*)L(x,λ∗,v∗) 在 x∗x^*x∗ 处取到最小值,即 x∗x^*x∗ 处导数为 0,即
∇f0(x∗)+∑i=1mλi∗∇fi(x∗)+∑i=1pvi∗∇hi(x∗)=0\nabla f_0(x^*)+\sum\limits_{i=1}^m \lambda_i^* \nabla f_i(x^*)+\sum\limits_{i=1}^p v_i^* \nabla h_i(x^*)=0 ∇f0(x∗)+i=1∑mλi∗∇fi(x∗)+i=1∑pvi∗∇hi(x∗)=0
KKT 条件适用范围
KKT 条件从强对偶性质出发进行推导,共得到以下五个条件:
- 原问题可行性
- fi(x∗)≤0,i=1,...,mf_i(x^*)\leq 0,i=1,...,mfi(x∗)≤0,i=1,...,m
- hi(x∗)=0,i=1,...,ph_i(x^*)=0,i=1,...,phi(x∗)=0,i=1,...,p
- 对偶问题可行性
- λ∗≥0\lambda^*\geq 0λ∗≥0
- 互补松弛条件
- λi∗fi(x∗)=0,i=1,...,m\lambda_i^* f_i(x^*)=0,i=1,...,mλi∗fi(x∗)=0,i=1,...,m
- 稳定性条件
- ∂L(x,λ∗,v∗)∂x∣x=x∗=∇f0(x∗)+∑i=1mλi∗∇fi(x∗)+∑i=1pvi∗∇hi(x∗)=0\displaystyle\frac{\partial L(x,\lambda^*,v^*)}{\partial x}|_{x=x^*}=\nabla f_0(x^*)+\sum\limits_{i=1}^m \lambda_i^* \nabla f_i(x^*)+\sum\limits_{i=1}^p v_i^* \nabla h_i(x^*)=0∂x∂L(x,λ∗,v∗)∣x=x∗=∇f0(x∗)+i=1∑mλi∗∇fi(x∗)+i=1∑pvi∗∇hi(x∗)=0
定理:
- 对任意问题,若各个函数可微,对偶间隙为零,则 KKT 条件为 (x∗,λ∗,v∗)(x^*,\lambda^*,v^*)(x∗,λ∗,v∗) 为最优解时的必要条件
- 若原问题为凸问题,各个函数可微,对偶间隙为零,则 KKT 条件为充分条件
- 若原问题为凸问题且满足 Slater 条件,则 KKT 条件为充要条件
KKT 举例
总结
一般的优化问题(不一定凸):
- 若拉格朗日函数 L(x,λ,v)L(x,\lambda,v)L(x,λ,v) 有鞍点 ⇔\Leftrightarrow⇔ 鞍点为原 / 对偶函数的最优解
一般的可微优化问题(不一定凸):
- 若对偶间隙为零,则 KKT 条件是 (x∗,λ∗,v∗)(x^*,\lambda^*,v^*)(x∗,λ∗,v∗) 为最优解的必要条件
可微的凸优化问题:
- 若对偶间隙为零,则 KKT 条件是 (x∗,λ∗,v∗)(x^*,\lambda^*,v^*)(x∗,λ∗,v∗) 为最优解的充要条件
敏感性分析
原问题:
minf0(X)s.t.fi(X)≤0,i=1,...,Mhi(x)=0,i=1,...,P\begin{aligned} \min \ & f_0(X) \\ s.t. \ & f_i(X)\leq 0, i=1,...,M \\ & h_i(x)=0,i=1,...,P \end{aligned} min s.t. f0(X)fi(X)≤0,i=1,...,Mhi(x)=0,i=1,...,P
干扰问题:
- P∗(u,w)P^*(u,w)P∗(u,w) 为干扰问题的最优值函数,其中 P∗(0,0)P^*(0,0)P∗(0,0) 为原问题最优值
minf0(X)s.t.fi(X)≤ui,i=1,...,Mhi(x)=wi,i=1,...,P\begin{aligned} \min \ & f_0(X) \\ s.t. \ & f_i(X)\leq u_i, i=1,...,M \\ & h_i(x)=w_i,i=1,...,P \end{aligned} min s.t. f0(X)fi(X)≤ui,i=1,...,Mhi(x)=wi,i=1,...,P
性质:
- 若原问题为凸,则 P∗(u,w)P^*(u,w)P∗(u,w) 为 (u,w)(u,w)(u,w) 的凸函数
- 若原问题为凸,对偶间隙为零,λ∗,v∗\lambda^*,v^*λ∗,v∗ 为原问题对偶最优解,则 P∗(u,w)≥P∗(0,0)−(λ∗)Tu−(v∗)TwP^*(u,w)\geq P^*(0,0)-(\lambda^*)^Tu-(v^*)^TwP∗(u,w)≥P∗(0,0)−(λ∗)Tu−(v∗)Tw
- 若 λi∗\lambda_i^*λi∗ 很大,且加紧第 iii 次不等式约束,即 ui<0u_i<0ui<0 则 P∗(u,w)P^*(u,w)P∗(u,w) 可能会急剧上升
- 若 vi∗v_i^*vi∗ 很大正值,且 wi<0w_i<0wi<0;或 vi∗v_i^*vi∗ 为负值,即绝对值很大,且 wi>0w_i>0wi>0,则 P∗(u,w)P^*(u,w)P∗(u,w) 可能会急剧上升
- 若 λi∗\lambda_i^*λi∗ 很小,且 ui>0u_i>0ui>0,则最优值变化不大
- 若 vi∗v_i^*vi∗ 为很小正值,且 wi>0w_i>0wi>0 或 vi∗v_i^*vi∗ 为绝对值很小的负值,且 wi<0w_i<0wi<0,则最优值变化不大
- 若原问题为凸,对偶间隙为零,且 P∗(u,w)P^*(u,w)P∗(u,w) 在 (u,w)=(0,0)(u,w)=(0,0)(u,w)=(0,0) 处可微,则 λi∗=−∂P∗(0,0)∂ui,vi∗=−∂P∗(0,0)∂wi\lambda_i^*=-\displaystyle\frac{\partial P^*(0,0)}{\partial u_i},v_i^*=-\displaystyle\frac{\partial P^*(0,0)}{\partial w_i}λi∗=−∂ui∂P∗(0,0),vi∗=−∂wi∂P∗(0,0),即根据泰勒展开,得到 P∗(u,w)≈P∗(0,0)−(λ∗)Tu−(v∗)TwP^*(u,w)\approx P^*(0,0)-(\lambda^*)^Tu-(v^*)^TwP∗(u,w)≈P∗(0,0)−(λ∗)Tu−(v∗)Tw
凸优化学习笔记(四):对偶性、KKT 条件、敏感性分析相关推荐
- 凸优化学习笔记 15:梯度方法
前面的章节基本上讲完了凸优化相关的理论部分,在对偶原理以及 KKT 条件那里我们已经体会到了理论之美!接下来我们就要进入求解算法的部分,这也是需要浓墨重彩的一部分,毕竟我们学习凸优化就是为了解决实际当 ...
- 凸优化学习笔记 11:对偶原理 拉格朗日函数
前面讲了凸优化问题的定义,以及一些常见的凸优化问题类型,这一章就要引入著名的拉格朗日函数和对偶问题了.通过对偶问题,我们可以将一些非凸问题转化为凸优化问题,还可以求出原问题的非平凡下界,这对复杂优化问 ...
- 数学不好是原罪——凸优化学习笔记(个人学习记录汇总)
中科大凸优化课程学习笔记 中科大凌青老师的课(现中山大学教授):中科大-凸优化 形而上学,不行退学,共勉!博客为个人手写笔记整理存档,不喜勿看. 凸优化学习笔记(一) 持续更新--
- 凸优化学习笔记:QP及SOCP问题
凸优化学习笔记:QP及SOCP问题 QP问题 定义 是什么 几何意义 QP.QCQP.LP之间的关系 例子 最小二乘及回归问题 多面体间距离 方差定界问题 基于随机费用的线性规划(考虑随机变量的优化问 ...
- 凸优化学习笔记 10:凸优化问题
前面讲了那么多关于凸集.凸函数的知识,然而都是铺垫,现在我们才来到了这门课的重头戏部分--凸优化问题! 文章目录 1. 一般优化问题 2. 凸优化问题 2.1 凸优化问题定义 2.2 凸优化问题的最优 ...
- 凸优化学习笔记(一)
文章目录 写在前面 仿射/凸/凸锥(集/组合/包) 几种重要的凸集:超平面与半空间/球和椭球/多面体/单纯形/对称(半)正定矩阵 凸集的交集,保凸运算:仿射函数/缩放和移位/透视函数/线性分段函数 凸 ...
- 【凸优化学习笔记3】几种重要的凸集
参考资料: 1.凌青老师的凸优化课(b站) 2.Stephen Boyd的<凸优化>中译本(清华大学出版社) 全部使用LaTex公式书写 文章目录 仿射集.凸集.凸锥总结 几种重要的凸集 ...
- 【凸优化学习笔记1】什么是优化、优化的数学表达形式、优化问题的分类
参考资料: 1.凌青老师的凸优化课(b站) 2.Stephen Boyd的<凸优化>中译本(清华大学出版社) 文章目录 什么是优化(Optimization) 优化问题的数学表达形式 举例 ...
- 凸优化学习笔记 6:共轭函数
个人博客地址 Glooow,欢迎光临~~~ 文章目录 1. 共轭函数 1.1 定义 1.2 性质 1.3 例子 1. 共轭函数 1.1 定义 一个函数 fff 的共轭函数(conjugate func ...
- 凸优化学习笔记6.3
在正则化逼近的基本形式中,我们的目标是寻找向量x使得其值比较小(如果可能的话),同时使得残差Ax-b小,自然地,这可以描述为双目标的凸向量问题,这两个目标是||Ax-b||和||x||: 这两个范数可 ...
最新文章
- 企业 - php nginx memcache
- 在学习一门编程语言时要特别注意以下三个方面
- Linux命令:sed
- FD.io/VPP — L3 vRouter
- 【转】IT名企面试:腾讯笔试题(2)
- VC++ 中 try-catch-finally 语句 如何在获取正常信息是写一些操作语句
- 云电脑是什么_云电脑为什么发布新1代5G无影?带你了解PC
- java mysql lru_Java集合详解5:深入理解LinkedHashMap和LRU缓存
- 仅用38天 2021年快递业务量已超100亿件
- ElasticDL:首个基于 TensorFlow 实现弹性深度学习的开源系统
- FreeBSD 查看USB
- Julia : 类型别名
- python + opencv 中值滤波器、最大值滤波器和最小值滤波器
- 【笔记】统计pdf文件中的字数
- kindle paper write1 kindle pw1 安装多看系统 or 原本是多看双系统,升级kindle系统后多看系统消失,解决方法降级kindle系统+重装kindle系统
- 大数据相关各职位解析
- 基于数字证书的windows安全登录
- 小白快速体验之爬虫抓取新浪热搜
- 学会吊打面试官之set
- 【5G NR】CSI-RS
热门文章
- 利用HttpOnly来防御xss攻击
- MYSQL 查看表定义的 4 种方法
- 垂直型与水平型电子商务网站的理解
- Javasript中Date日期常用用法(正则、比较)
- 给“大学生IT博客大赛”参赛博主的一封信
- [转载] 中华典故故事(孙刚)——19 万岁
- 数据结构实验1-线性表的顺序实现
- c语言程序设计与算法,程序设计与算法(一)C语言程序设计
- 中常用的数据结构_代码面试需要知道的8种数据结构(附面试题及答案链接)
- 高斯混合模型聚类_高斯混合模型的解释及Python实现