凸优化学习

对偶性是凸优化学习的核心,重中之重。

学习笔记

一、拉格朗日函数与对偶函数

对于一个普通优化问题:
min⁡f0(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​λi​fi​(x)+i=1∑p​vi​hi​(x)
其中λ,v\lambda,vλ,v被称为拉格朗日乘子,分别为与等式相关的拉格朗日乘子和与不等式相关的拉格朗日乘子。
由拉格朗日函数构造的对偶函数(dual function\text{dual function}dual function):
g(λ,v)=inf⁡x∈Dl(x,λ,v)g(\lambda,v)=\inf_{x\in D}l(x,\lambda,v) g(λ,v)=x∈Dinf​l(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​λi​fi​(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:二次规划

min⁡xTxs.t.Ax−b=0⇒l(x,v)=xTx+v(Ax−b)⇒g(v)=inf⁡xl(x,v)=inf⁡xxTx+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)=xinf​l(x,v)=xinf​xTx+vTAx−vTb​

例2:线性规划

min⁡cTxs.t.Ax−b=0x≥0⇒l(x,λ,v)=cTx−λTx+vT(Ax−b)=−bTv+(c+ATv−λ)Tx⇒g(v)=inf⁡xl(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=xinf​l(x,λ,v)={−bTv−∞​ATv−λ+c=0otherwise​​

例3:非凸约束的二次规划

min⁡xTWxs.t.xi={−1,1}i=1⋯m⇔min⁡xTWxs.t.xi2−1=0i=1⋯m⇒l(x,λ,v)=xTWx+∑i=1nvi(xi2−1)=xT(W+Diag(v))x−1Tv⇒g(v)=inf⁡xl(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∑n​vi​(xi2​−1)=xT(W+Diag(v))x−1Tv=xinf​l(x,λ,v)={−1Tv−∞​W+Diag(v)⪰0otherwise​​

四、对偶问题(Dual problem\text{Dual problem}Dual problem)

对于一个普通优化问题:
min⁡f0(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​λi​fi​(x)+i=1∑p​vi​hi​(x)
由拉格朗日函数构造的对偶函数(dual function\text{dual function}dual function):
g(λ,v)=inf⁡x∈Dl(x,λ,v)g(\lambda,v)=\inf_{x\in D}l(x,\lambda,v) g(λ,v)=x∈Dinf​l(x,λ,v)
其对偶问题为:
max⁡g(λ,v)s.t.λ≥0\begin{aligned} \max&& g(\lambda,v)&\\ \text{s.t.}&&\lambda\ \ge0&\\ \end{aligned}\\ maxs.t.​​g(λ,v)λ ≥0​​

例1:线性规划

min⁡cTx(P)s.t.Ax−b=0x≥0⇒l(x,λ,v)=cTx−λTx+vT(Ax−b)=−bTv+(c+ATv−λ)Tx⇒g(v)=inf⁡xl(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=xinf​l(x,λ,v)={−bTv−∞​ATv−λ+c=0otherwise​−bTxλ≥0ATv−λ+c=0​

个人思考

对偶性是整个凸优化学习的核心,这是我们第一次接触到能给出一个非凸优化问题的最优下界的方法,同时,凸优化问题的对偶也有着良好的性质,需要接下来深入学习。
这里面拉格朗日乘子和之前的多目标优化中的惩罚因子有些相似。

纸质笔记




凸优化学习-(十八)对偶性Duality 拉格朗日函数与对偶函数相关推荐

  1. 凸优化学习笔记 11:对偶原理 拉格朗日函数

    前面讲了凸优化问题的定义,以及一些常见的凸优化问题类型,这一章就要引入著名的拉格朗日函数和对偶问题了.通过对偶问题,我们可以将一些非凸问题转化为凸优化问题,还可以求出原问题的非平凡下界,这对复杂优化问 ...

  2. 凸优化学习-(二十九)有约束优化算法——增广拉格朗日法、交替方向乘子法(ADMM)

    凸优化学习 我们前面说过,拉格朗日法在实际中应用不大.为什么呢?因为 α \alpha α的取值很难取,这就导致拉格朗日法鲁棒性很低,收敛很慢,解很不稳定.于是就有了今天的增广拉格朗日法和ADMM. ...

  3. 凸优化学习笔记 15:梯度方法

    前面的章节基本上讲完了凸优化相关的理论部分,在对偶原理以及 KKT 条件那里我们已经体会到了理论之美!接下来我们就要进入求解算法的部分,这也是需要浓墨重彩的一部分,毕竟我们学习凸优化就是为了解决实际当 ...

  4. PyTorch框架学习十八——Layer Normalization、Instance Normalization、Group Normalization

    PyTorch框架学习十八--Layer Normalization.Instance Normalization.Group Normalization 一.为什么要标准化? 二.BN.LN.IN. ...

  5. 凸优化学习(二)——凸集

    注意,本文内容来自于吴恩达老师cs229课堂笔记的中文翻译项目:https://github.com/Kivy-CN/Stanford-CS-229-CN 中的凸优化部分的内容进行翻译学习. 2. 凸 ...

  6. 数学不好是原罪——凸优化学习笔记(个人学习记录汇总)

    中科大凸优化课程学习笔记 中科大凌青老师的课(现中山大学教授):中科大-凸优化 形而上学,不行退学,共勉!博客为个人手写笔记整理存档,不喜勿看. 凸优化学习笔记(一) 持续更新--

  7. 凸优化学习:PART1凸集

    凸优化学习PART1 一.引言:优化问题简介 优化问题的定义 凸优化是优化的一种,是优化中比较容易的问题.在讲解优化问题前,首先说明什么是优化/数学规划(Optimization/Mathematic ...

  8. 凸优化学习笔记:QP及SOCP问题

    凸优化学习笔记:QP及SOCP问题 QP问题 定义 是什么 几何意义 QP.QCQP.LP之间的关系 例子 最小二乘及回归问题 多面体间距离 方差定界问题 基于随机费用的线性规划(考虑随机变量的优化问 ...

  9. C1认证学习十八、十九(表单元素、转义字符)

    C1认证学习十八.十九(表单元素.语义化标签) 十八 任务背景 HTML的表单用于收集用户的输入,表单元素是指的不同类型的input元素,复选框,单选按钮,提交按钮等等. 任务目标 掌握表单标签以及其 ...

最新文章

  1. 【ReactiveX】基于Golang pmlpml/RxGo程序包的二次开发
  2. 批量导入数据到mssql数据库的
  3. 青蛙学Linux—NFS
  4. 题解 POJ 2559-SP1805 【HISTOGRA - Largest Rectangle in a Histogram】
  5. ubuntu安装jdk6
  6. 帆软报表跨域之插件开发中Controller中定义的方法实现JSONP跨域
  7. C++自学笔记(3)
  8. channel c3 disabled, job failed on it will be run on another channel
  9. maven项目中引用jave
  10. 泛微oa系统什么框架_泛微OA系统表结构说明文档
  11. 嵌入式C语言编程中经验教训总结(一) 详解const、static和volatile
  12. Windows右键菜单项管理讲解(RightMenuMgr)
  13. iphone测试内存读取速度软件,iPhone7内存不同读写速度有差? 实测差距惊人!
  14. 计算机c盘怎样重命名,怎么对C盘一子文件夹重命名
  15. 【upc】Water Testing 皮克定理+多边形面积公式
  16. 基于stm32f303cbt6的点灯实验(硬件+软件)
  17. dlink 备份文件_D-Link路由器备份路由器配置信息教程
  18. 论文翻译神器:SCITranslate 10.0,一键翻译整篇文献
  19. java计算机毕业设计图书馆管理系统源码+系统+mysql数据库+LW文档+部署文件
  20. APUE读书笔记-第十五章-进程间通信

热门文章

  1. origin绘制曲线局部放大图
  2. 图解Java设计模式-开闭原则
  3. 大象无形 | 尚硅谷MyCat2视频教程发布
  4. Bash和shell的关系
  5. Image Matting
  6. 手动打开数据库,新版phpstudy启动MySQL命令符图解过程
  7. 惠普286Pro G2 MT电脑怎么用win10pe安装系统
  8. 那时候年轻气盛,我不动你
  9. 云之幻哔哩哔哩uwp_[UWP]推荐一款很Fluent Design的bilibili UWP客户端 : 哔哩
  10. 牛津大学|“不变信息聚类” :Invariant Information Clustering