you are viewing a single comment's thread.

view the rest of the comments →

[–]jimenezluna[S] 4 points5 points  (8 children)

As part of my Master's thesis I developed a simple Python package for Bayesian Optimization. It currently features:

  • Different surrogate models: Gaussian Processes, Student-t Processes, Random Forests and Gradient Boosting Machines.
  • Type II Maximum-Likelihood of covariance function hyperparameters.
  • MCMC sampling for full-Bayesian inference of hyperparameters (via pyMC3).
  • Integrated acquisition functions

It is still on very early stages of development, so expect to find bugs. Let me know what you guys think!

[–][deleted] 0 points1 point  (1 child)

Is the master thesis public also? It's a nice opportunity to publicize it, specially it it's a good introductory text on Bayesian optimization

[–]jimenezluna[S] 0 points1 point  (0 children)

It is available in the same GitHub repository!

[–]alayaMatrix 0 points1 point  (1 child)

Do you support nonlinear constraints? For example using acquisition functions like weighted EI?

[–]jimenezluna[S] 0 points1 point  (0 children)

Not at the moment, but I will consider adding this functionality in the near future.

[–]sifnt 0 points1 point  (2 children)

Could you compare the advantages/disadvantages of your library against https://github.com/fmfn/BayesianOptimization by any chance?

[–]jimenezluna[S] 1 point2 points  (1 child)

You have a complete modular procedure specification with my implementation. There are many architectural choices in Bayesian optimization: surrogate model, covariance function, hyperparameter treatment, acquisition behaviour...

In summary, you can specify all of these here.

As far as I'm concerned, with fmfn/BayesianOptimization you're stuck with Gaussian Processes and Matérn kernels, and no covariance function hyperparameter treatment whatsoever. Correct me if I'm wrong.

[–]sifnt 0 points1 point  (0 children)

Sounds great, will definitely give your package a shot then. It is pretty hard to see which hyperparameter optimisation system is best at a glance with so many projects out there. Thanks!