48#ifndef GUM_LEARNING_DAG_2_BN_LEARNER_H
49#define GUM_LEARNING_DAG_2_BN_LEARNER_H
126 template < GUM_Numeric GUM_SCALAR =
double >
138 template < GUM_Numeric GUM_SCALAR =
double >
161 template < GUM_Numeric GUM_SCALAR >
164 const BayesNet< GUM_SCALAR >& bn);
183 template < GUM_Numeric GUM_SCALAR >
186 BayesNet< GUM_SCALAR >&& bn);
193#ifndef DOXYGEN_SHOULD_SKIP_THIS
204 double noiseEM_{0.1};
212 double log_likelihood_EM_{0.0};
223 unsigned int max_nb_dec_likelihood_iter_{3};
228 template < GUM_Numeric GUM_SCALAR =
double >
244 template < GUM_Numeric GUM_SCALAR =
double >
245 BayesNet< GUM_SCALAR >
246 _createBN_(ParamEstimator& estimator,
const DAG& dag,
const bool compute_log_likelihood);
256 template < GUM_Numeric GUM_SCALAR >
257 BayesNet< GUM_SCALAR > _performEM_(ParamEstimator& bootstrap_estimator,
258 ParamEstimator& EM_estimator,
259 BayesNet< GUM_SCALAR >&& bn);
A class that, given a structure and a parameter estimator returns a full Bayes net.
A class that, given a structure and a parameter estimator returns a full Bayes net.
A class for parameterizing EM's parameter learning approximations.
aGrUM's Tensor is a multi-dimensional array with tensor operators.
static BayesNet< GUM_SCALAR > createBN(ParamEstimator &estimator, const DAG &dag)
create a BN from a DAG using a one pass generator (typically ML)
EMApproximationScheme & approximationScheme()
returns the approximation policy of the EM learning algorithm
virtual DAG2BNLearner * clone() const
virtual copy constructor
DAG2BNLearner & setNoise(const double noise)
sets the noise amount used to perturb the initial CPTs used by EM
DAG2BNLearner()
default constructor
DAG2BNLearner(DAG2BNLearner &&from) noexcept
move constructor
DAG2BNLearner(const DAG2BNLearner &from)
copy constructor
DAG2BNLearner & operator=(DAG2BNLearner &&from) noexcept
move operator
BayesNet< GUM_SCALAR > createBNwithEM(ParamEstimator &bootstrap_estimator, ParamEstimator &EM_estimator, const DAG &dag)
creates a BN with a given structure (dag) using the EM algorithm
DAG2BNLearner & operator=(const DAG2BNLearner &from)
copy operator
~DAG2BNLearner() override
destructor
EMApproximationScheme(bool verbosity=false)
initializes the EM parameter learning approximation with the min rate criterion
The base class for estimating parameters of CPTs.
include the inlined functions if necessary
gum is the global namespace for all aGrUM entities
the base class for estimating parameters of CPTs