凸优化——凸优化在数学优化中的特殊地位

Posted 码丽莲梦露

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了凸优化——凸优化在数学优化中的特殊地位相关的知识,希望对你有一定的参考价值。

事实上,优化问题的分水岭不是线性和非线性,而是凸性和非凸性。

——Rockafellar

目录

1 数学优化

1.1 线性规划问题

1.2 凸优化问题

1.3 求解优化问题

2 最小二乘和线性规划

2.1 最小二乘问题

2.1.1最小二乘的应用

 2.2 线性规划

2.2.1 线性规划的应用

3 凸优化

3.1 求解凸优化

3.2 使用凸优化

4 非线性优化

4.1 局部优化

4.2 全局优化

4.3 非凸问题中凸优化的应用


1 数学优化

数学优化问题或者说优化问题可以写成以下形式:

 

     

优化变量目标函数: 约束函数

: 约束上限或者约束边界;

如果在所有满足满足约束的向量中向量对应的目标函数值最小:

即对于任意满足的向量z,有,那么称x*为最优解或者解。

1.1 线性规划问题

注:规划即优化

        目标函数和约束函数都是线性函数,即对任意有:

于是,此问题为线性规划问题,若优化问题不是线性的,则称为非线性规划问题。

1.2 凸优化问题

        凸优化问题中的目标函数和约束函数都是凸函数,即对于任意且满足,,下述不等式成立:

        可以看出凸性是较线性更为一般的性质:线性函数需严格满足等式,凸函数仅仅需要在取特定值的情况下满足不等式。因此,线性规划问题也是凸优化问题,可以将凸优化看成是线性规划的扩展 

1.3 求解优化问题

        即算法,算法的有效性取决于多方面的因素:

(1)目标函数和约束函数的形式;

(2)优化问题所包含的变量和约束个数

(3)一些特殊的结构如稀疏结构(如果某个问题中每个约束函数仅仅取决于为数不多的几个变量,那么此问题称为稀疏的)

2 最小二乘和线性规划

        求解凸优化问题的两种广为人知的算法:最小二乘和线性规划

2.1 最小二乘问题

        最小二乘问题是这样一类优化问题,它没有约束条件(即m=0),目标函数是若干项的平方和,每一项具有形式ax-b,具体形式如下:

求解最小二乘问题可以简化为求解一组线性方程:

最小二乘问题可以在有限时间内进行求解,此时间和成正比,且比例系数已知 

2.1.1最小二乘的应用

        最小二乘问题是回归分析,最优控制以及很多参数估计和数据拟合方法的基础。

        判别一个优化问题是否是最小二乘问题:秩序检验目标函数是否是二次函数(然后检验二次函数是否半正定)。

         为了最小二乘在实际应用中更为灵活,做了以下扩展:

加权最小二乘:

 加权系数wi反映了求和项ax-b的重要程度或者对解的影响程度。在统计应用中,当给定的线性观测值包含不同方差的噪声时,使用加权最小二乘来估计向量x。

正则化:

当x的值较大时,增加的项对其施加一个惩罚,其得到的解比仅优化第一项时更加切合实际。p的取值选择取决于使用者,在统计估计中,当待估计向量x的分布预先知道时,可以采用正则化方法。

 2.2 线性规划

        线性规划问题可以表示为:

        与最小二乘不同,线性规划问题的解并没有一个简单的解释表达形式,也不能给出解决一个线性规划问题所需的算术运算的确切次数。 其求解复杂度实际正比于,但比例系数不好确定,而最小二乘中的比例系数容易确定。

        求解方法主要有:Dantzig的单纯形法和最近发展起来的内点法。

2.2.1 线性规划的应用

        一些应用可以直接表述为线性规划的标准形式。但在很多问题中,原始的优化问题并不是线性规划的标准形式,需要用到一些技巧转换为一个等价的线性规划问题(然后进行求解)。

        例如,考虑Chebyshev逼近问题:

注意:此问题与最小二乘有点像,但最小二乘是ax-b的平方和作为目标函数,而Chebyshev逼近问题中,目标函数为ax-b的绝对值最大的一项。

求解Chebyshev逼近问题等价于求解下列线性规划问题:

               

        由于线性规划求解方便,因此Chebyshev逼近问题较易求解。

尽管判别某个线性规划问题较之最小二乘问题困难一些,我们仍然可以说这是一项容易掌握的技术,因为判别是否可以转化为线性规划问题仅仅需要一些标准的技巧。

3 凸优化

3.1 求解凸优化

        凸优化问题的解没有一个解析表达式,但是,和线性规划问题类似,存在很多有效的算法求解凸优化问题。

3.2 使用凸优化

        与最小二乘和线性规划类似,如果将某个问题表述为凸优化问题,就能迅速求解。虽然有点夸张,我们认为,如果某个实际问题可以表述为凸优化问题,那么事实上已经解决了这个问题。

        此外,凸优化与最小二乘和线性规划在某些方面还有很大差异。比如,判断某个问题为最小二乘非常直接,然而,凸优化问题的识别比较困难;此外,较之线性规划问题,转换为凸优化问题的过程中存在更多的技巧。因此,判断某个问题是否属于凸优化问题或识别那些可以转换为凸优化问题是具有挑战性的工作。

4 非线性优化

        对于一般的非线性规划问题,目标还没有有效的求解方法。现有的用于求解一般线性规划问题的方法都是在放宽某些指标的条件下,采取不同的途径进行求解。

4.1 局部优化

        局部优化对解得最优性放宽了要求,求解迅速,并可以处理大规模问题,往往得到的是一个满意解。

        除(可能)不能找到最优解外,局部优化方法还有一些别的缺点:

(1)需要确定优化变量的初始值,而且初始值的选取非常重要,对局部最优解有着很大的影响。

(2)无法估计局部最优解相比(全局)最优解到底差多大的距离。

(3)局部优化方法对算法的参数值一般也较为敏感,通常需要针对某个具体问题或某类问题进行调整。

        局部优化问题相比最小二乘问题、线性规划问题以及凸优化问题需要更多的技巧。个人需要选择合适的算法,调整算法的参数,选取一个足够好的初始点或提供一个选取初始点的好方法。

        大致来说,局部优化是一种技巧而不是一种技术。

        比较非线性规划中的局部优化方法和凸优化是一种有意思的事情。大部分局部优化方法仅仅要求目标函数和约束函数可微,因此,将实际问题建模为非线性优化问题是相当直接的,当建模完成后,局部优化中的技巧体现在问题的求解上(在寻找一个局部最优点的意义上)。而凸优化相反,技巧和难点体现在描述问题的环节上,一旦问题被建模为凸优化问题,求解过程相对来说就非常简单

4.2 全局优化

        全局优化的求解复杂性和求解规模n和m呈指数增长;在工程设计中,高价值系统或者安全第一系统的最坏情况分析问题和证问题就是采用全局优化的一个例子,因而,全局优化也是很有必要的。

4.3 非凸问题中凸优化的应用

        (1)局部优化中利用凸优化进行初始值的选取

                凸优化与局部优化结合,对非凸问题,首先表述为近似凸优化问题,得到近似问题的精确解,凸优化问题的精确解作为局部优化算法的初始值,求解原凸优化问题。

        (2)非凸优化中的启发式算法

        (3)全局优化的界

以上是关于凸优化——凸优化在数学优化中的特殊地位的主要内容,如果未能解决你的问题,请参考以下文章

机器学习中的数学以及应用

关于凸优化的一些简单概念

优化算法-从梯度下降到深度学习非凸优化

机器学习数学基础 - 最优化方法

凸优化

仿射集与凸集