学习笔记,仅供参考,有错必纠
转载自:机器学习与运筹优化(六)对偶算法与ADMM算法


文章目录

  • 摘要
  • ADMM算法
  • 参考文献

摘要

上文我们介绍了约束优化问题和拉格朗日对偶思想。对偶算法就像是男生女生互相挑选,最终走到一起的过程,今天我们具体介绍几种常见的对偶算法,特别介绍在大数据时代大放异彩的ADMM算法。

回忆一下男生女生互相挑选的过程,哦不,回忆一下对偶算法的思想——构造拉格朗日函数,把约束优化问题转化为无约束优化问题求解。

ADMM算法

例如原问题是在线性约束下极小化函数f:

我们用之前介绍的梯度下降法求解这个无约束优化问题,对于原始变量求解极小化问题(如果f可微可以应用梯度下降),对于对偶变量应用梯度上升,这就是Uzawa算法,或者叫原始-对偶上升法,讲究的是“敌进我退”:

Uzawa算法的收敛性对函数f和步长均有要求,需要f是强凸的,并且梯度上升的步长不能太大,受到f的强凸性的限制。感兴趣的同学可以参考Nitfy Theorem,原函数的强凸性对应对偶函数的连续性。

我们希望增强f的凸性,一个自然的想法是给f加上一个凸二次函数,于是我们准备构造一个增广拉格朗日函数(Augmented Lagrangian):

对于这个新的拉格朗日函数, Uzawa算法可以改进为ALM算法(Augmented Lagrangian Method of Multipliers):

可以证明,由于增广拉格朗日的强凸性和步长的联系,ALM算法对于任意步长都是收敛的。

ALM算法的问题是,如果f不可微,每一步求解都需要解一个极小化的子问题,计算代价可能较大。而在机器学习的很多问题中,f具有特殊的结构,一般可以分解为两个或多个函数,单个函数是利于求解的,比如统计和图像处理中非常有名的LASSO问题:

其中第一步需要求解整个f+g的增广拉格朗日函数的极小值,而f和g单独的增广拉格朗日函数的极小值更易于求解,于是我们采用“分而治之”的思想,于是得到了交替方向乘子法,ADMM算法(Alternating Direction Method of Multipliers):

ADMM算法广泛应用于统计学习和机器学习的各个领域,包括LASSO和约束线性回归模型;支持向量机;压缩感知;稀疏优化;分布式计算;其他大型分布式机器学习问题等等。

原始-对偶上升法体现了兵法中的“敌进我退”思想,而ADMM算法则体现了兵法中的“分而治之”思想。研究者在提出和改进新算法时,idea往往都很简单易懂,但背后体现了研究者的深刻的洞察力,需要对问题结构和算法思想的足够的理解,加上一点点灵感的火花。也许下一次,读者也能应用“三十六计”,提出更有效的机器学习优化算法。

参考文献

[1] Boyd Stephen, Parikh Neal,Chu Eric,Peleato Borja. Distributed Optimization and Statistical Learning via the Alternating Direction Method of Multipliers, 2010.

[2]Boyd, Stephen, and Lieven Vandenberghe. Convex optimization. Cambridge university press, 2004.

[3]袁亚湘, 孙文瑜. “最优化理论与方法.” 科学出版社, 1997 年 1 月 (1997).

对偶算法与ADMM算法相关推荐

  1. ADMM算法及其放缩形式,在压缩快照成像重建的图像重建论文中的公式推导

    刚接触图像恢复问题,简单记录一下最近看论文刚弄懂的一个小问题 ADMM算法 ADMM(交替方向乘子法)是一种解决变量可分离凸优化问题的简单算法,具有求解速度快,收敛性能好的特点.ADMM可以将原问题转 ...

  2. 一文详解从拉格朗日乘子法、KKT条件、对偶上升法到罚函数与增广Lagrangian乘子法再到ADMM算法(交替方向乘子法)

    最近看了ADMM算法,发现这个算法需要用到许多不少前备知识,在搜索补齐这些知识的过程中感觉网上的资料与总结在零散的同时又不够清晰,在此本文对这一块的内容进行汇总,同时表达自己的一些理解. 目录 拉格朗 ...

  3. 开源代码分享(10)—基于ADMM算法的电动汽车群体充电优化(附matlab代码)

    1.引言 电动汽车是汽车行业中快速增长的市场.此外,广泛使用可再生能源来驱动电动汽车使其具备可持续性,并且温室气体排放极低.因此,服务提供商正在转向使用电动车队推广环境可持续性.然而,与传统车辆不同, ...

  4. admm算法_「优化」交替方向乘子法(ADMM)的基本原理

    编者按:本文介绍ADMM最基本情形的推导.通过这篇文章,你将了解ADMM算法的基本思路,收敛性分析的基本原理,和它理论上的一些局限性. 文章作者:覃含章 责任编辑:覃含章 本文的内容主要来自著名的讲义 ...

  5. 总结一些最优化算法(ADMM/FISTA)代码网站

    优化算法: ADMM: https://blog.csdn.net/angel_yj/article/details/40587543 https://blog.csdn.net/jbb0523/ar ...

  6. 凸优化05 详解ADMM算法

    目录 原始ADMM算法迭代形式 Scaled Form(不知道该怎么翻译成中文) x-update(同样适用于z-update) 参考 原始ADMM算法迭代形式 假设有如下优化问题 minf(x)+g ...

  7. 基于串行并行ADMM算法的主从配电网分布式优化控制研究

    基于串行并行ADMM算法的主从配电网分布式优化控制研究 关键词:ADMM 串行并行算法 主动配电网 无功优化 分布式优化 参考文档:非复现,仅参考部分模型: 1)<主动配电网分布式无功优化控制方 ...

  8. Matlab代码:ADMM算法在考虑碳排放交易的电力系统最优潮流中的应用

    Matlab代码:ADMM算法在考虑碳排放交易的电力系统最优潮流中的应用 关键词:交替方向乘子法, ADMM , 最优潮流 ,碳排放, 分布式优化 仿真软件:Matlab软件调用cplex求解器进行求 ...

  9. MATLAB代码:全面ADMM算法代码,实现了三种ADMM迭代方式

    MATLAB代码:全面ADMM算法代码,实现了三种ADMM迭代方式 关键词:综合能源 分布式协同优化 交替方向乘子法 最优潮流 参考文档:<基于串行和并行ADMM算法的电_气能量流分布式协同优化 ...

最新文章

  1. order by 索引
  2. springboot整合ElasticSearch出现的问题
  3. 大端和小端的区别,以及如何判断一台机器是大端还是小端?
  4. 马尔可夫链蒙特卡罗法(Markov Chain Monte Carlo,MCMC)
  5. anguarjs 上传图片预览_JS控制上传图片个数,预览上传图片
  6. python变量和对象的关系_Python变量与对象引用的区别
  7. treemap底层结构_HashMap面试必问的数据结构相关知识总结
  8. linux设备/驱动的注册
  9. 如何用EasyRecovery找回回收站信息(附注册机下载地址)
  10. java 编写a-z输出,有1-26个数字和a-z字母,用Java多线程实现先输出2和数字再输出2个字...
  11. 旭荣管理软件怎么修改小票内容_美萍超市管理软件——让管理回归轻松
  12. VMware Workstation v14.1.3 精简特别版本
  13. 美国NIST《可解释的人工智能的四个原则》(全文翻译)
  14. 手机外接usb摄像头软件下载_手机打碟app下载安装_手机打碟软件最新版免费下载...
  15. 【故障诊断】基于 KPCA 进行降维、故障检测和故障诊断研究(Matlab代码实现)
  16. 【Matlab】彻底清除persistent变量
  17. 毛永胜计算机教师,中等职业学校网络计算机技术与应用
  18. php必应收录查询api,必应 Web 搜索 API v7.0
  19. 转专业计算机的面试自我介绍,转专业面试自我介绍
  20. cc2430/cc2530驱动安装不正确

热门文章

  1. 三星note4 N9100刷回4.4.4系统后无法usb连接电脑
  2. UEFI下面安装win7+Xubuntu18.10双系统
  3. Unable to load native-hadoop library for your platform
  4. redhat mysql编译安装_RHEL6.2编译安装MySQL 5.6.16过程分享
  5. new HashMap<String, Object>();
  6. Oracle数据库的导入和导出的两种方式
  7. Android学习资源网站
  8. 微信小程序设置启动图时出现滚动条
  9. 阿里云服务器win2003系统配置IIS+php+mysql+phpmyadmin+zend 500
  10. c#类和结构体的关系