-
Hi botorch authors, thanks for developing this amazing framework. I come across to consider using
In the tutorial, there is no specification on the
Assume the following function is called each time to generate the next optimal candidate:
I am generally confused by the optional argument If the argument is optional, does it mean we don't have to specify it for conducting BOPE optimization process? If it is somewhat required to specify in terms of preference optimization, what are the implications if this argument is not specified? Thank you in advance. |
Beta Was this translation helpful? Give feedback.
Replies: 1 comment 2 replies
-
Hi @changkun, thanks for loving BoTorch! You are correct that However, in some cases, we may only want to keep one of the comparison candidate to be the winner from the previous comparison round (or really any manually specified candidate you'd like keep as one of the choices in the comparison). In this case, one can specify This would be useful for cases where optimizing for 2 candidates is too costly or we would like to make the comparison easier for the decision maker by keeping one of the candidates fixed or unchanged (e.g., the winner from last round). |
Beta Was this translation helpful? Give feedback.
Your understanding is correct.
In either case, the model/optimizer takes all historical candidates and their preference choices into consideration. We are always generating two candidates for pairwise comparisons using this acquisition function -- with a choice of whether we want one of them to be a manually specified candidate. If yes, you can specify
previous_winner
(maybe a better name ismanually_selected_candidate
) to be the one you wanna use withq=1
; if you want the acquisition function to select both candidates, you can useq=2
without specifyingprevious_winner
.Winner from the previous round of comparison is just a common way to select such fixed candidate when
q=1
.