Open iaroslav-ai opened 8 years ago
I was wondering about the same problem. Is there an example how to do BO with discrete features? Did you figure it out? It would be great if anyone can help. Thank you.
@heejincs Any luck figuring this out?
I'd also like to know!
All variables are mapped to the [0,1] box. Then, these parameters are:
In the case of integers, the [0,1] interval is split in as many regions as integer values. The acquisition is optimized there and then rounded to the closest value. That gives you the integer value which has to be evaluated.
In the case of categorical variables there is one binary value per category (more dimensions are added). The acquisition is optimized in the corresponding [0,1] box and the category with the highest value is chosen after optimizing the acquisition function.
Do you restrict search in the acquisition function only over feasible (discrete) values? As a gradient descent is at least not obvious to apply in this case, I would imagine one can use a combination of gradient descent and some smart enumeration of discrete parameters. If not, do you do some sort or relaxation over discrete variables? I would greatly appreciate if you would drop a short message on how specifically you optimize, so that I can understand what I should expect in terms of scalability if I have many discrete variables.