Outcome constraint with a binary outcome #1042
-
Hi all, I'm looking for a principled approach to a new problem I've encountered. I have a multi-objective optimization in which I want to apply an outcome constraint on a binary variable. That is, there is some condition that is sometimes met and sometimes not after evaluating the black-box function, and I want to constrain my optimization to points only where the condition is met. Given the outcome is binary, it doesn't make sense to model it directly with a GP since the normality assumptions will be incorrect and the predictions / uncertainty estimates will certainly be wrong. I think this limits the utility here of ConstrainedMCObjective in the form where it calculates the constraint penalty with a sigmoid on some transformation of the posterior predictive value. Digging into the GPyTorch docs I see this method for performing exact GP classification. My first idea for an approach would be:
Averaged over a number of MC samples, this should have the effect of normalizing the Objective by the probability of meeting the binary constraint. Another possibility is the same setup but treating it like a multi-objective optimization where one objective is the probability of the binary constraint being met. I see that the Dirichlet model is fairly new to GPyTorch and there are no examples of including binary or class-label outcomes in BoTorch. Do you see any inherent problems in this approach? Otherwise, do you have other suggestions? I know another possibility is learning with a Bernoulli likelihood, but this requires SVI, which I imagine could be less than ideal for BO when uncertainty estimates are crucial. Though it seems like it would be simple to incorporate a SingleTaskVariationalGP with a Bernoulli likelihood. Thanks for any suggestions! |
Beta Was this translation helpful? Give feedback.
Replies: 1 comment 1 reply
-
Great and timely question. Using the Dirichlet GP as a classification model and then weighting the objective by the probability of feasibility according to the classification model makes a lot of sense. I believe @dme65 did get some pretty decent results with that approach. Maybe he can share a toy example? Another approach would be to use a SkewGP model (https://arxiv.org/abs/2012.06846), which would allow for exact inference with a Bernoulli likelihood. We (in particular @j-wilson and I) are looking into this, but it might be a bit until we get this into a robust usable state (inference with the SkewGP requires calculating hard MVN CDFs and sampling from linearly constrained Gaussians, which is quite a challenge algorithmically and numerically). |
Beta Was this translation helpful? Give feedback.
Great and timely question.
Using the Dirichlet GP as a classification model and then weighting the objective by the probability of feasibility according to the classification model makes a lot of sense. I believe @dme65 did get some pretty decent results with that approach. Maybe he can share a toy example?
Another approach would be to use a SkewGP model (https://arxiv.org/abs/2012.06846), which would allow for exact inference with a Bernoulli likelihood. We (in particular @j-wilson and I) are looking into this, but it might be a bit until we get this into a robust usable state (inference with the SkewGP requires calculating hard MVN CDFs and sampling from linearly constrained Gaussians, …