![]() |
aGrUM 2.3.2
a C++ library for (probabilistic) graphical models
|
A dirichlet priori: computes its N'_ijk from a database. More...
#include <agrum/base/database/DirichletPriorFromBN.h>
Public Member Functions | |
Constructors / Destructors | |
| DirichletPriorFromBN (const DatabaseTable &learning_db, const BayesNet< GUM_SCALAR > *priorbn) | |
| default constructor | |
| DirichletPriorFromBN (const DirichletPriorFromBN &from) | |
| copy constructor | |
| DirichletPriorFromBN (DirichletPriorFromBN &&from) noexcept | |
| move constructor | |
| DirichletPriorFromBN * | clone () const final |
| virtual copy constructor | |
| virtual | ~DirichletPriorFromBN () |
| destructor | |
Operators | |
| DirichletPriorFromBN & | operator= (const DirichletPriorFromBN &from) |
| copy operator | |
| DirichletPriorFromBN & | operator= (DirichletPriorFromBN &&from) |
| move operator | |
Accessors / Modifiers | |
| PriorType | getType () const final |
| returns the type of the prior | |
| bool | isInformative () const final |
| indicates whether the prior is tensorly informative | |
| void | setWeight (double weight) final |
| sets the weight of the a prior(kind of virtual sample size) | |
| void | addJointPseudoCount (const IdCondSet &idset, std::vector< double > &counts) final |
| adds the prior to a counting vector corresponding to the idset | |
| void | addConditioningPseudoCount (const IdCondSet &idset, std::vector< double > &counts) final |
| adds the prior to a counting vector defined over the right hand side of the idset | |
Accessors / Modifiers | |
| double | weight () const |
| returns the weight assigned to the prior | |
Protected Attributes | |
| double | weight_ {1.0} |
| the weight of the prior | |
| const DatabaseTable * | database_ |
| a reference to the database in order to have access to its variables | |
| Bijection< NodeId, std::size_t > | nodeId2columns_ |
| a mapping from the NodeIds of the variables to the indices of the columns in the database | |
Private Member Functions | |
| void | _addCountsForJoint_ (Instantiation &Ijoint, const Set< NodeId > &joint, std::vector< double > &counts) |
Private Attributes | |
| const BayesNet< GUM_SCALAR > * | _prior_bn_ |
A dirichlet priori: computes its N'_ijk from a database.
Definition at line 66 of file DirichletPriorFromBN.h.
| gum::learning::DirichletPriorFromBN< GUM_SCALAR >::DirichletPriorFromBN | ( | const DatabaseTable & | learning_db, |
| const BayesNet< GUM_SCALAR > * | priorbn ) |
default constructor
| bn | the prior bayesian network from which computation is performed. This is useful to get access to the random variables |
| nodeId2priorId | a mapping from the ids of the nodes in the graphical model to the corresponding id in the prior BN. An empty nodeId2Columns bijection means that the mapping is an identity. |
Referenced by DirichletPriorFromBN(), DirichletPriorFromBN(), ~DirichletPriorFromBN(), clone(), operator=(), and operator=().
| gum::learning::DirichletPriorFromBN< GUM_SCALAR >::DirichletPriorFromBN | ( | const DirichletPriorFromBN< GUM_SCALAR > & | from | ) |
|
noexcept |
|
virtual |
|
private |
References _addCountsForJoint_().
Referenced by _addCountsForJoint_().
|
finalvirtual |
adds the prior to a counting vector defined over the right hand side of the idset
Implements gum::learning::Prior.
References addConditioningPseudoCount().
Referenced by addConditioningPseudoCount().
|
finalvirtual |
adds the prior to a counting vector corresponding to the idset
adds the prior to an already created counting vector defined over the union of the variables on both the left and right hand side of the conditioning bar of the idset.
Implements gum::learning::Prior.
References addJointPseudoCount().
Referenced by addJointPseudoCount().
|
finalvirtual |
virtual copy constructor
Implements gum::learning::Prior.
References DirichletPriorFromBN().
|
finalvirtual |
returns the type of the prior
Implements gum::learning::Prior.
References getType().
Referenced by getType().
|
finalvirtual |
indicates whether the prior is tensorly informative
Basically, only the NoPrior is uninformative. However, it may happen that, under some circumstances, a prior, which is usually not equal to the NoPrior, becomes equal to it (e.g., when the weight is equal to zero). In this case, if the prior can detect this case, it shall inform the classes that use it that it is temporarily uninformative. These classes will then be able to speed-up their code by avoiding to take into account the prior in their computations.
Implements gum::learning::Prior.
References isInformative().
Referenced by isInformative().
| DirichletPriorFromBN & gum::learning::DirichletPriorFromBN< GUM_SCALAR >::operator= | ( | const DirichletPriorFromBN< GUM_SCALAR > & | from | ) |
| DirichletPriorFromBN & gum::learning::DirichletPriorFromBN< GUM_SCALAR >::operator= | ( | DirichletPriorFromBN< GUM_SCALAR > && | from | ) |
|
finalvirtual |
sets the weight of the a prior(kind of virtual sample size)
Reimplemented from gum::learning::Prior.
References setWeight(), and gum::learning::Prior::weight().
Referenced by setWeight().
|
inherited |
returns the weight assigned to the prior
Referenced by gum::learning::BDeuPrior::setEffectiveSampleSize(), gum::learning::BDeuPrior::setWeight(), gum::learning::DirichletPriorFromBN< GUM_SCALAR >::setWeight(), gum::learning::DirichletPriorFromDatabase::setWeight(), gum::learning::K2Prior::setWeight(), gum::learning::NoPrior::setWeight(), and setWeight().
|
private |
Definition at line 150 of file DirichletPriorFromBN.h.
|
protectedinherited |
|
protectedinherited |