数值优化(Numerical Optimization)学习系列-惩罚和增广拉格朗日方法(Augmented Lagrangian Methods)
原文地址为: 数值优化(Numerical Optimization)学习系列-惩罚和增广拉格朗日方法(Augmented Lagrangian Methods)
概述
求解带约束的最优化问题,一类很重要的方法就是将约束添加到目标函数中,从而转换为一系列子问题进行求解,最终逼近最优解。关键问题是如何将约束进行转换。本节主要介绍
1. 二次惩罚方法
2. 非平滑惩罚方法
3. 增广拉格朗日方法
二次惩罚方法
动机
带约束问题如果转换为目标函数加上一个对约束的惩罚项,则问题转换为一个无约束问题。
转换后的问题可以通过惩罚项的系数进行控制,一个比较常见的惩罚函数就是二次惩罚。
等式约束的最优化问题
等式约束问题可以表示为
添加一个二次惩罚项,则有
其中 μ 是惩罚参数,直观上只要增加惩罚参数的值就可以逼近原始问题的最优解。
在实际中,对于某个惩罚参数 μ 只要几步无约束最优化问题,不需要寻找最优解。
一般化约束最优化问题
一般化约束最优化问题表示为
添加惩罚项系数结果为
其中 ci(x)− 表示当该值大于0时,结果为0,否则为 −ci(x)
二次惩罚项通用框架
1.参数 μ 的选择可以根据无约束问题的优化难度进行确定,如果很容易优化则可以 μk+1=μk ,否则可以选择 μk+1=μk
2. 定理:如果转换后的问题 Q(x;μk) 每一步都计算最优解,并且当 μk→∞ 时能够接近原始问题的最优解。
非平滑惩罚函数
有些惩罚函数是精确的,即惩罚项参数 μ 达到一定值时转换后的问题的最优解就是原始问题的最优解,其中l1惩罚项就是精确的,表示如下
通用求解框架
增广拉格朗日方法
动机
增广拉格朗日方法在拉格朗日方法的基础上添加了二次惩罚项,从而使得转换后的问题能够更容易求解,不至于因条件数变大不好求。则转换后的问题为
在第K步迭代过程中,固定惩罚项参数 μ 和 λk ,此时优化x,根据最优化条件有
对比最优性条件,应该有 ∇f(x∗)=0;λ∗=λki−μkci(x) ,从而很自然的可以将 λk+1=λki−μkci(x)
等式约束通用框架
实际应用
在实际中,增广拉格朗日方法可以很有效的处理边界约束和线性约束最优化问题。
总结
了解通过将约束转换为惩罚项添加到目标函数上的方法,了解增广拉格朗日方法的动机。
转载请注明本文地址: 数值优化(Numerical Optimization)学习系列-惩罚和增广拉格朗日方法(Augmented Lagrangian Methods)
数值优化(Numerical Optimization)学习系列-惩罚和增广拉格朗日方法(Augmented Lagrangian Methods)相关推荐
- 求解稀疏优化问题——增广拉格朗日方法+半光滑牛顿法
↑↑↑↑↑点击上方蓝色字关注我们! 『视学算法』转载 作者:邓康康 邓康康,福州大学应用数学系在读博士生,研究方向:运筹优化算法设计与应用.流形优化. 编者按 本文介绍了一种二阶方法去求解稀疏优化问题 ...
- 凸优化学习-(二十九)有约束优化算法——增广拉格朗日法、交替方向乘子法(ADMM)
凸优化学习 我们前面说过,拉格朗日法在实际中应用不大.为什么呢?因为 α \alpha α的取值很难取,这就导致拉格朗日法鲁棒性很低,收敛很慢,解很不稳定.于是就有了今天的增广拉格朗日法和ADMM. ...
- 【Numerical Optimization】17 Penalty and Augmented Lagrangian Methods
2019.02.25 [ 罚方法:两个重要定理.的取值问题以及在ALM中的改善 罚方法中的坏条件] 求解思想是将约束函数罚到原函数上形成新的无约束优化问题: 二次惩罚+非平滑惩罚+增广拉格朗日 1.二 ...
- 嵌入式AI —— 6. 为糖葫芦加糖,浅谈深度学习中的数据增广
没有读过本系列前几期文章的朋友,需要先回顾下已发表的文章: 开篇大吉 集成AI模块到系统中 模型的部署 CMSIS-NN介绍 从穿糖葫芦到织深度神经网络 又和大家见面了,上次本程序猿介绍了CMSIS- ...
- 强化学习系列(五):蒙特卡罗方法(Monte Carlo)
一.前言 在强化学习系列(四):动态规划中,我们介绍了采用DP (动态规划)方法求解environment model 已知的MDP(马尔科夫决策过程),那么当environment model信息不 ...
- 深度学习中的数据增广
问题一:为什么需要大量的数据 当训练机器学习模型的时候,实际上实在调整它的参数,使得可以跟一个特定的输入符合.优化的目标是 chase that sweet spot where our model' ...
- 《动手学深度学习》(六) -- 图像增广与微调
1 图像增广 图像增广在对训练图像进行一系列的随机变化之后,生成相似但不同的训练样本,从而扩大了训练集的规模.此外,应用图像增广的原因是,随机改变训练样本可以减少模型对某些属性的依赖,从而提高模型的泛 ...
- [pytorch、学习] - 9.1 图像增广
参考 9.1 图像增广 在5.6节(深度卷积神经网络)里我们提过,大规模数据集是成功应用神经网络的前提.图像增广(image augmentation)技术通过对训练图像做一系列随机改变,来产生相似但 ...
- 经典数值优化算法--专题学习
通用的损失函数最优化的数值方法,来源于泰勒展开式,多元函数的泰勒展开式为: 一.一阶逼近与一阶方法 一阶泰勒展开式: 其中,是代表了β变化的可能性,t在之后说到的梯度下降方法中演变成了学习速率. 现在 ...
最新文章
- centos7 下搭建git服务器
- mysql 集群实践_MySQL Cluster集群探索与实践
- ***JAVA多线程和并发基础面试问答
- golang 数组和切片
- linux服务 ssh
- 数据结构与算法 / 回溯算法(八皇后、0 - 1 背包)
- 前端学习(一) html介绍和head标签
- 使用git时报错出现vim.exe.stackdump
- url带多个参数_动态URL和静态URL做seo优化不必二选一
- Android 第四章 ListView 的使用
- MyCat分布式数据库集群架构工作笔记0002---数据库中间件对比
- 迷途的羔羊?-SBO市场发展之我见
- SVD 详解 与 spark实战
- 3.3 CMMI3级——技术解决方案(Technical Solution)
- 三菱PLC软件有LINUX版本吗,三菱PLC编程软件(GX Developer)
- URLDecoder用法
- MySQL性能优化[实践篇]-复合索引实例
- 2021年中式面点师(中级)最新解析及中式面点师(中级)模拟考试题库
- html a 冒泡点击,子元素点击不能冒泡到父元素
- SEBank银行项目第一个星期的进度安排