Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >凸优化整理

凸优化整理

作者头像
算法之名
发布于 2023-03-01 06:09:17
发布于 2023-03-01 06:09:17
5060
举报
文章被收录于专栏:算法之名算法之名

凸集

在最优化范畴中,凸优化问题是一类比较常见的,性质很好,很多时候可以帮助我们解决非凸问题的工具。

如果一个凸函数min f(x),它的可行集x∈S,S是一个凸集合,如此一般来说我们就认为这是一个凸优化的问题。

假如有两个函数都写成min f(x),x∈[a,b),它们的函数图像如下

在第一个函数图形中找最小点,那么这个点是一个平稳点(导数为0);但是在第二个函数图形中,我们可以找到3个平稳点,第一个平稳点在它的邻域(非整个a、b区间)中目标函数值是最小的,我们会称该点为局部最优解。第三个平稳点是全局最优解。

这样我们就发现,在第一个函数中找到的最优解一定是全局最优解,并且就是这个平稳点;而第二个函数中有多个平稳点,但是只有一个是全局最优解。产生这个的情况的原因是由函数本身的性质决定的,第一个函数是一个凸函数,第二个函数是一个非凸函数。

现在我们再来看一个多元函数的情况,min (x_1^2)+(x_2^2),x∈S,这里S是两个不同的区域

首先该二元函数的图像是这个样子的,是一个立体的形状

S的两个不同区域也是三维空间中的不规则区域,我们现在只是使用它们的剖面图。

无论图1还是图2的虚线部分是该二元函数曲面的不同等高线。我们令(x^*)是一个最优解,在图1中,我们知道(x^*)是S的边界跟弧线的切点,从该点沿着目标函数的负梯度方向作图,它会垂直于该等高线的切线。我们在S内任意找一个点x,总会满足

-(\nabla)f((x^*)^T)(x-(x^*))(\le)0,(\forall )x∈S

它的意思是在S中任取一点与(x^*)负梯度方向的夹角总是大于等于(90^∘)的。公式本身是两个向量的内积小于等于0。此处可以参考线性代数整理 中的向量点乘的应用。

在图2中满足这个条件的点并不是唯一的,它有两个点都满足,但只有一个最优解,也就是(x^*)。这里是由S集本身的性质决定的,图1的S集是一个凸集,图2的S集是一个非凸集。

如果一个目标函数是一个凸函数,其可行集也是一个凸集,那么我们找到的最优解就是全局解,我们找到的平稳点就是最优解。

基本定义:凸集

凸集(convex set):对于任意的x,y∈C与任意的λ∈0,1有

λx+(1-λ)y ∈ C

其几何意义就是集合中两点的连线仍属于此集合。

上图中第一个图形是一个圆,它是一个凸集;第二个图形是一个多面体,它也是一个凸集;第三个图形是一个非凸集,这个很容易判断。

  • 凸组合

凸组合(convex combination):有k个点(x^1),(x^2),(x^3)...(x^k)

当(λ_1x^1)+(λ_2x^2)+(λ_3x^3)+...+(λ_kx^k),

其中(λ_1),(λ_2),(λ_3),...,(λ_k)(\ge)0,(\sum_{i=1}^k)(λ_i)=1

这个就是 (x^1),(x^2),(x^3)...(x^k)的凸组合。

关于组合,(λ_1x^1)+(λ_2x^2)+(λ_3x^3)+...+(λ_kx^k)本身就是一个线性组合。具体可以参考线性代数整理 中的线性组合。

  • 凸包

凸包(convex hull of set C):由任意一个集合C(不一定是凸集)中点的凸组合构成

在上图中的左图中离散的点是集合C,我们任取一些点来做凸组合,最终会形成外面的五点的五边形。

在右图中的集合C是

蓝色曲线连接的区域,任取一些点来做凸组合

这里我们会发现因为凸包是凸组合构成的,所以它一定是凸集。对于一个非凸集来说,如果对该集合产生一个凸包,那么就会将该非凸集转化成一个凸集。

凸包的作用主要用于解非凸优化问题的时候,会对一个非凸的问题进行凸化的作用。

常见凸集

超平面(hyperplane):H={x|(a^T)x=b}   (a

0)

半空间(halfspace):(H^+) ={x|(a^T)x(\ge)b}   (a

0);(H^-) ={x|(a^T)x(\le)b}   (a

0),它就是超平面分开的两个空间,它们都是凸集。

多面体(polyhedra):多个线性不等式所刻画的集合。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-11-26,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

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

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

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
理解凸优化
凸优化(convex optimization)是最优化问题中非常重要的一类,也是被研究的很透彻的一类。对于机器学习来说,如果要优化的问题被证明是凸优化问题,则说明此问题可以被比较好的解决。在本文中,SIGAI将为大家深入浅出的介绍凸优化的概念以及在机器学习中的应用。
SIGAI学习与实践平台
2018/08/07
1.2K0
理解凸优化
凸优化(1)——引入,优化实例分析,凸集举例与相关性质
这是一个全新的系列,我们会给大家介绍凸优化(Convex Optimization)相关的内容。
学弱猹
2021/08/09
1.5K0
凸优化有什么用
本文结构: 凸优化有什么用? 什么是凸优化? ---- 凸优化有什么用? 鉴于本文中公式比较多,先把凸优化的意义写出来吧,就会对它更有兴趣。 我们知道在机器学习中,要做的核心工作之一就是根据实际问题定义一个目标函数,然后找到它的最优解。 不过求解这种优化的问题其实是很难的,但是有一类问题叫做凸优化问题,我们就可以比较有效的找到全局最优解。 例如,SVM 本身就是把一个分类问题抽象为凸优化问题,利用凸优化的各种工具(如Lagrange对偶)进行求解和解释。深度学习中关键的算法反向传播(Back Propaga
杨熹
2018/04/03
3.8K0
凸优化有什么用
凸优化整理(四)
这里跟之前不同的地方在于x∈X。之前我们都在说的是连续性问题,即X=\(R^n\);在对偶理论中包含了离散性的问题,X可能是整数集合,即X=\(Z^n\),或者正整数集合X=\(Z^n+\),或者0-1规划,即X=\({\{0,1\}}^n\),也可以任何自定义的集合,如X={x| \(e^Tx=1\),x≥0};(P)在对偶理论中称为原问题(primal problem)。
算法之名
2023/03/01
6530
凸优化整理(四)
凸优化和非凸优化的区别
其中, 是 凸集是指对集合中的任意两点 ,有 ,即任意两点的连线段都在集合内,直观上就是集合不会像下图那样有“凹下去”的部分。至于闭合的凸集,则涉及到闭集的定义,而闭集的定义又基于开集,比较抽象,不赘述,这里可以简单地认为闭合的凸集是指包含有所有边界点的凸集。
狼啸风云
2019/12/20
4K0
凸优化和非凸优化的区别
博客 | 机器学习中的数学基础(凸优化)
机器学习中几乎所有的问题到最后都能归结到一个优化问题,即求解损失函数的最小值。我们知道,梯度下降法和牛顿法都是通过逼近的方式到达极值点,如何使损失函数的极值点成为它的最值点就是凸函数和凸优化关注的内容。
AI研习社
2018/12/28
1.7K0
博客 | 机器学习中的数学基础(凸优化)
凸优化和机器学习
转载说明:CSDN的博主poson在他的博文《机器学习的最优化问题》中指出“机器学习中的大多数问题可以归结为最优化问题”。我对机器学习的各种方法了解得不够全面,本文试图从凸优化的角度说起,简单介绍其基本理论和在机器学习算法中的应用。
sea-wind
2019/09/11
9410
凸优化和机器学习
[机器学习必知必会]凸优化
凸优化问题(OPT,convex optimization problem)指定义在凸集中的凸函数最优化的问题。尽管凸优化的条件比较苛刻,但仍然在机器学习领域有十分广泛的应用。
TOMOCAT
2020/06/09
1.6K0
[机器学习必知必会]凸优化
【通俗理解】凸优化
注:以下内容参考了Shu-Cherng Fang教授2009年在清华的夏季学期课程《Global Optimization with Applications》讲义。 今天介绍一点凸优化方面的知识~内容可能有点无聊,看懂了这篇文章,会对求极值和收敛有进一步理解,比如: 了解为什么向量机(SVM)等的推导中,求极值时可以把约束条件加在目标函数后面来变成一个无约束的优化问题。 理解EM算法(聚类,GMM等)为什么收敛。 之前文章有介绍过,一个算法有效至少要满足两个条件:1)极值存在,2)收敛。极值不存在说
用户1594945
2018/07/20
1.5K0
凸优化整理(三)
它有两个点是不可微的,一个是(0,0),一个是(1,1)。如果我们要求目标函数的最小值min f(x),可以转化为
算法之名
2023/03/01
3440
凸优化整理(三)
从基础知识到实际应用,一文了解机器学习非凸优化技术
选自arXiv 优化技术在科技领域应用广泛,小到航班表,大到医疗、物理、人工智能的发展,皆可看到其身影,机器学习当然也不例外,且在实践中经历了一个从凸优化到非凸优化的转变,这是因为后者能更好地捕捉问题结构。本文梳理了这种转变的过程和历史,以及从机器学习和信号处理应用中习得的经验。本文将带领读者简要了解几种广泛使用的非凸优化技术及应用,介绍该领域的丰富文献,使读者了解分析非凸问题的简单步骤所需的基础知识。更多详细内容请查看原论文。 优化作为一种研究领域在科技中有很多应用。随着数字计算机的发展和算力的大幅增长,
企鹅号小编
2018/01/15
1.7K0
从基础知识到实际应用,一文了解机器学习非凸优化技术
凸优化整理(二)
这里的终止条件一般为∇f(\(x^k\))=0,但是在实际计算的时候,我们不会直接判断为0,而是二范数小于一个非常小的数,如\(10^{-4}\)或者\(10^{-6}\)
算法之名
2023/03/01
3690
凸优化整理(二)
凸优化(C)——FW方法的分析与应用,镜面下降方法,深度学习与运筹中的优化简介
上一节笔记:凸优化(B)——再看交替方向乘子法(ADMM),Frank-Wolfe方法
学弱猹
2021/08/09
1.7K0
怎么理解凸优化及其在SVM中的应用
凸优化理论广泛用于机器学习中,也是数学规划领域很重要的一个分支,当然也是很复杂的。本文总结一下我获取的资料和个人在一些难点上的理解。
汪毅雄
2019/10/14
1.4K0
【技术分享】怎么理解凸优化及其在SVM中的应用
导语:本文先介绍了凸优化的满足条件,然后用一个通用模型详细地推导出原始问题,再解释了为什么要引入对偶问题,以及原始问题和对偶问题的关系,之后推导了两者等价的条件,最后以SVM最大间隔问题的求解来说明其可行性。
腾讯云TI平台
2019/09/11
2.9K0
ML特训营笔记1
设A = (a_{ij}),B = (b_{ij})是两个m \times n矩阵,则m \times n 矩阵C = c_{ij}) = a_{ij} + b_{ij}称为矩阵A与B的和,记为A + B = C
皮大大
2021/03/02
5080
《深度剖析:凸优化与梯度下降的紧密关系》
在机器学习和数学优化的领域中,凸优化和梯度下降是两个至关重要的概念,它们之间存在着紧密的联系,共同为解决各种复杂的优化问题提供了强大的工具。
程序员阿伟
2025/02/14
850
《深度剖析:凸优化与梯度下降的紧密关系》
[机器学习必知必会]机器学习是什么
Tom Mitchell将机器学习任务定义为任务Task、训练过程Training Experience和模型性能Performance三个部分。 以分单引擎为例,我们可以将提高分单效率这个机器学习任务抽象地描述为:
TOMOCAT
2020/06/09
8900
[机器学习必知必会]机器学习是什么
凸优化(8)——内点法中的屏障法与原始-对偶方法,近端牛顿方法
这一节我们主要谈一些二阶方法——内点法(Interior Method),如果还有空位的话,还会简单引入一下近端牛顿方法(Proximal Newton Method)。你可能要问明明只有一个方法,为什么要用“一些”?这是因为内点法其实是一种方法的总称,我们在《数值优化》的第A节(数值优化(A)——线性规划中的单纯形法与内点法),第C节(数值优化(C)——二次规划(下):内点法;现代优化:罚项法,ALM,ADMM;习题课)分别提到过线性规划与二次规划问题的内点法。在这一节我们会提到两种内点法——屏障法(Barrier Method)和原始-对偶方法(Primal-Dual Method),它们与之前我们提到的方法的思路非常相似,但是视角又略有不同,因此值得我们再去谈一谈。
学弱猹
2021/08/09
3.4K0
凸优化(6)——对偶性:案例分析,强弱对偶性及理解,再看KKT条件
上一节我们简单提到了对偶问题的构造方法和对偶性的两种理解,这一节我们还会继续讨论对偶性相关的概念。我们会先介绍两个有趣的线性规划对偶问题的实际例子(本来不想花篇幅写例子的,但我觉得它们真的太有意思了!),再将对偶性推广到更加一般的优化问题进行讨论。
学弱猹
2021/08/09
1.6K0
相关推荐
理解凸优化
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档