简介
优化问题是工程实践中经常遇到的一种问题。简单讲,就是搜索优化出一组自变量参数,使得目标函数达到极小值(极大值)。
如何搜索出这组参数呢:这就是优化算法做的事情。不同的优化算法适用于不同的优化问题。
本文简要介绍在python种NM算法来解决局部优化问题。
注意:scipy.optimize中的fmin和minimize都能调用NM算法来优化。两者区别:
- minimize是更通用的优化算法接口,它不仅包含NM算法,也可以调用其他算法;而fmin就只能用NM算法
- minimize中的NM算法多一个adaptive参数,可以提高高维的优化问题的收敛速度
- fmin的一个好处:支持直接返回优化过程中的迭代参数,有助于可视化。
本文用fmin来重新实现一遍minimize的例子。
接口