I have been trying to understand contextual bandit (CB) algorithms. I am using VW where CB is implemented natively.
Here are some insights about the bandit algorithms.
Tips:
- In VW, contextual bandit learning algorithms consist of two broad classes.
- the first class consists of settings where the maximum number of actions is known ahead of time, and the semantics of these actions stay fixed across examples.
- a more advanced setting allows potentially changing semantics per example. In this latter setting, the actions are specified via features, different features associated with each action. this is referred to as the ADF setting for action dependent features.
References:
- https://github.com/JohnLangford/vowpal_wabbit/wiki/Contextual-Bandit-Example
- https://github.com/JohnLangford/vowpal_wabbit/wiki/Contextual-Bandit-algorithms