【发布时间】:2021-04-16 20:06:12
【问题描述】:
lmfit包的minimize function中参数method的各个算法有什么地方有简要说明吗?那里和documentation of SciPy 都没有解释每种算法的细节。现在我知道我可以在它们之间进行选择,但我不知道该选择哪一个......
我目前的问题
我在 Python 中使用 lmfit 来最小化一个函数。我想在有限的预定义范围内最小化函数,其中函数具有以下特征:
- 它几乎处处为零,这使其在数值上几乎处处为零。
- 它在某个点有一个非常非常尖锐的峰值。
- 峰可以在该区域内的任何地方。
这使得许多最小化算法不起作用。现在,我正在使用蛮力方法 (method="brute") 的组合来找到接近峰值的点,然后将此值提供给 Nelder-Mead 算法 (method="nelder") 以最终执行最小化。它大约有 50% 的时间在工作,而另外 50% 的时间它无法找到最小值。我想知道对于这种情况是否有更好的算法......
【问题讨论】:
-
你有看过源码吗?这些算法都在源代码中进行了详尽的描述,如下所示:github.com/scipy/scipy/blob/…。
-
谢谢,我不知道。最好将所有这些信息汇总在某个地方,以便轻松快速地阅读。
标签: python documentation scipy-optimize lmfit