算法,找到局部/全局最小值,2个变量的函数

时间:2012-09-10 09:36:19

标签: algorithm function minimum

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

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

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

感谢您的帮助。

2 个答案:

答案 0 :(得分:4)

假设你可以计算梯度,

Gradient Descent是找到函数局部最小值的明智选择。

取决于具体的领域 - 有时还有其他解决方案。
例如,对于Linear-Least-Squares(用于机器学习领域的回归),你可以找到local(和global,在这种情况下函数是凸的) - 你可以使用{{3 }}

编辑:根据评论中的建议:如果您对该功能没有任何信息,您可以使用normal equations。对候选人进行抽样调查(你需要抽样,因为如果函数是实数,则有无数个方向) - 并选择最有希望的一个。
您也可以尝试使用hill climbing algorithm 以数字方式提取衍生词,并使用渐变下降。

答案 1 :(得分:3)

如果你喜欢由热力学和冶金学思想驱动的算法,你也可以研究simulated annealing

或许你更愿意看genetic algorithms,,因为你喜欢当前生物学知识的爆炸性增长。