当前位置: 首页 > news >正文

NJU 凸优化导论(9) 对偶(II)KKT条件+变形重构

https://www.lamda.nju.edu.cn/chengq/optfall24/slides/Lecture_9.pdf

目录

关于对偶的一些解释

1. Max-min characterization 最大最小准则

2. Saddle-point Interpretation 鞍点解释

3. Game interpretation 博弈论里的对偶

Optimality Conditions 最优条件

1. Certificate of Suboptimality and Stopping Criteria 次优性证明与停止准则

2. Complementary Slackness 互补松弛性

3. KKT Optimality Conditions

Ex.1

Ex.2

4. Solving the Primal Problem via the Dual 通过对偶解原问题

例1. Entropy Maximization 最大熵问题

例2. 等式约束与函数分配

5. Examples

5.1 引入新变量及相关等式约束

5.1.1 Unconstrained geometric program

5.1.2  Norm approximation problem

5.1.3不等式约束的几何规划

5.2 原目标函数的转换

5.3显式约束隐式化 纳入目标函数的定义域

6. Generalized inequalities 广义不等式

Ex.1

Ex.2


关于对偶的一些解释

1. Max-min characterization 最大最小准则

如果有f>0 选取无穷大λ 上界就达到无穷; 如果所有 f≤0 取λ=0 结果即为f0

原问题  对偶问题

代入这两个 p*为上界的下界 以及 d*为下界的上界 可重写强弱对偶

2. Saddle-point Interpretation 鞍点解释

3. Game interpretation 博弈论里的对偶

玩家1选择w  玩家2 选择z  玩家1向玩家2支付 因此1想最小化   2想最大化

若玩家1先选 会预判到 玩家2会选择他选后的最优 即为上界

所以玩家1会选 交易为

若玩家2先手 则交易为

这个问题中 同一玩家 先动时一定比后动时收益更高,最优对偶的间隙gap即为先动优势。

但如果鞍点存在,先后动的最优一致,均为鞍点处。

回到之前的拉格朗日问题 即为玩家1选x 玩家2选λ,最优的x*对应p* 最优的λ*对应d*。

Optimality Conditions 最优条件

1. Certificate of Suboptimality and Stopping Criteria 次优性证明与停止准则

如果能找到一个原问题的可行解f0(x) 对偶问题的可行解g(λ,v)   可框定范围 g(λ,v) ≤ d *≤ p* ≤ f0(x)

可在迭代k次后 计算一下对偶间距 绝对误差 相对误差,帮助确定迭代的终止条件

2. Complementary Slackness 互补松弛性

强对偶成立时 原问题对偶问题最优值相等 下面两个≤ 都得取等

需要 由于每一项≤0  也就需要每个都=0 

也就有互补松弛性 其中一个>0 则有另一个=0

     

3. KKT Optimality Conditions

KKT条件是 非凸优化的必要条件(可推出)    特别地,是凸优化的充要条件

对于对偶间距为0的强对偶问题 若最优点为 

 偏导数为0

可行条件     对偶条件

总偏导数为0

为什么对于凸优化充分:

对于凸优化而言,f是凸函数 h是仿射函数 偏导为0就可推出 L是全局最小值

对于一般优化 KKT(偏导为0)是MIN 的必要条件 ; 凸优化 KKT <=> MIN

Ex.1

是凸优化 因为没有不等式约束 KKT只有等式约束和偏导=0 两个条件

Ex.2

列出KKT条件 三个原先 一个对偶 一个总偏导

  用其他量表示λ 消去λ

     

因为x*求和为1 就像把1体积的水倒入 底部高度为αi的容器 水位在1/v*

如果不用凸优化 偏导为 越小降低空间越大

每次调高偏导最小的x 最后结果即确定一个阈值(水位)阈值以下的加到阈值

4. Solving the Primal Problem via the Dual 通过对偶解原问题

若对偶最优解(λ*,v*)存在,对应到 min L(x,λ*,v*)       λ v先确定的前提下 x对应使L最小的取值

原问题可行,则对偶问题有最优解; 原问题无可行解,则对偶问题无界

四步:1.写出对偶问题  2.slater条件 是否强对偶  3.求解对偶问题  4.KKT 对偶问题对应原问题

例1. Entropy Maximization 最大熵问题

 NJU 凸优化导论(8) Lagrange Dual 拉格朗日对偶-CSDN博客

之前在共轭函数 slater条件那里 两次提过这个例子(附近的知识点遗忘可以点上面链接复习一下)

满足弱版本的slater条件 不等式为仿射函数

求解对偶问题:对偶问题对v求导 再代入对偶问题

 

求解λ和v之后带入得x   

例2. 等式约束与函数分配

求解对偶函数得到v*

若f都是凸函数 则L也是凸函数 则目标x要最小化L  L对x求偏导 得x*与v*的关系

5. 变形重构原问题 转换对偶

通过示例说明,对一个问题进行简单的等价重构,可能会得到截然不同的对偶问题

5.1 引入新变量及相关等式约束

  没约束 写拉格朗日还是本身

由原来的无约束 添加变量写成有等式约束

    拉格朗日形式为

 否则下界就负无穷

所以总的对偶问题可以写成 

5.1.1 Unconstrained geometric program

 原问题添加变量写成

对共轭形式求偏导 且要满足条件  

用v消去y得到共轭函数   把共轭函数和条件对应定义域  得到对偶问题

5.1.2  Norm approximation problem

 把仿射拿出来 改写成

 代入范数的共轭得

仿射套函数 可改写为 否则x就可以使L到无穷小   每个f都写成共轭

故可以写作

5.1.3不等式约束的几何规划

我们   就变成 可代入上模版

利用这个 指数求和对数 exp-sum-log 的共轭

5.2 原目标函数的转换

把原问题的f0 用一个递增函数替换 使得结果不变 但使得对偶问题更好

一个方式的范数变换 是之前上面的 5.1.2 Norm approximation problem  但我们还可以

 把二范数平方/2 使得更好求导

 对y偏导得 

最后的对偶问题为

5.3显式约束隐式化 纳入目标函数的定义域

 

如果改写 把盒形约束放到 f0 中

       

v前的系数为 Av+c 因为要最小化 对于每个x 如果系数为正就取l 为负就取u

好处是 这个对偶最后是一个无约束问题

6. Generalized inequalities 广义不等式

      

广义的Slater条件 换成广义小于

Ex.1

Ex.2

Slater条件 

     消掉λ 再代入

同样具有互补松弛性

同样的 Slater条件、KKT条件、互补松弛性 只是把不等式改成广义不等式

http://www.dtcms.com/a/287675.html

相关文章:

  • 从Prompt到结构建模:如何以数据驱动重构日本语言学校体系?以国际日本语学院为例
  • Java行为型模式---访问者模式
  • 自动驾驶仿真领域常见开源工具
  • Linux 内存管理(2):了解内存回收机制
  • Linux 技术概述与学习指南
  • 微信小程序——世界天气小助手
  • AWS Partner: Sales Accreditation (Business)
  • [MySQL基础3] 数据控制语言DCL和MySQL中的常用函数
  • LVS(Linux virtual server)-实现四层负载均衡
  • MyBatis动态SQL实战:告别硬编码,拥抱智能SQL生成
  • Python高级数据类型:集合(Set)
  • 【深度学习笔记 Ⅱ】5 梯度消失和梯度爆炸
  • 猎板:在 5G 与 AI 时代,印制线路板如何满足高性能需求
  • GeoPandas 城市规划:Python 空间数据初学者指南
  • gitee 分支切换
  • 【kafka4源码学习系列】kafka4总体架构介绍
  • Gerrit workflow
  • 3-大语言模型—理论基础:生成式预训练语言模型GPT(代码“活起来”)
  • 2、Redis持久化详解
  • 【iOS】编译和链接、动静态库及dyld的简单学习
  • 历史数据分析——国药现代
  • ABP VNext + Kubernetes Istio:微服务网格实战指南
  • 基于Socket来构建无界数据流并通过Flink框架进行处理
  • 读书笔记:最好使用C++转型操作符
  • 【C++】初识C++(2)
  • c#泛型集合(ArrayList和List、Dictionary的对比)
  • 记录我coding印象比较深刻的BUG
  • 支付宝支付
  • fastjson2 下划线字段转驼峰对象
  • 链路聚合技术(思科链路聚合实验)