引言

这是中科大最优化理论的笔记,中科大凌青老师的凸优化课程,详尽易懂,基础扎实。不论是初学者还是从业多年的人,都值得系统地好好学一遍。

本文主要介绍什么是凸优化,通过几个例子来阐述什么是凸优化问题。让大家有一个感性的认知。

优化/数学规划

优化(Optimization)或称为数学规划(Mathematical Programming)是从一个可行解的集合中,寻找出最优的元素。

任何一个优化问题,可以写成下面这样的形式:
minimize f0(x)subject to fi(x)≤bi,i=1,…,m(1)\begin{aligned} \text{minimize}\ &f_0(x)\\ \text{subject to}\ &f_i(x)\leq b_i,\ \ \ i=1,\dots,m\\ \end{aligned} \tag{1} minimize subject to ​f0​(x)fi​(x)≤bi​,   i=1,…,m​(1)
我们要最小化f0(x)f_0(x)f0​(x),同时有一些约束,使得fi(x)≤bif_i(x) \leq b_ifi​(x)≤bi​,总共有mmm个约束。

这里xxx一般来说是一个nnn维的向量,x=[x1,⋯,xn]Tx=[x_1,\cdots,x_n]^Tx=[x1​,⋯,xn​]T,称为优化变量(ptimization variable)

函数f0:Rn→Rf_0: R^n \rightarrow Rf0​:Rn→R,称为目标函数(objective function),是一个从nnn维到111维的映射。

函数fi:Rn→R,i=1,⋯,mf_i:R^n \rightarrow R, i=1,\cdots,mfi​:Rn→R,i=1,⋯,m 为不等式约束(inequality constraint)函数,而一个等式约束可以写成两个不等式约束,这里为了简便,就不写出等式约束了;

优化问题的解,最优的xxx记为x∗x^*x∗,等价于∀z∈Rn\forall z \in R^n∀z∈Rn,对于z∈{fi(z)≤bi,i=1,⋯,m}z \in \{f_i(z) \leq b_i, i=1,\cdots,m \}z∈{fi​(z)≤bi​,i=1,⋯,m},总是有f0(z)≥f0(x∗)f_0(z) \geq f_0(x^*)f0​(z)≥f0​(x∗),即对于所有满足约束条件的zzz,其结果都不会好于最优解。

集合{fi(z)≤bi,i=1,⋯,m}\{f_i(z) \leq b_i, i=1,\cdots,m \}{fi​(z)≤bi​,i=1,⋯,m}是可行解集合(feasible set),即所有满足约束点的集合。

这里描述的是一般的优化问题,任何一般的优化问题都可以写成这样的形式。

这里的数学公式优点抽象,下面我们来看一些优化问题的例子。

如上图,假设我们要优化这样一个目标函数,约束是:
x≤a−x≤ax \leq a \\ -x \leq a x≤a−x≤a
相当于x∈[−a,a]x \in [-a,a]x∈[−a,a]之间,可行解集为−a-a−a到aaa之间所有的点所构成的点集。最优解是在上图x∗x^*x∗处。

如果我们把该曲线改一下:

同样于x∈[−a,a]x \in [-a,a]x∈[−a,a]之间,这个问题看起来有两个最优解,没错,该问题的最优解集是由这两个点所构成的集合。

所以最优解并不一定只有一个,一般只有一个最优解的问题会简单一点。

应用

本小节介绍几个例子。

数据拟合问题

假设我们通过一个实验得到一些散点,我们想把这些散点拟合成一条线。

如上图,现在有(x1,y1),⋯,(xn,yn)(x_1,y_1),\cdots,(x_n,y_n)(x1​,y1​),⋯,(xn​,yn​)这些点,假设这条线是一个二次曲线。

可以写成:y=ax2+bx+cy=ax^2 + bx+cy=ax2+bx+c

其中x,yx,yx,y可以通过测量知道,而a,b,ca,b,ca,b,c是需要估计的参数。

而测量是有误差的,我们目标是使得测量误差尽可能小,所以用最小二乘准则
min⁡ϵ12+ϵ22+⋯+ϵn2\min \quad \epsilon_1^2 + \epsilon_2^2 + \cdots + \epsilon_n^2 minϵ12​+ϵ22​+⋯+ϵn2​
其中ϵi=yi−(axi2+bxi+c),i=1,⋯,n\epsilon_i = y_i - (ax_i^2 + bx_i +c), \quad i=1,\cdots ,nϵi​=yi​−(axi2​+bxi​+c),i=1,⋯,n

即,我们要使所有测量误差的平方和尽可能的小,这就是一个最小二乘问题。这是一个很典型的优化问题。

图像处理

假设给定一个二维图像Φ0(x,y)\Phi_0(x,y)Φ0​(x,y),且该图像是带噪声的,希望恢复出一个不带噪声的图像Φ(x,y)\Phi(x,y)Φ(x,y)。

其中x,yx,yx,y两个坐标轴。

我们知道所有的图像都是有一定的规律,图像具有分片光滑性,即图片中通常具有很大的色块。这些色块为我们提供了先验知识,使得图像的TV范数尽可能小。

TV范数(Total Variation)表示的意义是使图像分片光滑的,可以定义如下:
∣∣Φ∣∣TV=∑y∑x(Φ(x,y)−Φ(x,y−1))2+(Φ(x,y)−Φ(x−1,y−1))2||\Phi||_{TV} = \sum_y\sum_x \sqrt{(\Phi(x,y)-\Phi(x,y-1))^2 + (\Phi(x,y)-\Phi(x-1,y-1))^2} ∣∣Φ∣∣TV​=y∑​x∑​(Φ(x,y)−Φ(x,y−1))2+(Φ(x,y)−Φ(x−1,y−1))2​
表示对图像做两个方向上的差分,然后计算平方,再求和,最后取根号。

对于任何一个分片光滑的图像,它的TV范数一定都是比较小的。有了这样一个先验知识后,我们就可以写出这样一个优化问题:
min⁡Φ∣∣Φ∣∣TV+λ∣∣Φ−Φ0∣∣F2\min_\Phi \quad ||\Phi||_{TV} + \lambda ||\Phi - \Phi_0||_F^2 Φmin​∣∣Φ∣∣TV​+λ∣∣Φ−Φ0​∣∣F2​
我们要找到一个这样的Φ\PhiΦ,它的TV范数要尽可能的小,实际上就是一个分片光滑的图片。上式后面那一项是规范化项,因为我们要求Φ\PhiΦ不光是分片光滑的,还希望Φ\PhiΦ与Φ0\Phi_0Φ0​比较接近。即这两个矩阵之差的F范数要尽可能的小。

这个模型就是图像中非常著名的TV-L2模型。

优化问题的分类

优化问题按照不同的角度可以分成哪些类呢?

线性规划/非线性规划

线性规划就是说,优化问题的目标函数和所有的约束函数均为线性函数。

那什么是线性函数?

若某数学函数或数量关系的函数图像呈现一条直线或线段,那么这种关系就是一种线性的关系,该函数称为线性函数。

在线性代数中,线性函数时一个线性映射,是在两个向量空间之间,维持向量加法与标量乘法的映射。
f(a+b)=f(a)+f(b)f(ka)=kf(a)\begin{aligned} f(a + b) &= f(a) + f(b) \\ f(ka) &= kf(a) \end{aligned} f(a+b)f(ka)​=f(a)+f(b)=kf(a)​
回到凸优化中,线性规划的函数满足
fi(αx+βy)=αfi(x)+βfi(y)i=0,1,⋯,mf_i(\alpha x + \beta y) = \alpha f_i(x) + \beta f_i(y) \quad i=0,1,\cdots,m fi​(αx+βy)=αfi​(x)+βfi​(y)i=0,1,⋯,m
对于一个优化问题,它的这些函数都是线性函数的化,那么这个问题就是线性规划问题。

对于线性规划问题,可能以如下图像表示。

该图表示线性规划问题中约束所构成的空间,这里是一个五边形。

目标函数也是线性函数,我们可以在该空间中画一些等高线,每条线表示对应f0f_0f0​的取值,等高线上的f0f_0f0​取值相等。上图箭头所指的方向为f0f_0f0​下降的方向。任何一个线性规划问题的最优解一定是在顶点上或边上。

这里最优解为x∗x^*x∗的位置。

如果存在一个或多个fif_ifi​是非线性函数,那么该问题就是非线性规划问题。

凸规划/非凸规划

对于所有fif_ifi​都为凸函数,有
fi(αx+βy)≤αfi(x)+βfi(y)i=0,1,⋯,mf_i(\alpha x + \beta y) \leq \alpha f_i(x) + \beta f_i(y) \quad i=0,1,\cdots,m fi​(αx+βy)≤αfi​(x)+βfi​(y)i=0,1,⋯,m
或者说它的可行解集是凸集且目标函数是凸函数。

下面来举个例子看下什么叫凸函数,什么叫非凸函数。

上图中上半区域的图像代表凸函数,下半区域的图像表示非凸函数。

在凸函数中无法找到一些不相邻的最低的点;而非凸函数能找到不相邻的比较低的点。

为什么要分凸规划(凸优化)和非凸规划,因为凸规划问题是容易解决的优化问题,而非凸规划问题是难解决的优化问题。

任何一个线性规划问题都是凸规划问题。

光滑/非光滑

光滑和非光滑一般针对目标函数f0(x)f_0(x)f0​(x)而言的,如果一个函数f0(x)f_0(x)f0​(x)是光滑的,即它在每个点上都是可微的。

如下图:

如果一个目标函数是非光滑的:

比如说是上图这样的。

光滑的优化问题一般容易一点;非光滑的优化问题一般难一点。但是没有凸规划问题和非凸规划问题差别那么大。

连续/离散

连续和离散是针对可行域的。比如上面线性规划的可行域是连续的。

而离散的优化问题可行域是空间上的一些离散的点:

离散的优化问题一般比较难,但连续的优化问题也不一定容易。

单目标/多目标

上面奖的优化问题其实都是单目标优化问题,即目标函数只有一个。

但实际中很多问题本质上多目标优化问题。

我们主要研究的就是单目标优化问题。

我们主要研究的是凸规划、单目标、目标函数光滑的优化问题。

同时还要知道怎么根据实际需要去构建一些这样容易的问题。

最优化——凸优化概述相关推荐

  1. 凸优化、最优化、凸集、凸函数

    原文:https://www.cnblogs.com/AndyJee/p/5048735.html 我们知道压缩感知主要有三个东西:信号的稀疏性,测量矩阵的设计,重建算法的设计.那么,在重建算法中,如 ...

  2. 读convex optimization (Stephen Boyd):最优化 最小二乘 线性规划 凸优化 非线性规划 (intro part)

    for all x, y ∈ Rn and all α, β ∈ R with α + β = 1, α ≥ 0, β ≥ 0. Since any linear program is therefo ...

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

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

  4. 最优化模型:线性代数模型、凸优化模型及应用

    最优化理论是应用数学的一个分支,该理论研究在约束条件下某个函数的最小值或最大值.这个领域的诞生可以追溯到高斯年轻时所解决的一个天文学问题.后来随着物理学,特别是力学的发展,一些自然现象可被描述为&qu ...

  5. 详解GCN、GAT、凸优化、贝叶斯、MCMC、LDA

    如果你准备发AI方向的论文,或准备从事科研工作或已在企业中担任AI算法岗的工作.那么我真诚的向大家推荐,贪心学院<高阶机器学习研修班>,目前全网上应该找不到类似体系化的课程.课程精选了四大 ...

  6. UA MATH567 高维统计专题3 含L1-norm的凸优化2 Proximal Gradient Descent

    UA MATH567 高维统计专题3 含L1-norm的凸优化2 Proximal Gradient Descent Proximal Gradient Descent的公式推导 Proximal O ...

  7. 凸集 凸函数 凸优化

    目录 写在前面 精简版概念理解 凸集 凸集的性质 凸函数 凸函数性质 凸优化 为什么要求是凸集呢? 为什么要求是凸函数呢? 判断是否为凸函数的简单办法 为什么区分凸优化和非凸优化 非凸优化问题如何转为 ...

  8. 划重点!十分钟掌握牛顿法凸优化

    AI有道 一个有情怀的公众号 之前,我发过一篇文章,通俗地解释了梯度下降算法的数学原理和推导过程,推荐一看.链接如下: 简单的梯度下降算法,你真的懂了吗? 我们知道,梯度下降算法是利用梯度进行一阶优化 ...

  9. 机器学习之凸优化原理推导及相关知识总结

    文章目录 目录 1.了解凸集和仿射集的基本概念. 2.知道几何体的向量表达. 3.了解超平面和半空间的概念. 4.了解分割超平面和支撑超平面的含义. 5.知道jensen不等式. 6.掌握知识:凸函数 ...

最新文章

  1. boost::graph模块实现内部pmap捆绑的测试程序
  2. JavaScript实现的水珠动画效果
  3. linux如何加设磁盘配额,Linux系统攻略:如何为添加的硬盘做配额
  4. 病毒周报(100301至100307)
  5. Android:复杂listview条目
  6. 基于运动特征的视频质量评价方法(基于H.264)
  7. 数据库分库分表中间件 Sharding-JDBC 源码分析 —— SQL 路由(二)之分库分表路由...
  8. oracle 负载均衡连接方式常用SQL语句备忘录
  9. Python——银行管理系统
  10. 通信专业顶刊_通信类权威SCI期刊(部分)
  11. Pr:自动添加字幕​
  12. 爬虫笔记(二)——Beautiful Soup库
  13. 【三年前端开发的思考】如何有效地阅读需求?
  14. 电脑显示未连接一个服务器怎么处理,win7系统提示未能连接一个windows服务如何解决【详解】...
  15. cf显示服务器登录,cf显示与服务器
  16. 华为LiteOS操作系统中的LOS_DL_LIST_ENTRY怎么理解?
  17. 路由 OSPF LSA介绍、1~7类LSA详细介绍
  18. 美国计算机硕士不接受雅思,美国留学:不接受雅思的大学盘点
  19. 微型计算机原理与接口技术考试附录
  20. 解决win7无法打开chm格式文件的问题

热门文章

  1. 解决:adobe界面模糊且pdf文件模糊
  2. jQuery实现输入框获取焦点和失去焦点
  3. 阿里云 Serverless App Engine(SAE)助力升学在线从容应对流量高峰
  4. Ubuntu下HP LaserJet 1000打印机的安装步骤
  5. 百度地图 点击地图类型控件切换普通地图、卫星图、三维图、混合图(卫星图+路网),右下角是缩略图
  6. 打造 PE 和 Linux 二合一U盘启动盘
  7. css3 slide动画,css3动画+ slidetoggle不起作用(css3 animation + slidetoggle don't work)
  8. Linux ubuntu修改软件源为国内源;解决apt install、PPA源太慢;
  9. 【读书笔记】运动改造大脑
  10. Stage2 核心代码