experimental-design / bofire

Experimental design and (multi-objective) bayesian optimization.
https://experimental-design.github.io/bofire/
BSD 3-Clause "New" or "Revised" License
208 stars 22 forks source link

Hyperparameter Optimization for Trainable Surrogates #239

Closed jduerholt closed 1 year ago

jduerholt commented 1 year ago

This PR adds the possibility to optimize hyperparameters of bofire surrogates in an easy manner with bofire. For this purpose, trainable surrogates can have a configuration object attached in which the hyperparameters and its ranges etc. are defined, together with a method how to update them.

Changing this configuration object which is part of the surrogate's data model allows to tweak the applied hyperparameter optimization.

Furthermore, this PR adds:

In a next step, one could enable automatic hyperparameter optimization also in strategies.

R-M-Lee commented 1 year ago

Looks great by the way. What do you think about allowing GroupKFold in addition to KFold, or even allowing the user to specify their own cross validation iterator?

jduerholt commented 1 year ago

Thx @R-M-Lee, I like your suggestion, we should have KFold data models for exactly this. But I would prefer to do this in a seperate PR, as I want to have this one in asap.

If this PR looks ok for you, can you approve it, so that I can merge it in.

bertiqwerty commented 1 year ago

If Robert says it looks great, we can approve it I guess :)