tensorflow / probability

Probabilistic reasoning and statistical analysis in TensorFlow
https://www.tensorflow.org/probability/
Apache License 2.0
4.25k stars 1.1k forks source link

BFGS initial Hessian scaling makes it impossible to call minimization iteratively. #1754

Closed gmjw closed 10 months ago

gmjw commented 1 year ago

As suggested by @m0nzderr in his comment on this commit by @srvasude, the current setup for scaling the initial inverse Hessian estimate when running BFGS makes it impossible to iteratively call bfgs_minimize in a loop, passing in a previous inverse Hessian estimate to the next iteration. This is useful for approximate filtering algorithms where estimates from one iteration are passed in as inputs to the next.

If the initial inverse Hessian scaling could be made optional, this issue would be fixed.

m0nzderr commented 1 year ago

@gmjw Thanks!

gmjw commented 1 year ago

I have a "solution" which involves adding an extra attribute to BfgsOptimizerResults and an extra argument to bfgs.minimize.

I'm not sure if that is ideal/desirable but at least it's a starting point for discussion.

I'll aim to put up a PR fairly soon.