![]() |
aGrUM 2.3.2
a C++ library for (probabilistic) graphical models
|
the base class for all a priori More...
#include <agrum/BN/learning/priors/prior.h>
Public Member Functions | |
Constructors / Destructors | |
| Prior (const DatabaseTable &database, const Bijection< NodeId, std::size_t > &nodeId2columns=Bijection< NodeId, std::size_t >()) | |
| default constructor | |
| virtual Prior * | clone () const =0 |
| virtual copy constructor | |
| virtual | ~Prior () |
| destructor | |
Accessors / Modifiers | |
| virtual void | setWeight (double weight) |
| sets the weight of the a prior(kind of effective sample size) | |
| double | weight () const |
| returns the weight assigned to the prior | |
| virtual PriorType | getType () const =0 |
| returns the type of the prior | |
| virtual bool | isInformative () const =0 |
| indicates whether the prior is tensorly informative | |
| virtual void | addJointPseudoCount (const IdCondSet &idset, std::vector< double > &counts)=0 |
| adds the prior to a counting vector corresponding to the idset | |
| virtual void | addConditioningPseudoCount (const IdCondSet &idset, std::vector< double > &counts)=0 |
| adds the prior to a counting vector defined over the right hand side of the idset | |
Protected Member Functions | |
| Prior (const Prior &from) | |
| copy constructor | |
| Prior (Prior &&from) | |
| move constructor | |
| Prior & | operator= (const Prior &from) |
| copy operator | |
| Prior & | operator= (Prior &&from) |
| move operator | |
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 | |
|
explicit |
default constructor
| database | the database from which learning is performed. This is useful to get access to the random variables |
| nodeId2Columns | a mapping from the ids of the nodes in the graphical model to the corresponding column in the DatabaseTable. This enables estimating from a database in which variable A corresponds to the 2nd column the parameters of a BN in which variable A has a NodeId of 5. An empty nodeId2Columns bijection means that the mapping is an identity, i.e., the value of a NodeId is equal to the index of the column in the DatabaseTable. |
Referenced by Prior(), Prior(), clone(), operator=(), and operator=().
|
virtual |
destructor
|
protected |
|
protected |
|
pure virtual |
adds the prior to a counting vector defined over the right hand side of the idset
Implemented in gum::learning::BDeuPrior, gum::learning::DirichletPriorFromBN< GUM_SCALAR >, gum::learning::DirichletPriorFromDatabase, gum::learning::NoPrior, and gum::learning::SmoothingPrior.
|
pure virtual |
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.
Implemented in gum::learning::BDeuPrior, gum::learning::DirichletPriorFromBN< GUM_SCALAR >, gum::learning::DirichletPriorFromDatabase, gum::learning::NoPrior, and gum::learning::SmoothingPrior.
|
pure virtual |
virtual copy constructor
Implemented in gum::learning::BDeuPrior, gum::learning::DirichletPriorFromBN< GUM_SCALAR >, gum::learning::DirichletPriorFromDatabase, gum::learning::K2Prior, gum::learning::NoPrior, and gum::learning::SmoothingPrior.
References Prior().
|
pure virtual |
returns the type of the prior
Implemented in gum::learning::BDeuPrior, gum::learning::DirichletPriorFromBN< GUM_SCALAR >, gum::learning::DirichletPriorFromDatabase, gum::learning::NoPrior, and gum::learning::SmoothingPrior.
|
pure virtual |
indicates whether the prior is tensorly informative
Basically, only the NoPrior is uninformative. However, it may happen that, under some circumstances, an 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.
Implemented in gum::learning::BDeuPrior, gum::learning::DirichletPriorFromBN< GUM_SCALAR >, gum::learning::DirichletPriorFromDatabase, gum::learning::NoPrior, and gum::learning::SmoothingPrior.
|
virtual |
sets the weight of the a prior(kind of effective sample size)
Reimplemented in gum::learning::BDeuPrior, gum::learning::DirichletPriorFromBN< GUM_SCALAR >, gum::learning::DirichletPriorFromDatabase, gum::learning::K2Prior, and gum::learning::NoPrior.
References weight().
| double gum::learning::Prior::weight | ( | ) | const |
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().
|
protected |
|
protected |