1

让我们有2个变量的函数:

 z=f(x,y) = ....

你能告诉我任何合适的方法(简单的算法化,快速收敛)来计算某些区间的局部极值或全局极值吗?

谢谢你的帮助。

4

2 回答 2

4

假设您可以计算梯度,梯度下降是寻找函数局部最小值的明智选择。

根据特定领域 - 有时还有其他解决方案。
例如,对于Linear-Least-Squares(用于机器学习领域的回归),您可以找到局部(和全局,在这种情况下的函数是凸的) - 您可以使用正规方程

编辑:正如评论中所建议的:如果您没有关于该功能的任何信息,您可能可以使用爬山算法,在其中对候选人进行采样(您需要采样,因为有无限数量的如果函数是实数的方向) - 并选择最有希望的一个。
您还可以尝试使用数值微分提取导数,并使用梯度下降。

于 2012-09-10T09:37:41.233 回答
3

如果您喜欢由热力学和冶金学的想法驱动的算法,您也可以研究模拟退火。

或者您可能更愿意看遗传算法,因为您喜欢当前生物学知识的爆炸式增长。

于 2012-09-10T09:40:16.290 回答