All Projects → probprog → deodorant

probprog / deodorant

Licence: other
Deodorant: Solving the problems of Bayesian Optimization

Programming Languages

clojure
4091 projects

Projects that are alternatives of or similar to deodorant

Gpstuff
GPstuff - Gaussian process models for Bayesian analysis
Stars: ✭ 106 (+606.67%)
Mutual labels:  bayesian-inference, bayesian-optimization
Bopp
BOPP: Bayesian Optimization for Probabilistic Programs
Stars: ✭ 112 (+646.67%)
Mutual labels:  bayesian-inference, bayesian-optimization
approxposterior
A Python package for approximate Bayesian inference and optimization using Gaussian processes
Stars: ✭ 36 (+140%)
Mutual labels:  bayesian-inference, bayesian-optimization
kernel-ep
UAI 2015. Kernel-based just-in-time learning for expectation propagation
Stars: ✭ 16 (+6.67%)
Mutual labels:  bayesian-inference
TrendinessOfTrends
The Trendiness of Trends
Stars: ✭ 14 (-6.67%)
Mutual labels:  bayesian-inference
mindware
An efficient open-source AutoML system for automating machine learning lifecycle, including feature engineering, neural architecture search, and hyper-parameter tuning.
Stars: ✭ 34 (+126.67%)
Mutual labels:  bayesian-optimization
bayesian-stats-with-R
Material for a workshop on Bayesian stats with R
Stars: ✭ 55 (+266.67%)
Mutual labels:  bayesian-inference
differential-privacy-bayesian-optimization
This repo contains the underlying code for all the experiments from the paper: "Automatic Discovery of Privacy-Utility Pareto Fronts"
Stars: ✭ 22 (+46.67%)
Mutual labels:  bayesian-optimization
NestedSamplers.jl
Implementations of single and multi-ellipsoid nested sampling
Stars: ✭ 32 (+113.33%)
Mutual labels:  bayesian-inference
cpnest
Parallel nested sampling
Stars: ✭ 21 (+40%)
Mutual labels:  bayesian-inference
DynamicHMCExamples.jl
Examples for Bayesian inference using DynamicHMC.jl and related packages.
Stars: ✭ 33 (+120%)
Mutual labels:  bayesian-inference
LogDensityProblems.jl
A common framework for implementing and using log densities for inference.
Stars: ✭ 26 (+73.33%)
Mutual labels:  bayesian-inference
stan-ja
Stanマニュアルの日本語への翻訳プロジェクト
Stars: ✭ 53 (+253.33%)
Mutual labels:  bayesian-inference
PyLDA
A Latent Dirichlet Allocation implementation in Python.
Stars: ✭ 51 (+240%)
Mutual labels:  bayesian-inference
autoencoders tensorflow
Automatic feature engineering using deep learning and Bayesian inference using TensorFlow.
Stars: ✭ 66 (+340%)
Mutual labels:  bayesian-inference
PHYSBO
PHYSBO -- optimization tools for PHYsics based on Bayesian Optimization
Stars: ✭ 40 (+166.67%)
Mutual labels:  bayesian-optimization
keras gpyopt
Using Bayesian Optimization to optimize hyper parameter in Keras-made neural network model.
Stars: ✭ 56 (+273.33%)
Mutual labels:  bayesian-optimization
ReactiveMP.jl
Julia package for automatic Bayesian inference on a factor graph with reactive message passing
Stars: ✭ 58 (+286.67%)
Mutual labels:  bayesian-inference
LDA thesis
Hierarchical, multi-label topic modelling with LDA
Stars: ✭ 49 (+226.67%)
Mutual labels:  bayesian-inference
bayesopt-tutorial-r
Tutorial on Bayesian optimization in R
Stars: ✭ 15 (+0%)
Mutual labels:  bayesian-optimization

Deodorant: Solving the problems of BO

Deodorant is a Bayesian optimization package with three core features:

  1. Domain scaling to exploit problem independent GP hyperpriors
  2. A non-stationary mean function to allow unbounded optimization
  3. External provision of the acquisition function optimizer so that this can incorporate the constraints of the problem (inc equality constraints) and ensure that no invalid points are evaluated.

The main intended use of the package at present is as the BO component for BOPP:

Rainforth, T., Le, T. A., van de Meent, J.-W., Osborne, M. A., & Wood, F. (2016). Bayesian Optimization for Probabilistic Programs. In Advances in Neural Information Processing Systems.

@incollection{rainforth2016bayesian,
    title = {Bayesian Optimization for Probabilistic Programs},
    author = {Rainforth, Tom and Le, Tuan Anh and van de Meent, Jan-Willem and Osborne, Michael A and Wood, Frank},
    booktitle = {Advances in Neural Information Processing Systems 29},
    pages = {280--288},
    year = {2016},
    url = {http://papers.nips.cc/paper/6421-bayesian-optimization-for-probabilistic-programs.pdf}
}

which provides all the required inputs automatically given a program. Even when the intention is simply optimization, using BOPP rather than Deodorant directly is currently recommended. The rational of providing Deodorant as its own independent package is to separate out the parts of BOPP that are Anglican dependent and those that are not. As such, one may wish to integrate Deodorant into another similar package that provides all the required inputs.

For details on the working of Deodorant, the previously referenced paper and its supplementary material should be consulted.

Installation

To use Deodorant in your own Leiningen projects, just include the dependency in your project.clj:

(defproject foo
  ...
  :dependencies [...
                 [deodorant "0.1.3"]
                 ...])

In your Clojure files, remember to require functions from core.clj, e.g.:

(ns bar
  (require [deodorant.core :refer :all]))

The full documentation can be found here. Checkout core/deodorant in particular.

Though Deodorant has no direct dependency on Anglican, it has the same requirements in terms of java, Leiningen etc and so we refer the reader to http://www.robots.ox.ac.uk/~fwood/anglican/usage/index.html and recommend that users follow section 2 in the user start up guide. The above link is also a good starting point for further links on Clojure etc.

License

Copyright © Tom Rainforth, Tuan Anh Le, Jan-Willem van de Meent, Michael Osborne and Frank Wood

Deodorant is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

Deodorant is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with Deodorant. If not, see http://www.gnu.org/licenses/.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].