凸优化学习-(十八)对偶性Duality 拉格朗日函数与对偶函数
凸优化学习
对偶性是凸优化学习的核心,重中之重。
学习笔记
一、拉格朗日函数与对偶函数
对于一个普通优化问题:
minf0(x)s.t.fi(x)≤0i=1⋯mhi(x)=0i=1⋯p\begin{aligned} \min&& f_0(x)&\\ \text{s.t.}&&f_i(x)&\le0\qquad i=1\cdots m\\ &&h_i(x)&=0\qquad i=1\cdots p\\ \end{aligned}\\ mins.t.f0(x)fi(x)hi(x)≤0i=1⋯m=0i=1⋯p
由此问题定义的拉格朗日函数(lagrangian function\text{lagrangian function}lagrangian function):
l(x,λ,v)=f0(x)+∑i=1mλifi(x)+∑i=1pvihi(x)l(x,\lambda,v)=f_0(x)+\sum_{i=1}^m\lambda_if_i(x)+\sum_{i=1}^pv_ih_i(x) l(x,λ,v)=f0(x)+i=1∑mλifi(x)+i=1∑pvihi(x)
其中λ,v\lambda,vλ,v被称为拉格朗日乘子,分别为与等式相关的拉格朗日乘子和与不等式相关的拉格朗日乘子。
由拉格朗日函数构造的对偶函数(dual function\text{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)
二、对偶函数的性质
1、对偶函数一定是凹函数
线性函数组合的inf\infinf一定是凹函数。
线性函数组合的sup\supsup一定是凸函数。
2、g(λ,v)≤p∗g(\lambda,v)\le p^*g(λ,v)≤p∗
*证明:*设x∗x^*x∗是原问题最优解,则必是可行解。
则l(x∗,λ,v)=f0(x∗)+∑i=1mλifi(x∗)+0≤p∗\begin{aligned} l(x^*,\lambda,v)&=f_0(x^*)+\sum_{i=1}^m\lambda_if_i(x^*)+0\\ &\le p^* \end{aligned} l(x∗,λ,v)=f0(x∗)+i=1∑mλifi(x∗)+0≤p∗
而ggg是lll的下界,故有
g(λ,v)≤l(x∗,λ,v)≤p∗g(\lambda,v)\le l(x^*,\lambda,v)\le p^* g(λ,v)≤l(x∗,λ,v)≤p∗
所以,极大化ggg,可以得到p∗p^*p∗的最好下界。而ggg是凹的,极大化ggg是一个凸问题,这为我们解非凸问题提供了一种思路。
三、几个求拉格朗日函数和对偶函数的例子
例1:二次规划
minxTxs.t.Ax−b=0⇒l(x,v)=xTx+v(Ax−b)⇒g(v)=infxl(x,v)=infxxTx+vTAx−vTb\begin{aligned} &&\min\qquad& x^Tx\\ &&\text{s.t.}\qquad&\textbf Ax-b=0\\ \\ \Rightarrow&&l(x,v)&=x^Tx+v(\textbf Ax-b)\\ \Rightarrow&&g(v)&=\inf_x l(x,v)\\ &&&=\inf_x x^Tx+v^T\textbf Ax-v^Tb \end{aligned} ⇒⇒mins.t.l(x,v)g(v)xTxAx−b=0=xTx+v(Ax−b)=xinfl(x,v)=xinfxTx+vTAx−vTb
例2:线性规划
mincTxs.t.Ax−b=0x≥0⇒l(x,λ,v)=cTx−λTx+vT(Ax−b)=−bTv+(c+ATv−λ)Tx⇒g(v)=infxl(x,λ,v)={−bTvATv−λ+c=0−∞otherwise\begin{aligned} &&\min\qquad& c^Tx\\ &&\text{s.t.}\qquad&\textbf Ax-b=0\\ &&\qquad&\qquad \ \ x\ge0\\ \\ \Rightarrow&&l(x,\lambda,v)&=c^Tx-\lambda^Tx+v^T(\textbf Ax-b)\\ &&&=-b^Tv+(c+\textbf A^Tv-\lambda)^Tx\\ \Rightarrow&&g(v)&=\inf_x l(x,\lambda,v)\\ &&&=\begin{cases} -b^Tv&\textbf A^Tv-\lambda+c=0\\ -\infty&\text{otherwise} \end{cases} \end{aligned} ⇒⇒mins.t.l(x,λ,v)g(v)cTxAx−b=0 x≥0=cTx−λTx+vT(Ax−b)=−bTv+(c+ATv−λ)Tx=xinfl(x,λ,v)={−bTv−∞ATv−λ+c=0otherwise
例3:非凸约束的二次规划
minxTWxs.t.xi={−1,1}i=1⋯m⇔minxTWxs.t.xi2−1=0i=1⋯m⇒l(x,λ,v)=xTWx+∑i=1nvi(xi2−1)=xT(W+Diag(v))x−1Tv⇒g(v)=infxl(x,λ,v)={−1TvW+Diag(v)⪰0−∞otherwise\begin{aligned} &&\min\qquad& x^T\textbf Wx\\ &&\text{s.t.}\qquad&x_i=\lbrace-1,1\rbrace\qquad i=1\cdots m \\ \\ \Leftrightarrow&&\min\qquad& x^T\textbf Wx\\ &&\text{s.t.}\qquad&x_i^2-1=0\qquad \ \ \ \ i=1\cdots m \\ \Rightarrow&&l(x,\lambda,v)&=x^T\textbf Wx+\sum_{i=1}^nv_i(x_i^2-1)\\ &&&=x^T\big(\textbf W+\text{Diag}(v)\big)x-1^Tv \\ \Rightarrow&&g(v)&=\inf_x l(x,\lambda,v)\\ &&&=\begin{cases} -1^Tv&\textbf W+\text{Diag} (v)\succeq0\\ -\infty&\text{otherwise} \end{cases} \end{aligned} ⇔⇒⇒mins.t.mins.t.l(x,λ,v)g(v)xTWxxi={−1,1}i=1⋯mxTWxxi2−1=0 i=1⋯m=xTWx+i=1∑nvi(xi2−1)=xT(W+Diag(v))x−1Tv=xinfl(x,λ,v)={−1Tv−∞W+Diag(v)⪰0otherwise
四、对偶问题(Dual problem\text{Dual problem}Dual problem)
对于一个普通优化问题:
minf0(x)s.t.fi(x)≤0i=1⋯mhi(x)=0i=1⋯p\begin{aligned} \min&& f_0(x)&\\ \text{s.t.}&&f_i(x)&\le0\qquad i=1\cdots m\\ &&h_i(x)&=0\qquad i=1\cdots p\\ \end{aligned}\\ mins.t.f0(x)fi(x)hi(x)≤0i=1⋯m=0i=1⋯p
拉格朗日函数(lagrangian function\text{lagrangian function}lagrangian function):
l(x,λ,v)=f0(x)+∑i=1mλifi(x)+∑i=1pvihi(x)l(x,\lambda,v)=f_0(x)+\sum_{i=1}^m\lambda_if_i(x)+\sum_{i=1}^pv_ih_i(x) l(x,λ,v)=f0(x)+i=1∑mλifi(x)+i=1∑pvihi(x)
由拉格朗日函数构造的对偶函数(dual function\text{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)
其对偶问题为:
maxg(λ,v)s.t.λ≥0\begin{aligned} \max&& g(\lambda,v)&\\ \text{s.t.}&&\lambda\ \ge0&\\ \end{aligned}\\ maxs.t.g(λ,v)λ ≥0
例1:线性规划
mincTx(P)s.t.Ax−b=0x≥0⇒l(x,λ,v)=cTx−λTx+vT(Ax−b)=−bTv+(c+ATv−λ)Tx⇒g(v)=infxl(x,λ,v)={−bTvATv−λ+c=0−∞otherwisemax−bTx⇒(D)s.t.λ≥0ATv−λ+c=0\begin{aligned} &&\min\qquad& c^Tx\\ (P)&&\text{s.t.}\qquad&\textbf Ax-b=0\\ &&\qquad&\qquad \ \ x\ge0\\ \\ \Rightarrow&&l(x,\lambda,v)&=c^Tx-\lambda^Tx+v^T(\textbf Ax-b)\\ &&&=-b^Tv+(c+\textbf A^Tv-\lambda)^Tx\\ \Rightarrow&&g(v)&=\inf_x l(x,\lambda,v)\\ &&&=\begin{cases} -b^Tv&\textbf A^Tv-\lambda+c=0\\ -\infty&\text{otherwise} \end{cases}\\ \\ &&\max\qquad& -b^Tx\\ \Rightarrow(D)&&\text{s.t.}\qquad&\lambda\ge0\\ &&&\textbf A^Tv-\lambda+c=0 \end{aligned} (P)⇒⇒⇒(D)mins.t.l(x,λ,v)g(v)maxs.t.cTxAx−b=0 x≥0=cTx−λTx+vT(Ax−b)=−bTv+(c+ATv−λ)Tx=xinfl(x,λ,v)={−bTv−∞ATv−λ+c=0otherwise−bTxλ≥0ATv−λ+c=0
个人思考
对偶性是整个凸优化学习的核心,这是我们第一次接触到能给出一个非凸优化问题的最优下界的方法,同时,凸优化问题的对偶也有着良好的性质,需要接下来深入学习。
这里面拉格朗日乘子和之前的多目标优化中的惩罚因子有些相似。
纸质笔记
凸优化学习-(十八)对偶性Duality 拉格朗日函数与对偶函数相关推荐
- 凸优化学习笔记 11:对偶原理 拉格朗日函数
前面讲了凸优化问题的定义,以及一些常见的凸优化问题类型,这一章就要引入著名的拉格朗日函数和对偶问题了.通过对偶问题,我们可以将一些非凸问题转化为凸优化问题,还可以求出原问题的非平凡下界,这对复杂优化问 ...
- 凸优化学习-(二十九)有约束优化算法——增广拉格朗日法、交替方向乘子法(ADMM)
凸优化学习 我们前面说过,拉格朗日法在实际中应用不大.为什么呢?因为 α \alpha α的取值很难取,这就导致拉格朗日法鲁棒性很低,收敛很慢,解很不稳定.于是就有了今天的增广拉格朗日法和ADMM. ...
- 凸优化学习笔记 15:梯度方法
前面的章节基本上讲完了凸优化相关的理论部分,在对偶原理以及 KKT 条件那里我们已经体会到了理论之美!接下来我们就要进入求解算法的部分,这也是需要浓墨重彩的一部分,毕竟我们学习凸优化就是为了解决实际当 ...
- PyTorch框架学习十八——Layer Normalization、Instance Normalization、Group Normalization
PyTorch框架学习十八--Layer Normalization.Instance Normalization.Group Normalization 一.为什么要标准化? 二.BN.LN.IN. ...
- 凸优化学习(二)——凸集
注意,本文内容来自于吴恩达老师cs229课堂笔记的中文翻译项目:https://github.com/Kivy-CN/Stanford-CS-229-CN 中的凸优化部分的内容进行翻译学习. 2. 凸 ...
- 数学不好是原罪——凸优化学习笔记(个人学习记录汇总)
中科大凸优化课程学习笔记 中科大凌青老师的课(现中山大学教授):中科大-凸优化 形而上学,不行退学,共勉!博客为个人手写笔记整理存档,不喜勿看. 凸优化学习笔记(一) 持续更新--
- 凸优化学习:PART1凸集
凸优化学习PART1 一.引言:优化问题简介 优化问题的定义 凸优化是优化的一种,是优化中比较容易的问题.在讲解优化问题前,首先说明什么是优化/数学规划(Optimization/Mathematic ...
- 凸优化学习笔记:QP及SOCP问题
凸优化学习笔记:QP及SOCP问题 QP问题 定义 是什么 几何意义 QP.QCQP.LP之间的关系 例子 最小二乘及回归问题 多面体间距离 方差定界问题 基于随机费用的线性规划(考虑随机变量的优化问 ...
- C1认证学习十八、十九(表单元素、转义字符)
C1认证学习十八.十九(表单元素.语义化标签) 十八 任务背景 HTML的表单用于收集用户的输入,表单元素是指的不同类型的input元素,复选框,单选按钮,提交按钮等等. 任务目标 掌握表单标签以及其 ...
最新文章
- 【ReactiveX】基于Golang pmlpml/RxGo程序包的二次开发
- 批量导入数据到mssql数据库的
- 青蛙学Linux—NFS
- 题解 POJ 2559-SP1805 【HISTOGRA - Largest Rectangle in a Histogram】
- ubuntu安装jdk6
- 帆软报表跨域之插件开发中Controller中定义的方法实现JSONP跨域
- C++自学笔记(3)
- channel c3 disabled, job failed on it will be run on another channel
- maven项目中引用jave
- 泛微oa系统什么框架_泛微OA系统表结构说明文档
- 嵌入式C语言编程中经验教训总结(一) 详解const、static和volatile
- Windows右键菜单项管理讲解(RightMenuMgr)
- iphone测试内存读取速度软件,iPhone7内存不同读写速度有差? 实测差距惊人!
- 计算机c盘怎样重命名,怎么对C盘一子文件夹重命名
- 【upc】Water Testing 皮克定理+多边形面积公式
- 基于stm32f303cbt6的点灯实验(硬件+软件)
- dlink 备份文件_D-Link路由器备份路由器配置信息教程
- 论文翻译神器:SCITranslate 10.0,一键翻译整篇文献
- java计算机毕业设计图书馆管理系统源码+系统+mysql数据库+LW文档+部署文件
- APUE读书笔记-第十五章-进程间通信
热门文章
- origin绘制曲线局部放大图
- 图解Java设计模式-开闭原则
- 大象无形 | 尚硅谷MyCat2视频教程发布
- Bash和shell的关系
- Image Matting
- 手动打开数据库,新版phpstudy启动MySQL命令符图解过程
- 惠普286Pro G2 MT电脑怎么用win10pe安装系统
- 那时候年轻气盛,我不动你
- 云之幻哔哩哔哩uwp_[UWP]推荐一款很Fluent Design的bilibili UWP客户端 : 哔哩
- 牛津大学|“不变信息聚类” :Invariant Information Clustering