其他分享
首页 > 其他分享> > 最优化问题-概述

最优化问题-概述

作者:互联网

每一天,我们的生活都面临无数的最优化问题: 上班怎么选择乘车路线,才能舒服又快速的到达公司;旅游如何选择航班和宾馆,既省钱又能玩的开心; 跳槽应该选择哪家公司,钱多、事少、离家近,前台妹子颜值高;买房子应该选在哪里,交通发达有学区,生活便利升值快。

可以看出,上面所有的问题都面临无数的选择, 我们会根据自己的偏好对每个选择打一个不同的分数,再从所有的选择中找出最优的一个。这个寻求最优解的过程其实就是最优化问题,我们要打的分数就称为目标函数。

最优化问题往往还要面临一定的约束条件,比如对旅行路线的选择,总花费和出发、到达时间就构成了约束条件,对买房子的选择,离公司的路程、总价也可能构成约束条件。我们选择的最优解也必须满足这些约束条件。

实际上,最优化问题是机器学习、人工智能等问题的基础,也在互联网广告、推荐系统、机器人、无人驾驶等领域有着广泛应用。
之前的文章里也有提到,目前炙手可热的深度学习的兴起也依赖于最优化方法的改进。最优化方法是机器学习中模型训练的基础,机器学习的很大一部分内容就是通过最优化方法找到最合适的参数,使得模型的目标函数最优。

最优化问题-定义

结合上面的例子,最优化问题就可以定义为: 在给定的约束条件下, 选择最优的参数和方案,来使得目标函数最大化/最小化的问题。

最优化问题的主要形式是:

这里可以引出最优化问题的三个基本要素:

最优化问题-举例

一个最简单的最优化问题,就是下面这个例子:

作为一个经典的最优化问题,三个基本要素分别为:

如果大家高中碰到过类似问题的话,应该记得当初的主要思路是

  1. 把 y 表示成 x 的格式:面积 S = x*(60-x)/2

  2. 最大化S,相当于对x求导,求导数等于0的点

  3. 得到x= 30 , y = (60-x)/2 = 15, 最大的面积是450

我们为什么能够这样求解?有几点原因:

  1. 目标函数连续并且可导

  2. 目标函数的一阶导数可以直接求解

  3. 问题是个凸优化问题,有且仅有1个全局最优点

  4. 只有两个变量


 

所以,上面的例子是个比较简单的最优化问题。如果上面的任何一个条件不满足的话,都不能用当前的方法求解,而需要求助于更复杂的方法。

比如, 目标函数不是凸函数时,可能有多个导数为0的点:

又比如,有可能有超过两个变量,那么优化问题就需要同时考虑多个参数,优化问题需要扩展到多维:


 

下面,我们就来介绍一下针对最优化问题的分类,以及对应的不同解法。

最优化问题 - 分类

根据约束条件的种类,最优化问题可以分成以下种类:

而根据目标函数的状态, 最优化问题又可以分成:

最优化问题 - 解法分类和选择

在实际的工作中,我们如何来选择最优化问题的解法呢?

基本的依据有以下几点:

对应上图:

标签:约束条件,选择,函数,目标,问题,概述,最优化
来源: https://blog.csdn.net/kebu12345678/article/details/118757184