优化问题---凸优化基本概念

目录

1.凸优化到底是什么?

1.1 基本概念

1.2 凸优化和非凸优化

2、集合概念

2.1 仿射集、仿射包、仿射组合

2.2 凸集、凸包、凸组合

2.3 锥、凸锥

3.凸函数与非凸函数

4.总结


1.凸优化到底是什么?

1.1 基本概念

凸优化就是优化问题的一个特例,我们所知道的优化问题就是在一定的限制条件下求得目标函数最优值,可以是最大值也可以是最小值,那么在经济学上面就是在有限的资源下面寻求资源的最大利用效益。

那么,优化问题按照不同的分类可以得到很多中细分类,比如线性规划与非线性规划等等。

凸优化就是优化问题的一个特例,其固有的形式如下:

优化问题---凸优化基本概念_第1张图片

很多非凸问题也可以通过某种形式转化成凸优化问题来求解其近似解(一般在找不到原问题的解或求解原问题所需的时间复杂度太大的情形下使用)。这是解决一类问题的一种技巧,在深度学习的一些模型中经常用到。这是一种逼近的思想。

1.2 凸优化和非凸优化

在最小化(最大化)的优化要求下,目标函数是凸函数且约束条件所形成的可行域集合是一个凸集的优化方法,因此凸优化的判定条件有两个

  • 函数定义域是凸集
  • 目标函数是凸函数

2、集合概念

2.1 仿射集、仿射包、仿射组合

 (1)仿射集(Affine set)

仿射集(Affine set)是包含过两个不同的点的直线的所有点。(“所有点”的集合)

优化问题---凸优化基本概念_第2张图片

 比如,我们举一个小例子:

(2)仿射组合(affine combination)

优化问题---凸优化基本概念_第3张图片

 仿射集包含了集合内点的所有仿射组合。

(3)仿射包(affine hull)

优化问题---凸优化基本概念_第4张图片

 (4)仿射集合的子集

优化问题---凸优化基本概念_第5张图片

2.2 凸集、凸包、凸组合

(1)凸集

凸集是包含两个不同点之间的直线的所有点。(“所有点”的集合)

所有仿射集都是凸的,因为它包含集合中任意不同点的所有直线。

都是对集合本身性质的描述,但是有所不同,否则就拥有一样的名字了,不同点就在于\theta数值的取值范围:仿射集对集合的要求包括了凸集对集合的要求,因此可以说仿射集比凸集要求更高,不仅要满足凸集的定义(\theta在区间[0,1]之间),还要满足 \theta在区间[0,1]之外)。

①仿射集的概念:一个集合是仿射集,当且仅当集合中经过任意两点的直线(而不是线段)上的点仍在集合中。

②凸集的概念:一个集合是凸集当且仅当该集合中任意两点的连线上的所有点(即线段)仍然属于该集合。

优化问题---凸优化基本概念_第6张图片

  • 判定条件上,凸集比仿射集更弱,只对系数大于0的线性组合作出要求。换句话说,判定集合是凸集的判定条件判定集合是仿射集的判定条件的子集
  • 从具体的点集来说,是仿射集的一定是凸集,反之不然。换句话说,所有仿射集的集合所有凸集的集合的子集
  • 从点集的包的角度来说,一个点集的凸包这个点集的仿射包的子集

 (2)凸组合(构建凸集合的具体模型)

优化问题---凸优化基本概念_第7张图片

 (3)凸包(构建凸集合的方法)(convex hull)

优化问题---凸优化基本概念_第8张图片

(4)仿射包(affine hull)、凸包(convex hull)

 这两个概念是对已有集合生成新的集合的方法,定义如下:

优化问题---凸优化基本概念_第9张图片

对于空间中的两点,其仿射集是过这两点的直线,其凸集是连接两点的线段,线段应该是直线的子集。所以这里描述的直线和线段应该分别是这两点组成的集合的仿射包和凸包。因此有:

 注意:从集合的角度来看和从包的角度来看是不一样的。

2.3 锥、凸锥

(1)锥

 (2) 凸锥

即集合C如果既是凸集也是锥,那么这样的集合就叫凸锥,凸锥也一定包含原点。 

(3)锥组合

 (4)锥包(cone hull)

优化问题---凸优化基本概念_第10张图片

3.凸函数与非凸函数

通常将函数分为凸函数和非凸函数。凸函数的几何意义在于,定义域中任意两点连线组成的线段都在这两点的函数曲线(面)上方。凸函数是有且只有全局最优解的,而非凸函数可能有多个局部最优解。

因此,当很多模型不是凸函数时,我们往往尝试绞尽脑汁去将其变换为凸函数和拟凸函数。

3.1 强凸函数

强凸函数有三种定义:

优化问题---凸优化基本概念_第11张图片

3.2 严格凸函数

3.3 拟凸函数

优化问题---凸优化基本概念_第12张图片

 优化问题---凸优化基本概念_第13张图片

3.4 凸函数判定方法:(非常重要)

3.4.1 凸函数判定条件

(1)一阶充要条件(不常用)

优化问题---凸优化基本概念_第14张图片

(2)二阶充要条件(常用)

优化问题---凸优化基本概念_第15张图片3.4.2 凸优化判定条件

判定一个优化是不是凸优化,有下面的凸优化判定条件:

    ①对于一元函数f(x),首先必须定义域是凸集,其次通过其二阶导数f′′(x) 的符号来判断。如果函数的二阶导数总是非负,即f′′(x)≥0 ,则f(x)是凸函数。
    ②对于多元函数f(X),首先必须定义域是凸集,其次通过其Hessian矩阵(Hessian矩阵是由多元函数的二阶导数组成的方阵)的正定性来判断。如果Hessian矩阵是半正定矩阵,则是f(X)凸函数。

4.总结

总结来看:

  • 凸函数判定中首先要保证定义域为凸集合,且保证目标函数为凸函数;关键在于判定凸函数。
  • 一般的凸优化函数形式是min f(x)的形式,那么这时取得的局部极小点就是全局最小点;有时候凸优化(convex)的函数形式为maxf(x)的形式,此时可以将其转换为minf(x)的形式,那么原来的形式只要是凹函数(concave)即可求得局部极大值即全局最大值;
  • 无约束优化问题,如果是一个凸优化问题,那么极值点就是全局最大或者最小点;

你可能感兴趣的:(数学,算法,优化问题,机器学习,算法,分类)