我有一个优化问题,涉及最小化我知道其梯度的函数,但是目标函数在任何点的实际值都是未知的。

我想使用BFGS优化功能,但是我发现的所有BFGS实现似乎都需要了解目标值,尤其是在行搜索步骤中。我已经看过BFGS的python(scipy)和C ++实现。

显然,我可以使用梯度下降,但我不想在这里重新发明轮子。

有任何想法吗?

更多详细信息:我想最小化h。但是我没有得到h。我得到的是h = f(g),以及g(x)的明确公式。 f基本上以一种棘手的几何方式变换g的梯度,这种方式很难计算,但无法积分。因此,计算h(x)的梯度非常简单,但是很难获得h(x)的显式值。

最佳答案

我相信您已将问题简化为找到根源之一。您可以使用root finders in scipy之一,然后只需检查该点是最小,最大还是拐点即可。

关于r - 哪些数值优化器只能使用梯度,而没有目标的明确值?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14638606/

10-15 01:54