void expectation_prop::setup_parameters() { alpha = std::vector<double>(numTopics, ALPHA_INIT); dirichlet dir_beta = dirichlet(numTerms, 1.0); Pword = dir_beta.sample(numTopics); beta = std::vector<std::vector<std::vector<double>>>(numDocs); for(int d=0; d<numDocs; ++d){ beta[d] = std::vector<std::vector<double>>(corpus.docs[d].uniqueCount, std::vector<double>(numTopics, 0)); } gamma = std::vector<std::vector<double>>(numDocs, std::vector<double>(numTopics, ALPHA_INIT)); }
float dirichletPhrase(uint32_t tf, uint32_t docLen, long defaultCf, long collectionLength, float MU) { return dirichlet(tf, docLen, defaultCf, collectionLength, MU); }
void set_vector_function_expression(const std::string& variable_name, ParsedFunctionExpression& func) { FieldVariable<0, VectorField> var(variable_name, m_solution_tag); func.set_expression( nodes_expression( dirichlet(var) = func.vector_function() ) ); }
dirichlet var_bayes::setup_alpha() { return dirichlet(numTopics, 1.0/numTopics); }