elfi-dev / elfi

ELFI - Engine for Likelihood-Free Inference
http://elfi.readthedocs.io
BSD 3-Clause "New" or "Revised" License
267 stars 60 forks source link

Update acquisition cost implementation #479

Closed uremes closed 7 months ago

uremes commented 7 months ago

Summary:

This update removes additive_cost from the LCBSC acquisition function and adds an option to extend any acquisition function with an additive or multiplicative term.

Motivation: LCBSC was extended with an option to use additive_cost so that BOLFIRE could model the log-likelihood ratio but calculate acquisition scores based on the estimated log-likelihood ratio + log-prior. This modification made sense at the time since the option was not needed in other acquisition functions. However additive or multiplicative costs could also be used to take into account other information like variable simulation costs or unknown constraints. For example, when we consider robustness to failed simulations, one approach is to scale acquisition values with predicted success probabilities. For this reason, it would be nice to have the option available in all acquisition functions.

We could update all acquisition functions to accept and use additive_cost and multiplicative_cost, but I was worried that this would only clutter the acquisition functions when it's not clear know how much use this option will have. Hence this idea that would allow either additive or multiplicative cost (*) to be combined with any acquisition function without modifications in the acquisition function. Let me know what you think!

(*) renamed to adjustment since our current and planned examples (log-prior and success probabilities) are not really costs

Please make sure

If your contribution adds, removes or somehow changes the functional behavior of the package, please check that

and the proposed changes pass all unit tests (check step 6 of CONTRIBUTING.rst for details)

Copyright and Licensing

Please list the copyright holder for the work you are submitting (this will be you or your assignee, such as a university or company):

By submitting this pull request, the copyright holder is agreeing to license the submitted work under the following licenses: