Code Monkey home page Code Monkey logo

information-directed-sampling-for-multi-arm-bandit-problems's Introduction

Information Directed Sampling for Multi-Arm Bandit problems

Our work is based on an article from Russo & Van Roy (2018): Learning to optimize via Information Directed Sampling . The aim of this project is to propose a platform that allows to reproduce the experiments of the paper and to easily implement new examples. We first implement classes to implement a general Multi-Arm Bandit setting. Then, we provide some problem specific classes that implements different versions of IDS and some widely-studied algorithms to compare the performance IDS with the results of these algorithms. The aim of these algorithm is to minimize the Bayesian Regret for the specified problem.

General settings: Multi Arm Bandit

In the MAB file we implement the generic class for a Multi Arm Bandit settings. We implemented the algorithms that are not problem specific and some useful function to handle the results of the algorithm.

Specific problem classes

We provide a few classes we settings and functions to run experiments for the problem:

  • FiniteSets: A first algorithm for the case where the parameter space, action space and outcome space are all finites
  • BernoulliMAB: independent Bernoulli arms with parameters drawn uniformly at random.
  • GaussianMAB: independent Gaussian arms where the mean is drawn at random with the gaussian distribution
  • LinearMAB: Linear Gaussian bandit with independent features, this class does not use MAB but a specific class designed for Linear Bandits. All parameters are drawn from Gaussians in this model

How to run Experiments

We provide an expe file with functions that help to run experiments for the pre-cited problems easily. These function are called in the main file, which is designed to help the choice of the arguments in the expe functions.

information-directed-sampling-for-multi-arm-bandit-problems's People

Contributors

afiliot avatar dbaudry avatar yrussac avatar

Stargazers

 avatar

Watchers

 avatar

Forkers

kiminh yffbit

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.