找回密码
 立即注册
查看: 847|回复: 13

【优化】交替方向乘子法(ADMM)的基本原理

[复制链接]
发表于 2021-11-23 11:21 | 显示全部楼层 |阅读模式
编者按:本文介绍ADMM最基本情形的推导。通过这篇文章,你将了解ADMM算法的基本思路,收敛性分析的基本原理,和它理论上的一些局限性。
文章作者: @覃含章
责任编辑: @覃含章
文章发表于微信公众号【运筹OR帷幄】:【优化】交替方向乘子法(ADMM)的基本原理
欢迎原链接转发,转载请私信 @留德华叫兽 获取信息,盗版必究。
敬请关注和扩散本专栏及同名公众号,会邀请全球知名学者发布运筹学、人工智能中优化理论等相关干货、知乎Live及行业动态:『运筹OR帷幄』大数据人工智能时代的运筹学

本文的内容主要来自著名的讲义:Boyd S, Parikh N, Chu E, et al. Distributed optimization and statistical learning via the alternating direction method of multipliers[J]. Foundations and Trends in Machine learning, 2011, 3(1): 1-122.
正文开始前多说几句。Stephen Boyd作为一名优化科学家,除了自己的很多研究,这辈子最杰出的贡献就是广泛地将优化理论严谨地介绍给了工程界。其中,ADMM就是一个很重要的例子。这个方法其实理论优化界早就研究了几十年(何炳生老师语),但是也只是到了最近几年,如Boyd包括Stanford的Yinyu Ye老师等人,才对这方面的研究进行了“再挖掘”,引起了大家的广泛注意。

1. ADMM算法的基本形式






2. ADMM的收敛性证明思路










3. 三个不等式的证明(第一次阅读可跳过)








所以我们看到其实掌握了证明的主要思路,具体证明其实没什么技术难度,顶多就是algebra稍微有点绕。这也是ADMM算法分析的一般特点,我们这还是最基本的情况,复杂情况的分析就是绕得多了(主要是因为迭代的时候各种“交替”)...


4. 写在最后

注意我这边只给出了关于ADMM算法收敛到最优可行解(原变量还不一定最优)和最优目标函数值的证明。这里我完全没有讨论收敛速率的问题。收敛速率,在很多其它优化算法里面都是比较容易分析的,像一阶二阶算法,内点法等等。但在ADMM的分析里面,收敛速率分析确实是这块领域的一大难点。事实上,实际当中你如果写代码跑ADMM会发现它不像那些梯度下降,牛顿法,很容易快速收敛到一个较高的误差精度,ADMM实际的收敛速度往往比那些算法慢得多。。ADMM的主要应用,主要是在解空间规模非常大的情况下(比如A,B都是存储空间上GB的矩阵),这个时候很多传统的方法不好用,强制需要分块求解,而且对解的绝对精度往往要求也没那么高。当然,然后你还得祈祷在primal space上argmin那个迭代的形式比较简单。。



可以在 本公众号后台 回复关键词:回复”ADMM“获得本文参考文献的pdf版本,如果觉得有用, 请勿吝啬你的留言和赞哦!~
欢迎投稿:
投稿邮箱:operations_r@163.com
所有文章配图,请单独在附件中发送
请留下即时联系方式(微信或手机),以便我们在编辑发布时和作者沟通

文章由作者『运筹OR帷幄』原创发布,如需转载请在公众号后台获取转载须知
<hr/>扫二维码关注『运筹OR帷幄』公众号:


点击查看『运筹OR帷幄』志愿者招募介绍及加入方式:

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
发表于 2021-11-23 11:29 | 显示全部楼层
最近在处理一个非凸的工程优化问题,用到了admm,觉得前期惩罚因子小一些,后期大一些,更容易找到比较好的解。相反的话,觉得会很难收敛。
发表于 2021-11-23 11:37 | 显示全部楼层
一个note:在下列文章中,作者指出了其实这里给出的Boyd等人的分析实际上还隐含了一些更强的condition才能成立。。。
A note on the convergence of ADMM for linearly constrained convex optimization problems, Computational Optimization and Applications, March 2017, Volume 66, Issue 2, pp 327–343
发表于 2021-11-23 11:44 | 显示全部楼层
您好,我想请问一下,迭代计算的时候,拉格朗日乘子和admm步长应该初始化为多少?
发表于 2021-11-23 11:53 | 显示全部楼层
调参是门手艺。。 @覃含章
发表于 2021-11-23 12:01 | 显示全部楼层
太对了
发表于 2021-11-23 12:04 | 显示全部楼层
终止条件那里看的不是很懂,是什么?
发表于 2021-11-23 12:10 | 显示全部楼层
欢迎加群 @运筹OR帷幄 交流~
发表于 2021-11-23 12:20 | 显示全部楼层
你好,最后那里惩罚因子应该不是递减的吧,是递增的吧
发表于 2021-11-23 12:25 | 显示全部楼层
@覃含章
懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Unity开发者联盟 ( 粤ICP备20003399号 )

GMT+8, 2024-9-23 03:21 , Processed in 0.125273 second(s), 23 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表