276 auto data = scoped_calloc_or_throw<cb_explore>();
279 .add(
make_option(
"cb_explore", data->cbcs.num_actions)
281 .help(
"Online explore-exploit for a <k> action contextual bandit problem"))
282 .
add(
make_option(
"first", data->tau).keep().help(
"tau-first exploration"))
283 .
add(
make_option(
"epsilon", data->epsilon).keep().default_value(0.05
f).help(
"epsilon-greedy exploration"))
284 .
add(
make_option(
"bag", data->bag_size).keep().help(
"bagging-based exploration"))
285 .
add(
make_option(
"cover", data->cover_size).keep().help(
"Online cover based exploration"))
286 .
add(
make_option(
"psi", data->psi).keep().default_value(1.0
f).help(
"disagreement parameter for cover"));
293 uint32_t num_actions = data->cbcs.num_actions;
297 std::stringstream ss;
298 ss << data->cbcs.num_actions;
299 options.
insert(
"cb", ss.str());
306 data->cbcs.scorer = all.
scorer;
312 data->second_cs_label.costs.resize(num_actions);
313 data->second_cs_label.costs.end() = data->second_cs_label.costs.begin() + num_actions;
314 data->cover_probs = v_init<float>();
315 data->cover_probs.resize(num_actions);
316 data->preds = v_init<uint32_t>();
317 data->preds.resize(data->cover_size);
318 l = &
init_learner(data, base, predict_or_learn_cover<true>, predict_or_learn_cover<false>, data->cover_size + 1,
322 l = &
init_learner(data, base, predict_or_learn_bag<true>, predict_or_learn_bag<false>, data->bag_size,
LEARNER::base_learner * cost_sensitive
void(* delete_prediction)(void *)
base_learner * make_base(learner< T, E > &base)
virtual void add_and_parse(const option_group_definition &group)=0
std::shared_ptr< rand_state > get_random_state()
single_learner * as_singleline(learner< T, E > *l)
void set_finish_example(void(*f)(vw &all, T &, E &))
learner< T, E > & init_learner(free_ptr< T > &dat, L *base, void(*learn)(T &, L &, E &), void(*predict)(T &, L &, E &), size_t ws, prediction_type::prediction_type_t pred_type)
void delete_action_scores(void *v)
virtual bool was_supplied(const std::string &key)=0
LEARNER::single_learner * scorer
virtual void insert(const std::string &key, const std::string &value)=0
int add(svm_params ¶ms, svm_example *fec)
typed_option< T > make_option(std::string name, T &location)
LEARNER::base_learner * setup_base(options_i &options, vw &all)
void finish_example(vw &all, cb_explore &c, example &ec)