前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >从基础知识到实际应用,一文了解「机器学习非凸优化技术」

从基础知识到实际应用,一文了解「机器学习非凸优化技术」

作者头像
机器之心
发布于 2018-05-11 04:02:45
发布于 2018-05-11 04:02:45
1.6K0
举报
文章被收录于专栏:机器之心机器之心

选自arXiv

机器之心编译

优化技术在科技领域应用广泛,小到航班表,大到医疗、物理、人工智能的发展,皆可看到其身影,机器学习当然也不例外,且在实践中经历了一个从凸优化到非凸优化的转变,这是因为后者能更好地捕捉问题结构。本文梳理了这种转变的过程和历史,以及从机器学习和信号处理应用中习得的经验。本文将带领读者简要了解几种广泛使用的非凸优化技术及应用,介绍该领域的丰富文献,使读者了解分析非凸问题的简单步骤所需的基础知识。更多详细内容请查看原论文。

优化作为一种研究领域在科技中有很多应用。随着数字计算机的发展和算力的大幅增长,优化对生活的影响也越来越大。今天,小到航班表大到医疗、物理、人工智能的发展,都依赖优化技术的进步。

在这段兴奋期的大部分时间,由于我们对凸集合和凸函数的深入了解,我们主要聚焦于凸优化问题。但是,信号处理、生物信息学和机器学习等领域的现代应用通常不满足于仅使用凸函数,因为非凸公式能够更好地捕捉问题结构。

近期出现了一些论文开始探讨非凸优化,不过第一批论文仍然坚持使用凸优化,致力于证明特定类别的非凸问题(具备与这些问题的自然实例类似的合适结构)可以在没有损失的前提下转换成凸问题。更准确地说,原始的非凸问题和修改后的凸问题具备共同的最优解,因此凸问题的解也可以自动解决非凸问题!但是,这种方法需要耗费大量时间解决所谓的松弛凸问题(relaxed convex problem)。

第二批论文研究在避免松弛凸优化的情况下可证明的非凸优化技术,并用于解决原本形式的非凸问题,似乎取得了与凸松弛方法同等质量的结果。伴随这些较新结果的是新的实现:对于稀疏恢复(sparse recovery)、矩阵补全(matrix completion)、稳健式学习(robust learning)等大量应用,这些直接技术能更快地收敛到最优解,速度通常比基于松弛凸优化的技术提高一个数量级甚至更多,而准确率与后者差不多。

本文旨在讲述这一实现的历史,以及从机器学习和信号处理应用的角度中学得的经验。本文将介绍非凸优化问题和可获取对此类问题极具扩展性解决方案的大量结构。本文将认真分析和利用额外的任务结构,证明之前避免的 NP-hard 问题现在具备在近线性时间内运行的求解器。本文将告知读者如何在不同的应用领域查找此类结构,使读者深入了解分析此类问题和提出更新解决方案的基础工具和概念。

论文: Non-convex Optimization for Machine Learning

论文地址:https://arxiv.org/abs/1712.07897

摘要:大量机器学习算法通过解决优化问题来训练模型、执行推断。为了准确捕捉学习和预测问题,经常出现的稀疏或低秩等结构化约束或目标函数本身都被设计成非凸函数。对运行在高维空间或训练张量模型和深层网络等非线性模型的算法尤其如此。

将学习问题表达为非凸优化问题的便利方式使算法设计者获得大量的建模能力,但是此类问题通常是 NP-hard 难解决的问题。之前流行的解决方案是将非凸问题近似为凸优化,使用传统方法解决近似(凸)优化问题。但是该方法可能造成损失,且对于大规模优化来说难度较高。

另一方面,解决非凸优化的直接方法在多个领域中取得了巨大成功,现在仍是从业者常用的方法,因为这种方法通常由基于凸松弛的技术,流行的启发式方法包括投影梯度下降(projected gradient descent)和交替最小化(alternating minimization)。但是,人们通常不了解其收敛性和其他特性。

本文展示了一些近期进展,这些进展可以填补我们对这些启发式方法长期以来的认识不足。本文将带领读者了解几种广泛使用的非凸优化技术及应用。本文目标是介绍该领域的丰富文献,以及使读者了解分析非凸问题的简单步骤所需的技术。

图 1:章节阅读建议顺序图示。例如,3、4 章介绍的概念有助于第 9 章的理解,而通读第 6 章则对此无必要。类似地,我们推荐先读第 4 章再读第 5 章,不过读者可以选择读完第 3 章后直接阅读第 7 章。

  • 第 1 部分:引言和基础工具。这部分提供介绍性说明和凸优化中的一些基础概念和算法工具。推荐不熟悉数值优化的读者阅读这部分内容。
  • 第 2 部分:非凸优化基元。这部分使读者了解非凸优化问题中最广泛使用的基元。
  • 第 3 部分:应用。这部分介绍机器学习和信号处理领域中四个有趣的应用,探索如何使用之前介绍的非凸优化技术解决这些问题。

第一章 简介

这一部分将为后续讨论打下基础,并为读者提供一些非凸优化问题的基本概念与动机,我们将尝试使用现实生活的案例解释这些基本概念。

1.1 非凸优化

优化问题的一般形式可以表示为如下形式:

其中 x 为该优化问题的变量,f:R^p → R 为该问题的目标函数,C ⊆ R^p 为优化问题的约束集。当非凸优化应用到机器学习中时,目标函数可以允许算法设计者编码适当和期望的行为到机器学习模型中,例如非凸优化中的目标函数可以表示为衡量拟合训练数据好坏的损失函数。正如 Goodfellow 所说,一般的非凸优化和深度学习中的非凸优化,最大的区别就是深度学习不能直接最小化性能度量,而只能最小化损失函数以近似度量模型的性能。而对目标函数的约束条件允许约束模型编码行为或知识的能力,例如约束模型的大小。

凸优化问题研究的目标函数是凸函数,对应的约束集为凸集,我们将在第二章正式定义这些术语。一个最优化问题通常会违反一个或多个凸优化条件,即它们通常会有非凸目标函数和非凸约束集等限制,因此这一类的最优化问题可以称为非凸优化问题。在本论文中,我们将讨论带有非凸目标函数和非凸约束(§ 4, 5, 6, 8)的非凸优化问题,还有带有非凸约束和凸目标函数(§ 3, 7, 9, 10, 8)的最优化问题。这些非凸优化的问题在很多应用领域上都有广泛的体现。

1.2 非凸优化的动机

目前很多应用都频繁地要求学习算法在极高维度的空间中进行运算。例如网页文本分类问题就要求基于 n-gram 的表征有数百万甚至更高的维度,推荐系统同样有数百万的推荐条目和数百万的推荐用户,而像人脸识别、图像分类和生物信息学中的基因检测等单一处理任务同样有非常高维度的数据。

处理这种数据和模型需要对模型的学习施加一个结构化约束,这种约束不仅有助于正则化学习问题,同时还经常有助于防止优化问题变得病态。例如如果我们知道用户如何评价一个推荐条目,那么我们将希望推断该用户将如何评价其它的推荐条目,这通常可以用于广告推荐中。为了做到这一点,我们必须明白用户对一些商品的评价如何影响另一些商品的评价,并针对这种影响添加一些结构化约束。因为如果没有这些结构,那么推断任何新用户的评价都是不可能的。正如我们将在下文看到的,这种结构化约束通常都属于非凸问题。

在其它应用中,学习任务的自然目标函数是非凸函数,特别在深度学习中是高度非凸目标函数。常见的训练深度神经网络和张量分解等问题都涉及到本文所述的非凸优化。此外,即使非凸目标函数和约束允许我们准确地建模学习问题,但它们同样对算法的设计者提出了很严峻的挑战,即如何令高度非凸的目标函数收敛到一个十分理想的近似最优解。非凸优化并不像凸优化,我们并没有一套便利的工具来解决非凸问题,甚至已知有几个非凸问题是 NP-hard,我们总是只能近似地、显著地减小或增大目标函数的值。由于一系列非凸问题使得最优化变得更加困难,有时候不仅求最优解是 NP-hard,连近似求最优都是 NP-hard [Meka et al., 2008]。

1.4 凸松弛方法

面对非凸问题及其与 NP-hard 之间的关系,传统的解决方案是修改问题的形式化或定义以使用现有工具解决问题。通常通过凸松弛来进行,以使非凸问题编码为凸问题。由于该方法允许使用类似的算法技术,所谓的凸松弛方法得到了广泛研究。例如,推荐系统和稀疏回归问题都应用了凸松弛方法。对于稀疏线性回归,凸松弛方法带来了流行的 LASSO 回归。

现在,这类更改通常给问题带来巨大改变,松弛公式对于原始问题来说不是好的解决方案。但是,如果该问题具备较好的结构,那么在仔细的松弛处理后,这些扭曲(distortion,松弛差距)就消失了,即凸松弛问题的解也适用于原始的非凸问题。

这种方法很流行也很成功,但是也有局限性,最显著的缺点就是可扩展性(scalability)。尽管凸松弛优化问题在多项式时间中是可解决的,但在大规模问题中高效地应用这种方法通常比较困难。

图 1.3:不同方法在四个非凸优化问题上的运行时实验对比。LASSO、extended LASSO 和 SVT 是基于松弛的方法,IHT、gPGD、FoBa、AM-RR、SVP 和 ADMiRA 是非凸方法。在所有情况中,非凸优化技术比基于松弛的方法快出一个数量级。注意图 1.3c 和 1.3d 使用对数尺度的 y 轴。

1.5 非凸优化方法

有趣的是,近年来,机器学习和信号处理领域出现了一种新方法,不对非凸问题进行松弛处理而是直接解决。引起目标是直接优化非凸公式,该方法通常被称为非凸优化方法。

非凸优化方法常用的技术包括简单高效的基元(primitives),如投影梯度下降、交替最小化、期望最大化算法、随机优化及其变体。这些方法在实践中速度很快,且仍然是从业者最喜欢用的方法。

但是,最初看来这些方法似乎注定要失败,因为前面提到的 NP-hard 问题很难解决。不过,一系列深入、具备启发性的结果证明了,如果该问题具备较好的结构,那么不仅可以使用松弛方法,还可以使用非凸优化算法。在这类案例中,非凸方法不仅能避免 NP-hard,还可以提供可证明的最优解。事实上,在实践中它们往往显著优于基于松弛的方法,不管是速度还是可扩展性,见图 1.3。

非常有趣的一点是,允许非凸方法避免 NP-hard 结果的问题结构与允许图松弛方法避免失真和较大松弛差距的结构类似!因此,如果问题具备较好的结构,则基于凸松弛的方法和非凸技术都可以成功,但是,非凸技术通常可以提供更具扩展性的解决方案。

第三章 非凸投影梯度下降

本章介绍和研究用于非凸优化问题的梯度下降方法。第 2 章研究了适合解决凸优化问题的投影梯度下降方法。不幸的是,凸问题中使用的这种算法和分析技术不适用于非凸问题。事实上,非凸问题是 NP-hard 的,因此,通常不期望有算法技术可以解决此类问题。

但是,情况并不是那么糟糕。如第 1 章所讨论的,非凸优化的几个重大突破展示了具备较好额外结构的非凸问题可以在多项式时间中得到有效解决。这里,我们将研究投影梯度下降方法在此类结构化非凸优化问题上的内部工作原理。

讨论分为三部分。第一部分是约束集,尽管是非凸的,但它们具备额外的结构可使投影高效实施。第二部分是目标函数中帮助优化的结构特性。第三部分是展示和分析适用于非凸问题的 PGD 算法的简单扩展。我们将看到对于具备较好结构目标函数的问题和约束集,类 PGD 算法可在多项式时间内收敛至全局最优,且收敛速度是线性的。

本章重点是基础概念的概述和阐释。我们将试图用轻松、易于理解的方式分析具备非凸目标函数的问题。但是,概述仅限于我们所展示结果的精细度。本章所讨论结果不是可能的最优结果,下面的章节中将介绍更精细、更针对特定问题的结果,也会详细讨论特定应用。

图 3.1:限制性凸性的描述。f 在整个实线上明显是非凸的,但在由虚垂直线界定的交叉阴影区域内是凸的。g 是一个非凸函数,满足限制性的强凸性。交叉阴影区域之外(再次由虚垂直线界定),当其曲线低于切线时,g 甚至不能为凸,但是在该区域内,它已实际表现出强凸性。

投影梯度下降算法已在算法 1 中陈述。该过程通过采取以梯度为指导的步骤生成迭代 x_t,以努力减少局部函数值。最后,它返回最后的迭代,平均迭代或者最佳的迭代。

算法 2 概述了用于解决非凸优化问题的广义投影梯度算法(gPGD)的过程。读者将会发现这非常类似于算法 1 之中的 PGD。然而,一个关键的区别是所做的投影:PGD 利用了凸投影,而 gPGD 利用了非凸投影(如果涉及到一个非凸约束集 C)。

第五章 EM 算法

在本节中,我们会简述最大期望(Expectation Maximization/EM)的原理。该原理是被人们广泛使用的学习算法的基础,如用于学习高斯混合模型,用于学习隐马尔科夫模型(HMM)的 Baum-Welch 算法,以及混合回归。EM 算法是 Lloyd 算法用于 K-均值聚类的一个变体。

尽管 EM 算法在表面上遵循了我们在§5 中研究的交替最小化原则,但由于其在概率学习环境中学习潜变量模型的广泛适用性,我们认为深入理解 EM 方法是非常有意义的。为了让阅读体验自成体系,我们首先会花一些时间在概率学习方法中构建符号。

算法 4 概括了 gAM 对潜在变量学习问题的适应性。注意,算法中的步骤 4 和 6 可以在几个问题上非常有效地执行。

算法 5 给出了 EM 算法的整体框架。实现 EM 算法需要两个过程,其一是构造与当前迭代(期望步骤或 E 步骤)对应的 Q 函数,另一个是用于最大化 Q 函数(最大化步骤或 M 步骤)以获得下一迭代。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2017-12-30,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 机器之心 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
斯坦福助理教授马腾宇:ML非凸优化很难,如何破?
非凸优化在现代机器学习中普遍存在。研究人员设计了非凸目标函数,并使用现成的优化器(例如随机梯度下降及其变体)对其进行了优化,它们利用了局部几何并进行迭代更新。即使在最坏的情况下求解非凸函数都是 NP 困难的,但实践中的优化质量通常也不是问题,人们普遍认为优化器会找到近似全局最小值。
机器之心
2021/06/08
8840
博客 | 机器学习中的数学基础(凸优化)
机器学习中几乎所有的问题到最后都能归结到一个优化问题,即求解损失函数的最小值。我们知道,梯度下降法和牛顿法都是通过逼近的方式到达极值点,如何使损失函数的极值点成为它的最值点就是凸函数和凸优化关注的内容。
AI研习社
2018/12/28
1.7K0
博客 | 机器学习中的数学基础(凸优化)
凸优化和机器学习
转载说明:CSDN的博主poson在他的博文《机器学习的最优化问题》中指出“机器学习中的大多数问题可以归结为最优化问题”。我对机器学习的各种方法了解得不够全面,本文试图从凸优化的角度说起,简单介绍其基本理论和在机器学习算法中的应用。
sea-wind
2019/09/11
9420
凸优化和机器学习
优化算法领军人物带你概览机器学习算法,蓝光辉教授新书面世
机器学习算法领域近期出现了大量研发进展,但目前社区尚缺乏对机器学习算法基础概念和近期进展的系统性介绍,尤其是基于随机优化方法、随机算法、非凸优化、分布式与在线学习,以及无投影方法的机器学习算法。
机器之心
2020/06/01
6700
优化算法领军人物带你概览机器学习算法,蓝光辉教授新书面世
凸优化有什么用
本文结构: 凸优化有什么用? 什么是凸优化? ---- 凸优化有什么用? 鉴于本文中公式比较多,先把凸优化的意义写出来吧,就会对它更有兴趣。 我们知道在机器学习中,要做的核心工作之一就是根据实际问题定义一个目标函数,然后找到它的最优解。 不过求解这种优化的问题其实是很难的,但是有一类问题叫做凸优化问题,我们就可以比较有效的找到全局最优解。 例如,SVM 本身就是把一个分类问题抽象为凸优化问题,利用凸优化的各种工具(如Lagrange对偶)进行求解和解释。深度学习中关键的算法反向传播(Back Propaga
杨熹
2018/04/03
3.8K0
凸优化有什么用
机器学习&深度学习的算法概览
根据样本数据是否带有标签值,可以将机器学习算法分成有监督学习和无监督学习两类。有监督学习的样本数据带有标签值,它从训练样本中学习得到一个模型,然后用这个模型对新的样本进行预测推断。有监督学习的典型代表是分类问题和回归问题。
算法进阶
2023/08/28
7340
机器学习&深度学习的算法概览
「如何跳出鞍点?」NeurIPS 2018优化相关论文提前看
Joshua Chou 毕业于多伦多大学,目前从事信息论与编码论的相关研究,主要研究内容为格码 (Lattice Codes) 与低密度奇偶检查码 (Low Density Parity Check Codes) 的演算法,以及它们在通讯系统中的应用。其他感兴趣的研究领域包括凸优化 (Convex Optimization) 以及随机规划 (Stochastic Programming)。
机器之心
2018/12/24
7680
「如何跳出鞍点?」NeurIPS 2018优化相关论文提前看
凸优化(C)——FW方法的分析与应用,镜面下降方法,深度学习与运筹中的优化简介
上一节笔记:凸优化(B)——再看交替方向乘子法(ADMM),Frank-Wolfe方法
学弱猹
2021/08/09
1.7K0
[机器学习必知必会]凸优化
凸优化问题(OPT,convex optimization problem)指定义在凸集中的凸函数最优化的问题。尽管凸优化的条件比较苛刻,但仍然在机器学习领域有十分广泛的应用。
TOMOCAT
2020/06/09
1.6K0
[机器学习必知必会]凸优化
学好机器学习需要哪些数学知识?
“ 随机过程,实分析。机器学习往深里做肯定需要用这种,高级的数学语言去对问题进行描述。我本人对随机和实分析,其实目前也还只是略懂,很难说,真正的彻底掌握这两门十分强大的数学工具。”
SIGAI学习与实践平台
2018/08/07
1.6K0
学好机器学习需要哪些数学知识?
理解凸优化
凸优化(convex optimization)是最优化问题中非常重要的一类,也是被研究的很透彻的一类。对于机器学习来说,如果要优化的问题被证明是凸优化问题,则说明此问题可以被比较好的解决。在本文中,SIGAI将为大家深入浅出的介绍凸优化的概念以及在机器学习中的应用。
SIGAI学习与实践平台
2018/08/07
1.2K0
理解凸优化
算法优化之道:避开鞍点
凸函数比较简单——它们通常只有一个局部最小值。非凸函数则更加复杂。在这篇文章中,我们将讨论不同类型的临界点( critical points) ,当你在寻找凸路径( convex path )的时候可
用户1737318
2018/06/06
1.5K0
《深度剖析:凸优化与梯度下降的紧密关系》
在机器学习和数学优化的领域中,凸优化和梯度下降是两个至关重要的概念,它们之间存在着紧密的联系,共同为解决各种复杂的优化问题提供了强大的工具。
程序员阿伟
2025/02/14
850
《深度剖析:凸优化与梯度下降的紧密关系》
凸优化笔记(1) 引言
向量x称之为优化向量,f0是目标函数,fi是约束函数,问题在于满足约束条件下寻找最优解
Mezereon
2019/03/15
7680
凸优化笔记(1) 引言
机器学习与深度学习习题集(上)
本文是SIGAI公众号文章作者编写的机器学习和深度学习习题集(上),是《机器学习-原理、算法与应用》一书的配套产品。此习题集课用于高校的机器学习与深度学习教学,以及在职人员面试准备时使用。为了帮助高校更好的教学,我们将会对习题集进行扩充与优化,并免费提供给高校教师使用。对此感兴趣的在校教师和学生可以通过向SIGAI微信公众号发消息获取。习题集的下半部分、所有题目的答案将在后续的公众号文章中持续给出。
SIGAI学习与实践平台
2019/10/14
2.7K0
机器学习与深度学习习题集(上)
从浅层模型到深度模型:概览机器学习优化算法
选自arxiv 机器之心编译 参与:乾树、蒋思源 学习算法一直以来是机器学习能根据数据学到知识的核心技术。而好的优化算法可以大大提高学习速度,加快算法的收敛速度和效果。该论文从浅层模型到深度模型纵览监
机器之心
2018/05/08
1.2K0
从浅层模型到深度模型:概览机器学习优化算法
机器学习与深度学习核心知识点总结--写在校园招聘即将开始时
一年一度的校园招聘就要开始了,为了帮助同学们更好的准备面试,SIGAI 在今天的公众号文章中对机器学习、深度学习的核心知识点进行了总结。希望我们的文章能够帮助你顺利的通过技术面试,如果你对这些问题有什么疑问,可以关注我们的公众号,向公众号发消息,我们将会无偿为你解答。对于不想在近期内找工作的同学,阅读这篇文章,对加深和巩固机器学习和深度学习的知识也是非常有用的。
SIGAI学习与实践平台
2018/08/21
4600
机器学习与深度学习核心知识点总结--写在校园招聘即将开始时
机器学习的数学基础
我们知道,机器学习的特点就是:以计算机为工具和平台,以数据为研究对象,以学习方法为中心;是概率论、线性代数、数值计算、信息论、最优化理论和计算机科学等多个领域的交叉学科。所以本文就先介绍一下机器学习涉及到的一些最常用的的数学知识。
Ai学习的老章
2019/04/24
9030
机器学习的数学基础
机器学习与深度学习习题集答案-2
本文是机器学习和深度学习习题集答案的第2部分,也是《机器学习-原理、算法与应用》一书的配套产品。此习题集可用于高校的机器学习与深度学习教学,以及在职人员面试准备时使用。
SIGAI学习与实践平台
2020/02/14
1.7K0
机器学习与深度学习习题集答案-2
机器学习(9)——SVM数学基础
支持向量机涉及到数学公式和定力非常多,只有掌握了这些数学公式才能更好地理解支持向量机算法。 最优化问题 最优化问题一般是指对于某一个函数而言,求解在其指定作用域上的全局最小值问题,一般分为以下三种情况(备注:以下几种方式求出来的解都有可能是局部极小值,只有当函数是凸函数的时候,才可以得到全局最小值) (1)无约束问题:求解方式一般求解方式梯度下降法、牛顿法、坐标轴下降法等;其中梯度下降法是用递归来逼近最小偏差的模型。我们在前面介绍过; (2)等式约束条件:求解方式一般为拉格朗日乘子法 (3)不等式约束条件:
DC童生
2018/04/27
8860
机器学习(9)——SVM数学基础
推荐阅读
相关推荐
斯坦福助理教授马腾宇:ML非凸优化很难,如何破?
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档