libDAI
|
Base class for parameter estimation methods. More...
#include <dai/emalg.h>
Public Types | |
typedef ParameterEstimation *(* | ParamEstFactory) (const PropertySet &) |
Type of pointer to factory function. More... | |
Public Member Functions | |
virtual | ~ParameterEstimation () |
Virtual destructor for deleting pointers to derived classes. More... | |
virtual ParameterEstimation * | clone () const =0 |
Virtual copy constructor. More... | |
virtual Prob | estimate (const Prob &p) |
Estimate the factor using the provided expectations. More... | |
virtual Prob | parametersToFactor (const Prob ¶ms)=0 |
Convert a set of estimated parameters to a factor. More... | |
virtual Prob | parameters (const Prob &p)=0 |
Return parameters for the estimated factor, in a format specific to the parameter estimation. More... | |
virtual size_t | probSize () const =0 |
Returns the size of the Prob that should be passed to estimate and parameters. More... | |
virtual const std::string & | name () const =0 |
virtual const PropertySet & | properties () const =0 |
Static Public Member Functions | |
static ParameterEstimation * | construct (const std::string &method, const PropertySet &p) |
General factory method that constructs the desired ParameterEstimation subclass. More... | |
static void | registerMethod (const std::string &method, const ParamEstFactory &f) |
Register a subclass so that it can be used with construct(). More... | |
Static Private Member Functions | |
static void | loadDefaultRegistry () |
Registers default ParameterEstimation subclasses (currently, only CondProbEstimation). More... | |
Static Private Attributes | |
static std::map< std::string, ParamEstFactory > * | _registry = NULL |
A static registry containing all methods registered so far. More... | |
Base class for parameter estimation methods.
This class defines the general interface of parameter estimation methods.
Implementations of this interface (see e.g. CondProbEstimation) should register a factory function (virtual constructor) via the static registerMethod() function. This factory function should return a pointer to a newly constructed object, whose type is a subclass of ParameterEstimation, and gets as input a PropertySet of parameters. After a subclass has been registered, instances of it can be constructed using the construct() method.
Implementations are responsible for collecting data from a probability vector passed to it from a SharedParameters container object.
The default registry only contains CondProbEstimation, named "CondProbEstimation".
typedef ParameterEstimation*(* dai::ParameterEstimation::ParamEstFactory) (const PropertySet &) |
Type of pointer to factory function.
|
inlinevirtual |
Virtual destructor for deleting pointers to derived classes.
|
pure virtual |
Virtual copy constructor.
Implemented in dai::CondProbEstimation.
|
static |
General factory method that constructs the desired ParameterEstimation subclass.
method | Name of the subclass that should be constructed; |
p | Parameters passed to constructor of subclass. |
UNKNOWN_PARAMETER_ESTIMATION_METHOD | if the requested method is not registered. |
|
inlinestatic |
Register a subclass so that it can be used with construct().
Estimate the factor using the provided expectations.
Convert a set of estimated parameters to a factor.
Implemented in dai::CondProbEstimation.
Return parameters for the estimated factor, in a format specific to the parameter estimation.
Implemented in dai::CondProbEstimation.
|
pure virtual |
Returns the size of the Prob that should be passed to estimate and parameters.
Implemented in dai::CondProbEstimation.
|
staticprivate |
Registers default ParameterEstimation subclasses (currently, only CondProbEstimation).
|
staticprivate |
A static registry containing all methods registered so far.