Coder Social home page Coder Social logo

ntienvu / knownoptimum_bo Goto Github PK

View Code? Open in Web Editor NEW
14.0 1.0 3.0 10.95 MB

Release code for ICML2020 Knowing The What But Not The Where in Bayesian Optimization

License: MIT License

Jupyter Notebook 92.11% Python 7.89%
bayesian-optimization gaussian-processes

knownoptimum_bo's Introduction

Knowing The What But Not The Where in Bayesian Optimization

Paper Conference

Introduction

Bayesian optimization has demonstrated impressive success in finding the optimum input x∗ and output f∗ = f(x∗) = max f(x) of a black-box function f. In some applications, however, the optimum output f∗ is known in advance and the goal is to find the corresponding optimum input x∗. In this paper, we consider a new setting in BO in which the knowledge of the optimum output f∗ is available. Our goal is to exploit the knowledge about f∗ to search for the input x∗ efficiently. To achieve this goal, we first transform the Gaussian process surrogate using the information about the optimum output. Then, we propose two acquisition functions, called confidence bound minimization and expected regret minimization. We show that our approaches work intuitively and give quantitatively better performance against standard BO methods. We demonstrate real applications in tuning a deep reinforcement learning algorithm on the CartPole problem and XGBoost on Skin Segmentation dataset in which the optimum values are publicly available.

Visualization

demo_visualization_knowing_the_what.....ipynb

Open In Colab

Running the algorithms in benchmark functions

demo_on_benchmark_functions.ipynb

Open In Colab

Customize your own black-box function

demo_customize_your_own_function.ipynb

Open In Colab

Running the comparison using the baselines in benchmark functions

run_all_benchmark_functions.py

Open In Colab

After running these scripts to reproduce experiments, the results will be stored as pickles files in "pickle_storage" folder. Then, we can plot all the results using scripts in the "plot" folder.

Dependencies

  • numpy >= 1.9.0
  • scipy >= 0.14.0
  • matplotlib >= 3.1.0
  • scikit-learn >= 0.16.1

Paper and Presentation

Visit https://proceedings.icml.cc/static/paper_files/icml/2020/2351-Paper.pdf

Reference

Vu Nguyen and Michael A. Osborne.  "Knowing the what but not the where in Bayesian optimization." International Conference on Machine Learning (ICML), 2020.

knownoptimum_bo's People

Contributors

ntienvu avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.