latest version v1.9 - last update 10 Apr 2010 |
The parameters for the class gaussianMixtureModel. More...
#include <ltiGaussianMixtureModel.h>
Public Member Functions | |
parameters () | |
parameters (const parameters &other) | |
~parameters () | |
const char * | getTypeName () const |
parameters & | copy (const parameters &other) |
virtual bool | write (ioHandler &handler, const bool complete=true) const |
virtual bool | read (ioHandler &handler, const bool complete=true) |
virtual functor::parameters * | clone () const |
Public Attributes | |
int | numberOfComponents |
int | iterations |
bool | forceIterations |
int | partialIterations |
bool | useSM |
T | lambda |
T | emergencyLambda |
int | cMax |
T | epsilon |
bool | reportProgress |
The parameters for the class gaussianMixtureModel.
lti::gaussianMixtureModel< T >::parameters::parameters | ( | void | ) | [inline] |
Default constructor.
Reimplemented from lti::statisticsFunctor::parameters.
References lti::gaussianMixtureModel< T >::parameters::cMax, lti::gaussianMixtureModel< T >::parameters::emergencyLambda, lti::gaussianMixtureModel< T >::parameters::epsilon, lti::gaussianMixtureModel< T >::parameters::forceIterations, lti::gaussianMixtureModel< T >::parameters::iterations, lti::gaussianMixtureModel< T >::parameters::lambda, lti::gaussianMixtureModel< T >::parameters::numberOfComponents, lti::gaussianMixtureModel< T >::parameters::partialIterations, lti::gaussianMixtureModel< T >::parameters::reportProgress, and lti::gaussianMixtureModel< T >::parameters::useSM.
Referenced by lti::gaussianMixtureModel< T >::parameters::clone().
lti::gaussianMixtureModel< T >::parameters::parameters | ( | const parameters & | other | ) | [inline] |
copy constructor
other | the parameters object to be copied |
Reimplemented from lti::statisticsFunctor::parameters.
References lti::gaussianMixtureModel< T >::parameters::copy().
lti::gaussianMixtureModel< T >::parameters::~parameters | ( | ) | [inline, virtual] |
destructor
Reimplemented from lti::statisticsFunctor::parameters.
virtual functor::parameters* lti::gaussianMixtureModel< T >::parameters::clone | ( | ) | const [inline, virtual] |
returns a pointer to a clone of the parameters
Reimplemented from lti::statisticsFunctor::parameters.
References lti::gaussianMixtureModel< T >::parameters::parameters().
parameters& lti::gaussianMixtureModel< T >::parameters::copy | ( | const parameters & | other | ) | [inline] |
copy the contents of a parameters object
other | the parameters object to be copied |
Reimplemented from lti::statisticsFunctor::parameters.
References lti::gaussianMixtureModel< T >::parameters::cMax, lti::statisticsFunctor::parameters::copy(), lti::gaussianMixtureModel< T >::parameters::emergencyLambda, lti::gaussianMixtureModel< T >::parameters::epsilon, lti::gaussianMixtureModel< T >::parameters::forceIterations, lti::gaussianMixtureModel< T >::parameters::iterations, lti::gaussianMixtureModel< T >::parameters::lambda, lti::gaussianMixtureModel< T >::parameters::numberOfComponents, lti::gaussianMixtureModel< T >::parameters::partialIterations, lti::gaussianMixtureModel< T >::parameters::reportProgress, and lti::gaussianMixtureModel< T >::parameters::useSM.
Referenced by lti::gaussianMixtureModel< T >::parameters::parameters().
const char* lti::gaussianMixtureModel< T >::parameters::getTypeName | ( | void | ) | const [inline, virtual] |
returns name of this type
Reimplemented from lti::statisticsFunctor::parameters.
virtual bool lti::gaussianMixtureModel< T >::parameters::read | ( | ioHandler & | handler, | |
const bool | complete = true | |||
) | [inline, virtual] |
read the parameters from the given ioHandler
handler | the ioHandler to be used | |
complete | if true (the default) the enclosing begin/end will be also read, otherwise only the data block will be read. |
Reimplemented from lti::functor::parameters.
References lti::gaussianMixtureModel< T >::parameters::cMax, lti::gaussianMixtureModel< T >::parameters::emergencyLambda, lti::gaussianMixtureModel< T >::parameters::epsilon, lti::gaussianMixtureModel< T >::parameters::iterations, lti::gaussianMixtureModel< T >::parameters::lambda, lti::gaussianMixtureModel< T >::parameters::numberOfComponents, lti::gaussianMixtureModel< T >::parameters::partialIterations, lti::ioHandler::readBegin(), lti::ioHandler::readEnd(), lti::gaussianMixtureModel< T >::parameters::reportProgress, and lti::gaussianMixtureModel< T >::parameters::useSM.
virtual bool lti::gaussianMixtureModel< T >::parameters::write | ( | ioHandler & | handler, | |
const bool | complete = true | |||
) | const [inline, virtual] |
write the parameters in the given ioHandler
handler | the ioHandler to be used | |
complete | if true (the default) the enclosing begin/end will be also written, otherwise only the data block will be written. |
Reimplemented from lti::functor::parameters.
References lti::gaussianMixtureModel< T >::parameters::cMax, lti::gaussianMixtureModel< T >::parameters::emergencyLambda, lti::gaussianMixtureModel< T >::parameters::epsilon, lti::gaussianMixtureModel< T >::parameters::iterations, lti::gaussianMixtureModel< T >::parameters::lambda, lti::gaussianMixtureModel< T >::parameters::numberOfComponents, lti::gaussianMixtureModel< T >::parameters::partialIterations, lti::gaussianMixtureModel< T >::parameters::reportProgress, lti::gaussianMixtureModel< T >::parameters::useSM, lti::ioHandler::writeBegin(), and lti::ioHandler::writeEnd().
int lti::gaussianMixtureModel< T >::parameters::cMax |
This is the maximum number of split-and-merge trials that are done in each SM step.
Referenced by lti::gaussianMixtureModel< T >::parameters::copy(), lti::gaussianMixtureModel< T >::parameters::parameters(), lti::gaussianMixtureModel< T >::parameters::read(), and lti::gaussianMixtureModel< T >::parameters::write().
T lti::gaussianMixtureModel< T >::parameters::emergencyLambda |
This is a factor for regularizing the covariance matrices in emergencies.
An emergency occurs when the determinant of a covariance matrix is almost zero (which often occurs due to numerical problems). In that case, the diagonal of the matrix will be emphasized by this factor, until the determinant becomes reasonable.
Referenced by lti::gaussianMixtureModel< T >::parameters::copy(), lti::gaussianMixtureModel< T >::parameters::parameters(), lti::gaussianMixtureModel< T >::parameters::read(), and lti::gaussianMixtureModel< T >::parameters::write().
T lti::gaussianMixtureModel< T >::parameters::epsilon |
The magnitude of the random perturbation of the split algorithm.
Referenced by lti::gaussianMixtureModel< T >::parameters::copy(), lti::gaussianMixtureModel< T >::parameters::parameters(), lti::gaussianMixtureModel< T >::parameters::read(), and lti::gaussianMixtureModel< T >::parameters::write().
bool lti::gaussianMixtureModel< T >::parameters::forceIterations |
If this is true, the EM always executes the maximum number of iterations, no matter if it converges earlier or not.
Referenced by lti::gaussianMixtureModel< T >::parameters::copy(), and lti::gaussianMixtureModel< T >::parameters::parameters().
int lti::gaussianMixtureModel< T >::parameters::iterations |
This is the maximum number of iterations that the EM algorithm is supposed to be run.
Referenced by lti::gaussianMixtureModel< T >::parameters::copy(), lti::gaussianMixtureModel< T >::parameters::parameters(), lti::gaussianMixtureModel< T >::parameters::read(), and lti::gaussianMixtureModel< T >::parameters::write().
T lti::gaussianMixtureModel< T >::parameters::lambda |
If You use the split-and-merge version, this parameter is used as the regularization constant.
The larger this constant, the more a covariance matrix will be drawn to be the identity matrix.
Referenced by lti::gaussianMixtureModel< T >::parameters::copy(), lti::gaussianMixtureModel< T >::parameters::parameters(), lti::gaussianMixtureModel< T >::parameters::read(), and lti::gaussianMixtureModel< T >::parameters::write().
int lti::gaussianMixtureModel< T >::parameters::numberOfComponents |
This is the number of components of the mixture.
Referenced by lti::gaussianMixtureModel< T >::parameters::copy(), lti::gaussianMixtureModel< T >::parameters::parameters(), lti::gaussianMixtureModel< T >::parameters::read(), and lti::gaussianMixtureModel< T >::parameters::write().
int lti::gaussianMixtureModel< T >::parameters::partialIterations |
This is the maximum number of partial iterations that the SMEM algorithm is supposed to be run.
Referenced by lti::gaussianMixtureModel< T >::parameters::copy(), lti::gaussianMixtureModel< T >::parameters::parameters(), lti::gaussianMixtureModel< T >::parameters::read(), and lti::gaussianMixtureModel< T >::parameters::write().
bool lti::gaussianMixtureModel< T >::parameters::reportProgress |
Is true if the functor should report its result to a progress info object.
Referenced by lti::gaussianMixtureModel< T >::parameters::copy(), lti::gaussianMixtureModel< T >::parameters::parameters(), lti::gaussianMixtureModel< T >::parameters::read(), and lti::gaussianMixtureModel< T >::parameters::write().
bool lti::gaussianMixtureModel< T >::parameters::useSM |
This flag is true, if the estimator should use the Split-and-Merge EM algorithm by Ueda, Nakano, Ghahramani, and Hinton (Neural Computation 12(9), pp.
2109-2128).
Referenced by lti::gaussianMixtureModel< T >::parameters::copy(), lti::gaussianMixtureModel< T >::parameters::parameters(), lti::gaussianMixtureModel< T >::parameters::read(), and lti::gaussianMixtureModel< T >::parameters::write().