dai::ParameterEstimation Class Reference

Base class for parameter estimation methods. More...

#include <dai/emalg.h>

Inheritance diagram for dai::ParameterEstimation:

dai::CondProbEstimation

List of all members.

Public Types

typedef ParameterEstimation *(* ParamEstFactory )(const PropertySet &)
 Type of pointer to factory function.

Public Member Functions

virtual ~ParameterEstimation ()
 Virtual destructor for deleting pointers to derived classes.
virtual ParameterEstimationclone () const =0
 Virtual copy constructor.
virtual Prob estimate ()=0
 Estimate the factor using the accumulated sufficient statistics and reset.
virtual void addSufficientStatistics (const Prob &p)=0
 Accumulate the sufficient statistics for p.
virtual size_t probSize () const =0
 Returns the size of the Prob that should be passed to addSufficientStatistics.

Static Public Member Functions

static ParameterEstimationconstruct (const std::string &method, const PropertySet &p)
 General factory method that constructs the desired ParameterEstimation subclass.
static void registerMethod (const std::string &method, const ParamEstFactory &f)
 Register a subclass so that it can be used with construct().

Static Private Member Functions

static void loadDefaultRegistry ()
 Registers default ParameterEstimation subclasses (currently, only CondProbEstimation).

Static Private Attributes

static std::map< std::string,
ParamEstFactory > * 
_registry = NULL
 A static registry containing all methods registered so far.


Detailed Description

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".

Author:
Charles Vaske

Member Typedef Documentation

Type of pointer to factory function.


Constructor & Destructor Documentation

virtual dai::ParameterEstimation::~ParameterEstimation (  )  [inline, virtual]

Virtual destructor for deleting pointers to derived classes.


Member Function Documentation

virtual ParameterEstimation* dai::ParameterEstimation::clone (  )  const [pure virtual]

Virtual copy constructor.

Implemented in dai::CondProbEstimation.

ParameterEstimation * dai::ParameterEstimation::construct ( const std::string &  method,
const PropertySet p 
) [static]

General factory method that constructs the desired ParameterEstimation subclass.

Parameters:
method Name of the subclass that should be constructed;
p Parameters passed to constructor of subclass.
Note:
method should either be in the default registry or should be registered first using registerMethod().
Exceptions:
UNKNOWN_PARAMETER_ESTIMATION_METHOD if the requested method is not registered.

static void dai::ParameterEstimation::registerMethod ( const std::string &  method,
const ParamEstFactory f 
) [inline, static]

Register a subclass so that it can be used with construct().

virtual Prob dai::ParameterEstimation::estimate (  )  [pure virtual]

Estimate the factor using the accumulated sufficient statistics and reset.

Implemented in dai::CondProbEstimation.

virtual void dai::ParameterEstimation::addSufficientStatistics ( const Prob p  )  [pure virtual]

Accumulate the sufficient statistics for p.

Implemented in dai::CondProbEstimation.

virtual size_t dai::ParameterEstimation::probSize (  )  const [pure virtual]

Returns the size of the Prob that should be passed to addSufficientStatistics.

Implemented in dai::CondProbEstimation.

void dai::ParameterEstimation::loadDefaultRegistry (  )  [static, private]

Registers default ParameterEstimation subclasses (currently, only CondProbEstimation).


Member Data Documentation

std::map< std::string, ParameterEstimation::ParamEstFactory > * dai::ParameterEstimation::_registry = NULL [static, private]

A static registry containing all methods registered so far.


The documentation for this class was generated from the following files:

Generated on Thu Aug 5 19:04:05 2010 for libDAI by  doxygen 1.5.5