secondmind-labs / trieste

A Bayesian optimization toolbox built on TensorFlow
Apache License 2.0
212 stars 41 forks source link

Multivariate Gaussian CDF function #66

Open vpicheny opened 3 years ago

vpicheny commented 3 years ago

Describe the feature you'd like This CDF is not analytically available and requires an SMC algorithm. The SOTA algorithms are available here in Fortran: http://www.math.wsu.edu/faculty/genz/homepage

Feature: a tensorflow routine that, for a given mu [n ,1] and Sigma [n, n] tensors and a set of thresholds T [n,] returns a scalar corresponding to the CDF value (aka orthant probability).

Definition of done: The CDF routine + a set of tests. Values from the tests can be obtained by running the SOTA Fortran code.

Is your feature request related to a problem? Please describe. The multivariate Gaussian CDF is critical for some existing acq functions in the literature, for instance batch-EI or for some active learning acquisitions. It is also useful to fit classification models with sharp link functions (that could be used for the failure notebook).

joelberkeley commented 3 years ago

Values from the tests can be obtained by running the SOTA Fortran code.

what guarantees do we have that that code is accurate?

stratisMarkou commented 1 year ago

This gist implements Genz's algorithm in TF. Happy to help add this to trieste!