48#ifndef GUM_LEARNING_DAG_2_BN_LEARNER_H
49#define GUM_LEARNING_DAG_2_BN_LEARNER_H
126 template <
typename GUM_SCALAR =
double >
138 template <
typename GUM_SCALAR =
double >
161 template <
typename GUM_SCALAR >
164 const BayesNet< GUM_SCALAR >& bn);
183 template <
typename 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 <
typename GUM_SCALAR =
double >
244 template <
typename GUM_SCALAR =
double >
245 BayesNet< GUM_SCALAR >
246 _createBN_(ParamEstimator& estimator,
const DAG& dag,
const bool compute_log_likelihood);
256 template <
typename 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.
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
static BayesNet< GUM_SCALAR > createBN(ParamEstimator &estimator, const DAG &dag)
create a BN from a DAG using a one pass generator (typically ML)
DAG2BNLearner(const DAG2BNLearner &from)
copy constructor
BayesNet< GUM_SCALAR > createBNwithEM(ParamEstimator &bootstrap_estimator, ParamEstimator &EM_estimator, const BayesNet< GUM_SCALAR > &bn)
creates a BN using the EM algorithm with the structure specified by bn, initialized by the parameters...
DAG2BNLearner & operator=(DAG2BNLearner &&from)
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(DAG2BNLearner &&from)
move constructor
DAG2BNLearner & operator=(const DAG2BNLearner &from)
copy operator
virtual ~DAG2BNLearner()
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