<p>If I understand correctly, you are asking why the label associated with cb_explore is a set of action/probability pairs.</p>

<p>The probability of the label action is used as an importance weight for training. This has the effect of amplifying the updates for actions that are played less frequently, making them less likely to be drowned out by actions played more frequently. </p>

<p>As well, this type of label is very useful during predict-time, because it generates a log that can be used to perform unbiased counterfactual analyses. In other words, by logging the probability of playing each of the actions before sampling (see cb_sample - this implements how a single action/probability vector is sampled, as for example in the ccb reduction: <a href="https://github.com/VowpalWabbit/vowpal_wabbit/blob/master/vowpalwabbit/cb_sample.cc#L37" rel="nofollow noreferrer">https://github.com/VowpalWabbit/vowpal_wabbit/blob/master/vowpalwabbit/cb_sample.cc#L37</a>), we can then use the log to train another policy, and compare how it performs against the original.</p>

<p>See the "A Multi-World Testing Decision Service" paper to describe the mechanism to do unbiased offline experimentation with logged data: <a href="https://arxiv.org/pdf/1606.03966v1.pdf" rel="nofollow noreferrer">https://arxiv.org/pdf/1606.03966v1.pdf</a></p>
cb_explore input format : Use of providing probability value in training
<p>The <code>cb_explore</code> input format requires specifying action:cost:action_probability for each example.
However the cb algorithms within are already trying to learn the optimal policy i.e. probability for each action from the data. Then, why does it need the probability of each action in the input? Is it just for initialization?</p>