前言
优化算法在机器学习,运筹,博弈论等领域是必不可少的算法。尤其是机器学习,模型往往并不复杂,复杂麻烦的往往是优化算法。python里面的scipy.optimize提供了丰富的优化算法。笔者在学习这一部分内容时,少有系统介绍这个包的中文文章。某虽不才,愿奋力一试。
对于大部分应用者而言,优化算法能用效果理想即可,至于里面的弯弯道道,各种证明想想就头疼,于实际应用亦无甚效果。故而,以程序应用为主,原理能不加则不加,不喜勿碰。
如若英文水平可以,则点链接看官方文档即可,无需看我废言。本文的主要逻辑也是继承于此文档。
https://docs.scipy.org/doc/scipy-1.5.1/reference/tutorial/optimize.htmldocs.scipy.orgRosenbrock函数
任何算法需要有个应用的对象,而优化领域最喜欢的小白鼠便是Rosenbrock函数,定义如下:
当其为二元函数时,图像如下: