forked from misterwindupbird/IBO
-
Notifications
You must be signed in to change notification settings - Fork 0
Interactive Bayesian Optimization
License
kaimast/IBO
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
Interactive Bayesian Optimization with Gaussian Processes. This is the code used for the experiments in my PhD thesis, which is available at https://circle.ubc.ca/bitstream/handle/2429/30519/ubc_2011_spring_brochu_eric.pdf?sequence=3 All files are copyright 2010, 2011 by Eric Brochu and released under the MIT license. See license.txt for details. === INSTALLATION === This package expects you to have Python 2.6.x, NumPy and SciPy installed. An easy way to get it all at once it to download the Enthought Python Distribution from enthought.com. After cloning the repository, you will need to add the package path to your PYTHONPATH. On OS X, I added the following lines to .bash_login: PYTHONPATH=${PYTHONPATH}:/Users/eric/projects/EGOcode/ export PYTHONPATH The package contains C++ code for an OSX dynamic library, though it should be pretty simple to compile it on Linux if need be. This library is optional. It adds no functionality, but it speeds up the algorithm substantially. To build it, jut run make depend make You will then need to add the library path (/path/to/EGOcode/cpp/libs/) to your DYLD_LIBRARY_PATH. To make sure the system is set up properly, run the unittests in EGOcode/ego. There may be warnings if the C++ library is not found, but all tests should pass. === USING THE PACKAGE === The file demo.py provides examples of calling the package. Basically, you create a GaussianProcess if you have direct observations, or PrefGaussianProcess if you have preference observations. You can then add data to the GP, and call maximizeEI() or fastUCBGallery() to find informative query points. The 'bound' argument controls the ranges of the parameters that the queries will return on. If they are set so that the lower bound is equal to the upper bound, that parameter is fixed at the indicated value. For example: >>> fastUCBGallery(GP, [[-1, 1.5], [0.5, 0.5]], 4) will get a gallery of 4 query points over the range [-1, 1.5] for the first parameter, fixing the second parameter at 0.5. Other use cases can be found in the unit tests.
About
Interactive Bayesian Optimization
Resources
License
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published
Languages
- Python 79.5%
- C++ 19.0%
- C 1.2%
- Other 0.3%