357 marginal_options.add(
make_option(
"marginal", marginal).keep().help(
"substitute marginal label estimates for ids"));
358 marginal_options.add(
359 make_option(
"initial_denominator", d->initial_denominator).default_value(1.f).help(
"initial denominator"));
360 marginal_options.add(
361 make_option(
"initial_numerator", d->initial_numerator).default_value(0.5f).help(
"initial numerator"));
362 marginal_options.add(
make_option(
"compete", d->compete).help(
"enable competition with marginal features"));
363 marginal_options.add(
364 make_option(
"update_before_learn", d->update_before_learn).help(
"update marginal values before learning"));
365 marginal_options.add(
make_option(
"unweighted_marginals", d->unweighted_marginals)
366 .help(
"ignore importance weights when computing marginals"));
367 marginal_options.add(
368 make_option(
"decay", d->decay).default_value(0.f).help(
"decay multiplier per event (1e-3 for example)"));
378 for (
size_t u = 0; u < 256; u++)
379 if (marginal.find((
char)u) != std::string::npos)
380 d->id_features[u] =
true;
void save_load(data &sm, io_buf &io, bool read, bool text)
base_learner * make_base(learner< T, E > &base)
virtual void add_and_parse(const option_group_definition &group)=0
std::pair< double, double > marginal
std::unique_ptr< T, free_fn > free_ptr
single_learner * as_singleline(learner< T, E > *l)
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)
virtual bool was_supplied(const std::string &key)=0
typed_option< T > make_option(std::string name, T &location)
LEARNER::base_learner * setup_base(options_i &options, vw &all)