ADMM 引言

本系列是Distributed Optimization and Statistical Learning via the Alternating Direction Method of Multipliers的阅读与个人整理。

摘要

在凸优化的框架内,可以提出许多最近在统计和机器学习方面感兴趣的问题。由于现代数据集的规模和复杂性的爆炸式增长,能够使用大量特征或训练示例来解决问题变得越来越重要。因此,这些数据集的分散收集或存储以及相应的分布式解决方案方法要么是必要的,要么至少是非常需要的。在这篇综述中,我们认为交替方向乘子方法非常适合于分布式凸优化,特别是在统计、机器学习等相关领域中出现的大规模问题。该方法发展于20世纪70年代,起源于20世纪50年代,与许多其他算法等价或密切相关,如对偶分解法、乘子法、道格拉斯-拉赫福特分裂法、斯宾加恩偏逆法、戴克斯特拉交替投影法、布雷格曼L1问题迭代算法、近距离法、还有其他。在简要地考察了算法的理论和历史之后,我们讨论了各种各样的统计和机器学习问题的应用,包括拉索,稀疏逻辑回归,基追踪,协方差选择,支持向量机,和许多其他的。我们还讨论了一般的分布式优化,对非凸设置的扩展,以及高效的实现,包括一些关于分布式MPI和Hadoop MapReduce实现的细节。

1 引言

在所有的应用领域,通过数据分析来解决问题已经是司空见惯的事了,特别是在大型数据集上使用统计和机器学习算法。在行业中,这种趋势被称为“大数据”,它在人工智能、互联网应用、计算生物学、医学、金融、市场营销、新闻、网络分析和物流等领域产生了重大影响。

尽管这些问题出现在不同的应用程序领域,但它们具有一些共同的关键特征。首先,数据集通常非常大,由数亿或数十亿个训练示例组成;第二,数据通常是高维的,因为现在可以测量和存储关于每个例子的非常详细的信息;第三,由于许多应用程序的规模很大,数据通常以分布式的方式存储甚至收集。因此,开发足够丰富的算法以捕捉现代数据的复杂性,并具有足够的可伸缩性,以并行或完全去中心化的方式处理巨大的数据集,已经成为至关重要的问题。事实上,一些研究人员[92]提出,即使是高度复杂和结构化的问题,也可能最容易屈服于在大量数据集上训练的相对简单的模型。

许多这样的问题可以在凸优化的框架中提出。考虑到在优化社区中关于分解方法和分散算法的大量工作,将并行优化算法视为解决大规模统计任务的一种机制是很自然的。这种方法的好处是,一个算法可以足够灵活地解决许多问题。

本文讨论了乘数交替方向法(ADMM),这是一种简单但功能强大的算法,非常适合分布式凸优化,特别是应用统计和机器学习中出现的问题。它采用了分解-协调过程的形式,通过协调局部小问题的解来寻找全局大问题的解。ADMM可以被看作是一种尝试,它融合了对偶分解和增广拉格朗日方法在约束优化中的优势,这是我们在§2中回顾的两种较早的方法。它也与许多其他算法等价或密切相关,如从数值分析中分离出来的Douglas-Rachford法、Spingarn的偏逆法、Dykstra的交替投影法、信号处理L1问题的Bregman迭代算法、近距离法等。几十年来,它在不同领域被重新发明,这一事实突显了这种方法的直觉吸引力。

值得强调的是,算法本身并不是新的,我们也没有提出任何新的理论结果。 Gabay、Mercier、Glowinski和Marrocco在20世纪70年代中期首次提出了这一概念,尽管类似的想法早在20世纪50年代中期就出现了。 整个20世纪80年代都在研究该算法,到90年代中期,这里提到的几乎所有理论结果都已经建立。 事实上,ADMM是在大规模分布式计算系统和大规模优化问题的现成可用性之前开发的,这可能解释了为什么它今天没有像我们认为的那样广为人知。

本综述的主要贡献可归纳如下:

  1. 我们以一种强调和统一应用中首要重要性方面的方式,对广泛的文献提供了一个简单的、有凝聚力的讨论。
  2. 通过大量的算例表明,该算法适用于各种大规模分布式现代问题。 我们导出了通过训练实例和特征来分解一类广泛的统计问题的方法,这在一般情况下是不容易实现的。
  3. 我们比以往大多数参考文献更强调实际的大规模实施。 特别是,我们讨论了使用标准框架在云计算环境中实现算法,并提供了许多示例的易读实现。

贯穿始终,重点是应用而不是理论,一个主要目标是为读者提供一种‘工具箱',可以在许多情况下应用,以派生和实现一个实际使用的分布式算法。 虽然这里的重点是并行性,但该算法也可以串行使用,有趣的是,无需调优,ADMM就可以在某些问题上与最著名的方法竞争。

虽然我们强调了可以简明解释的应用,但该算法也自然适合于图形模型等领域中更复杂的问题。 此外,虽然我们的重点是统计学习问题,但该算法在许多其他情况下都很容易适用,如工程设计、多周期投资组合优化、时间序列分析、网络流或调度等。

大纲

我们从§2开始简要回顾对偶分解和乘子法,这是ADMM的两个重要先驱。 本节主要用于背景知识,可以略读。 在§3中,我们给出了ADMM,包括一个基本收敛定理,一些在实际中有用的基本形式的变化,以及一些关键文献的综述。 附录A给出了完全收敛性证明。

在§4中,我们描述了在算法应用中出现的一些一般模式,例如ADMM中的一个步骤可以特别有效地执行的情况。 这些一般模式将在我们的示例中重复出现。 在§5中,我们考虑了ADMM在一些一般凸优化问题中的应用,如约束极小化问题、线性和二次规划问题。 在§6中,我们讨论了许多涉及1范数的问题。 事实证明,ADMM为这些问题提供了方法,这些问题与许多现有算法有关。 本节还阐明了为什么ADMM特别适合于机器学习问题。

在§7中,我们提出了共识和共享问题,为分布式优化提供了通用框架。 在§8中,我们考虑了一般模型拟合问题的分布式方法,包括正则回归模型(如Lasso)和分类模型(如支持向量机)。

在§9中,我们考虑了ADMM作为求解某些非凸问题的启发式的使用。 在§10中,我们讨论了一些实际的实现细节,包括如何在适合云计算应用的框架中实现算法。 最后,在§11中,我们给出了一些数值实验的细节。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值