From 752165ea46a2c06dd740bc4bbb036f1e617e73c3 Mon Sep 17 00:00:00 2001 From: Dongryeol Lee Date: Sat, 11 Dec 2010 18:40:11 +0000 Subject: [PATCH] Getting there. --- .../mixed_logit_dcm/mixed_logit_dcm_dev.h | 28 +++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/fastlib/trunk/contrib/dongryel/thesis_research/mlpack/mixed_logit_dcm/mixed_logit_dcm_dev.h b/fastlib/trunk/contrib/dongryel/thesis_research/mlpack/mixed_logit_dcm/mixed_logit_dcm_dev.h index c843e0e484..32d1fb6f68 100644 --- a/fastlib/trunk/contrib/dongryel/thesis_research/mlpack/mixed_logit_dcm/mixed_logit_dcm_dev.h +++ b/fastlib/trunk/contrib/dongryel/thesis_research/mlpack/mixed_logit_dcm/mixed_logit_dcm_dev.h @@ -16,6 +16,15 @@ void MixedLogitDCM::Init( mlpack::mixed_logit_dcm::MixedLogitDCMArguments < TableType > &arguments_in) { + reference_table_ = arguments_in.reference_table_; + if(arguments_in.query_table_ == arguments_in.reference_table_) { + is_monochromatic_ = true; + query_table_ = reference_table_; + } + else { + is_monochromatic_ = false; + query_table_ = arguments_in.query_table_; + } } template @@ -24,6 +33,25 @@ void MixedLogitDCM::Compute( TableType > &arguments_in, mlpack::mixed_logit_dcm::MixedLogitDCMResult *result_out) { + static const double C = 1.04; + static const double eta = 0.05; + + // The maximum average integration sample size. + static const int R_MAX = 1000; + + // Here is the main entry of the algorithm. + int num_data_samples = + static_cast( + reference_table_->n_entries() * + arguments_in.initial_dataset_sample_rate_); + std::vector num_integration_samples( + num_data_samples, std::max( + static_cast(arguments_in.initial_integration_sample_rate_ * R_MAX), + 36)); + for(int iter = 0; ; iter++) { + + + } } template