2.7 数学优化:找到函数的最优解
In [2]:
%matplotlib inline
import numpy as np
作者: Gaël Varoquaux
数学优化处理寻找一个函数的最小值(最大值或零)的问题。在这种情况下,这个函数被称为成本函数,或目标函数,或能量。
这里,我们感兴趣的是使用scipy.optimize来进行黑盒优化: 我们不依赖于我们优化的函数的算术表达式。注意这个表达式通常可以用于高效的、非黑盒优化。
先决条件
- Numpy, Scipy
- matplotlib
也可以看一下: 参考
数学优化是非常 … 数学的。如果你需要性能,那么很有必要读一下这些书:
- Convex Optimization Boyd and Vandenberghe (pdf版线上免费)。
- Numerical Optimization, Nocedal and Wright。 关于梯度下降方法的详细参考。
- Practical Methods of Optimization Fletcher: 擅长挥手解释。
章节内容
- 了解你的问题
- 凸优化 VS 非凸优化
- 平滑问题和非平滑问题
- 嘈杂VS精确的成本函数
- 限制
- 不同最优化方法的回顾
- 入门: 一维最优化
- 基于梯度的方法
- 牛顿和拟牛顿法
- 较少梯度方法
- 全局优化
- 使用scipy优化的操作指南
- 选择一个方法
- 让你的优化器更快
- 计算梯度
- 虚拟练习
- 特殊情境: 非线性最小二乘
- 最小化向量函数的范数
- 曲线拟合
- 有限制的最优化
- 箱边界
- 通用限制