勾配がわかっている関数を最小化することを含む最適化問題がありますが、任意の時点での目的関数の実際の値は不明です。
BFGSを使用して関数を最適化したいのですが、私が見つけたすべてのBFGS実装では、特にライン探索ステップで、目的の値に関する知識が必要なようです。BFGSのPython(scipy)とC++の両方の実装を見てきました。
もちろん、最急降下法を使用することもできますが、ここで車輪の再発明をしたくありません。
何か案は?
もう少し詳しく: hを最小化したい。しかし、私はhを与えられていません。私が与えられているのはh=f(g)であり、 g(x)の明示的な式です。fは基本的に、gの勾配を、計算するのはそれほど難しくはありませんが、統合することは不可能な、一種のトリッキーな幾何学的な方法で変換します。したがって、 h(x)の勾配を計算するのは非常に簡単ですが、 h( x )の明示的な値を取得するのは困難です。