Skip to content

A method to search for a subset of best performing items wrt black-box reward function

License

Notifications You must be signed in to change notification settings

yigaza/combinatorial-bandit

This branch is up to date with kayuksel/combinatorial-bandit:master.

Folders and files

NameName
Last commit message
Last commit date

Latest commit

6222821 Β· Jun 7, 2019

History

38 Commits
Feb 12, 2019
Jun 7, 2019
Feb 13, 2019

Repository files navigation

Combinatorial Multi-Armed Bandit

A method for selecting a subset of best items w.r.t. a black-box reward function: Given 𝑁 items, the algorithm searches for an optimal 𝑠𝑒𝑏𝑠𝑒𝑑 of a maximum number of π‘˜ items, which maximizes a blackbox reward function 𝑓(𝑠𝑒𝑏𝑠𝑒𝑑).

The algorithm generates new subset candidates based on the novelty of the items while also considering what is the ratio of presence of an item that exist among the top previously tried subsets (by sorting them wrt rewards achieved).

The algorithm is not yet perfect but just takes few thousand trials to find 4 out of 5 best items from a set of 100 items where one would need to make up to few millions of trials with random search to achieve the same local maximum.

Example Use-case: Select best combination of k stocks out of all US stocks for training an asset allocation model.

About

A method to search for a subset of best performing items wrt black-box reward function

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 100.0%