diff options
author | John Langford <jl@hunch.net> | 2014-01-22 22:06:36 +0400 |
---|---|---|
committer | John Langford <jl@hunch.net> | 2014-01-22 22:06:36 +0400 |
commit | d3b2ed2ae9b13ad61bcd158a36fd96f8ccf14b03 (patch) | |
tree | 326d9a8d9aac03b19bb72fd71d41797bd42e1ece /vowpalwabbit/cbify.cc | |
parent | d9dc5a66fac5d62468079257008c5f3c3f371860 (diff) |
more pointer to ref conversion
Diffstat (limited to 'vowpalwabbit/cbify.cc')
-rw-r--r-- | vowpalwabbit/cbify.cc | 40 |
1 files changed, 20 insertions, 20 deletions
diff --git a/vowpalwabbit/cbify.cc b/vowpalwabbit/cbify.cc index 587ad944..3f62a3ef 100644 --- a/vowpalwabbit/cbify.cc +++ b/vowpalwabbit/cbify.cc @@ -17,10 +17,10 @@ namespace CBIFY { CB::label cb_label; }; - void do_uniform(cbify* data, example& ec) + void do_uniform(cbify& data, example& ec) { //Draw an action - uint32_t action = (uint32_t)ceil(frand48() * data->k); + uint32_t action = (uint32_t)ceil(frand48() * data.k); ec.final_prediction = (float)action; } @@ -36,21 +36,21 @@ namespace CBIFY { } template <bool is_learn> - void predict_or_learn_first(cbify* data, learner& base, example& ec) + void predict_or_learn_first(cbify& data, learner& base, example& ec) {//Explore tau times, then act according to optimal. OAA::mc_label* ld = (OAA::mc_label*)ec.ld; //Use CB to find current prediction for remaining rounds. - if (data->tau > 0) + if (data.tau > 0) { do_uniform(data, ec); do_loss(ec); - data->tau--; + data.tau--; cout << "tau--" << endl; uint32_t action = (uint32_t)ec.final_prediction; - CB::cb_class l = {ec.loss, action, 1.f / data->k}; - data->cb_label.costs.erase(); - data->cb_label.costs.push_back(l); - ec.ld = &(data->cb_label); + CB::cb_class l = {ec.loss, action, 1.f / data.k}; + data.cb_label.costs.erase(); + data.cb_label.costs.push_back(l); + ec.ld = &(data.cb_label); if (is_learn) base.learn(ec); else @@ -60,8 +60,8 @@ namespace CBIFY { } else { - data->cb_label.costs.erase(); - ec.ld = &(data->cb_label); + data.cb_label.costs.erase(); + ec.ld = &(data.cb_label); if (is_learn) base.learn(ec); else @@ -72,21 +72,21 @@ namespace CBIFY { } template <bool is_learn> - void predict_or_learn_greedy(cbify* data, learner& base, example& ec) + void predict_or_learn_greedy(cbify& data, learner& base, example& ec) {//Explore uniform random an epsilon fraction of the time. OAA::mc_label* ld = (OAA::mc_label*)ec.ld; - data->cb_label.costs.erase(); - ec.ld = &(data->cb_label); + data.cb_label.costs.erase(); + ec.ld = &(data.cb_label); base.predict(ec); do_loss(ec); uint32_t action = (uint32_t)ec.final_prediction; - float base_prob = data->epsilon / data->k; - if (frand48() < 1. - data->epsilon) + float base_prob = data.epsilon / data.k; + if (frand48() < 1. - data.epsilon) { - CB::cb_class l = {ec.loss, action, 1.f - data->epsilon + base_prob}; - data->cb_label.costs.push_back(l); + CB::cb_class l = {ec.loss, action, 1.f - data.epsilon + base_prob}; + data.cb_label.costs.push_back(l); } else { @@ -94,14 +94,14 @@ namespace CBIFY { do_loss(ec); action = (uint32_t)ec.final_prediction; CB::cb_class l = {ec.loss, (uint32_t)ec.final_prediction, base_prob}; - data->cb_label.costs.push_back(l); + data.cb_label.costs.push_back(l); } if (is_learn) base.learn(ec); ec.final_prediction = (float)action; - ec.loss = data->cb_label.costs[0].cost; + ec.loss = data.cb_label.costs[0].cost; ec.ld = ld; } |