最优化
数学表述
主要研究以下形式的问题:
这类定式有时还称为“ 数学规划 ”(譬如,线性规划)。许多现实和理论问题都可以建模成这样的一般性框架。
典型的, A {\displaystyle A} 一般为欧几里得空间 R n {\displaystyle \mathbb {R} ^{n}} 中的子集,通常由一个 A {\displaystyle A} 必须满足的约束等式或者不等式来规定。 A {\displaystyle A} 的元素被称为是 可行解 。函数 f {\displaystyle f} 被称为 目标函数 ,或者 代价函数 。一个最小化(或者最大化)目标函数的可行解被称为 最优解 。
一般情况下,会存在若干个局部的极小值或者极大值。局部极小值 x ∗ ∗ --> {\displaystyle x^{*}} 定义为对于一些 δ δ --> > 0 {\displaystyle \delta >0} ,以及所有的 x {\displaystyle x} 满足
公式
成立。这就是说,在 x ∗ ∗ --> {\displaystyle \mathbf {x} ^{*}} 周围的一些闭球上,所有的函数值都大于或者等于在该点的函数值。一般的,求局部极小值是容易的,但是要确保其为全域性的最小值,则需要一些附加性的条件,例如,该函数必须是凸函数。
符号表示
最优化问题通常有一些较特别的符号标示方法。例如:
这是要求表达式 x 2 + 1 {\displaystyle x^{2}+1} 的最小值,这里x取值为全体实数, R {\displaystyle \mathbb {R} } 。这个问题的最小值应该是 1 {\displaystyle 1} ,当 x = 0 {\displaystyle x=0} 。
这是要求表达式 2 x {\displaystyle 2x} 的最大值,同样地, x {\displaystyle x} 在全体实数上取值。对于这个问题,由于该表达式不是有上界的,因此不存在最大值,因此,答案应该是无限大,或者是不可定义的。
这是求使表达式 x +1 达到最小值时x的值。在这里x被限定在区间[-∞ ,-1]之间,所以上式的值是-1。
主要分支
算法
对于无约束的优化问题, 如果函数是二次可微的话,可以通过找到目标函数梯度为0(也就是鞍点)的那些点来解决此优化问题。我们需要用黑塞矩阵来确定此点的类型。如果黑塞矩阵是正定的话,该点是一个局部最小解, 如果是负定的话,该点是一个局部最大解,如果黑塞矩阵是不定的话,该点是某种鞍点。
要找到那些拐点,我们可以通过猜测一个初始点,然后用比如以下的迭代的方法来找到。
梯度下降法
牛顿法
共轭梯度法
线性搜索
置信域方法
如果目标函数在我们所关心的区域中是凸函数的话,那么任何局部最小解也是全局最优解。现在已经有稳定,快速的数值计算方法来求二次可微地凸函数的最小值。
有约束条件的约束问题常常可以通过拉格朗日乘数转化为非约束问题。
其他一些流行的方法有:
模拟退火
遗传算法
类免疫算法
演化策略
差异演化算法
微粒群算法
神经网络
支持向量机
人工智能和最优化
现代的计算机科学技术和人工智能科学把最优化作为一个重要的领域来研究。我们也可以认为人工智能的一些算法,就是模拟了人类寻求实际问题最优解的过程。例如,利用人工智能方法设计软件,配合外部的电子设备例如摄像头识别人脸;利用数据挖掘和神经网络算法来寻找投资的最佳时机等等。
参见
最优化问题
arg max
博弈论
运筹学
模糊逻辑
随机最优化
变分不等式
单体算法
内点法
参考文献
Stephen Boyd and Lieven Vandenberghe (2004).Convex Optimization,Cambridge University Press. ISBN 0-521-83378-7.
免责声明:以上内容版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。感谢每一位辛勤著写的作者,感谢每一位的分享。
- 有价值
- 一般般
- 没价值