凸优化问题(一):凸优化问题相关记录及其概要

一、什么是凸优化

维基百科提到:凸函数最优化,或叫做凸最优化凸最小化,是数学最优化的一个子领域,研究定义于凸集中的凸函数最小化的问题。凸最佳化在某种意义上说一般情形的数学最佳化问题,比如在凸最佳化中局部最佳值必定是全局最佳值。凸函数的凸性使得凸分析中的有力工具在最佳化问题中得以使用,如次导数等。


注意到:凸优化是研究定义于凸集凸函数最小化的问题
需要注意的是: 这里讲到的凸函数最小化,凸函数指的是(convex function)国内同济版教材和国外定义是相反的。

1.1 凸函数定义

在这里插入图片描述
下图就是一个凸函数:

在这里插入图片描述

1.2 凸集定义

点集拓扑学欧几里得空间中,凸集(Convex set)是一个点集合,其中每两点之间的线段点都落在该点集合中。

简而言之:集合内任意两点链接的线段还在集合内就是凸集

具体常见的凸集和数学定义参考常见凸集与定义

        

二、凸优化问题

一般优化问题的形式为:
在这里插入图片描述
其中要求目标函数约束函数 f 0 ( x ) , f 1 ( x ) , f 2 ( x ) , . . . , f m ( x ) , f_0(x),f_1(x),f_2(x),...,f_m(x), f0(x),f1(x),f2(x),...,fm(x),均为凸函数。需要注意这里还要求等式约束均为仿射函数,这是因为我们希望定义域是凸集

仿射函数:由1阶多项式构成的函数

在这里可能会思考一个问题?当我们的目标函数不是凸函数而是凹函数应该怎么办?其实很好解决我们只需在凹函数前添加一个负号,这个问题就又成了凸函数了?求结果的时候取反就行。


另外 m i n f ( x ) , f ( x ) 为 凸 函 数 是 等 价 于 m a x f ( x ) , f ( x ) 为 凹 函 数 的 。 min f(x),f(x)为凸函数是等价于max f(x),f(x)为凹函数的。 minf(x),f(x)maxf(x)f(x)


这样的问题都是凸优化问题。

三、凸优化问题求解

当一个目标问题被证明成是凸优化问题时,那么这个问题已经基本可以被求解了。

无约束:Gradient Descent、Newton Method
带约束:KKT、内点法

详解:凸优化求解方法


四、KKT条件

Karush-Kuhn-Tucker (KKT)条件是非线性规划(nonlinear programming)最佳解的必要条件。KKT条件将Lagrange乘数法(Lagrange multipliers)所处理涉及等式的约束优化问题推广至不等式。在实际应用上,KKT条件(方程组)一般不存在代数解,许多优化算法可供数值计算选用。

考虑一般形式的优化问题:
在这里插入图片描述
注: 需要注意的这里我们并没有假设 f ( x ) 和 g j ( x ) f(x)和g_j(x) f(x)gj(x)是凸函数,对于这样的问题,我们可以将原问题转化为它的对偶问题,因为对偶问题一定是凸问题,如果它满足强对偶性,那么最优解一定满足KKT条件。
那么,如何转化为对偶问题?由应该如何求解?


这里推荐一个up主讲的非常好的视频:如何直观理解KKT条件,Slater条件、凸优化

[图片来源于上述视频,侵删]

另外,当我们的原问题就是一个凸问题的话,一般情况下这样的问题基本是强对偶的。强对偶问题一定满足KKT条件。


有了KKT条件,那么这个问题解起来就很轻松了。
有兴趣的话可以解一个简单的例子:使用KKT条件求解最优化问题示例


参考相关资料:
KKT条件
维基百科

  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值