LTI-Lib latest version v1.9 - last update 10 Apr 2010

lti::hmmTrainer::parameters Class Reference

the parameters for the class hmmTrainer More...

#include <ltiHmmTrainer.h>

Inheritance diagram for lti::hmmTrainer::parameters:
Inheritance graph
[legend]
Collaboration diagram for lti::hmmTrainer::parameters:
Collaboration graph
[legend]

List of all members.

Public Types

enum  poolingType { noPooling, statePooling, modelPooling }
enum  estimatorType { estimMaximumLikelihood, estimStandardDeviation, estimMeanDeviation, estimMeanDeviationRoot }
enum  { minimumSequenceLength = 0, averageSequenceLength = -1 }

Public Member Functions

 parameters ()
 parameters (const parameters &other)
 ~parameters ()
const char * getTypeName () const
parameterscopy (const parameters &other)
parametersoperator= (const parameters &other)
virtual functor::parametersclone () const
virtual bool write (ioHandler &handler, const bool complete=true) const
virtual bool read (ioHandler &handler, const bool complete=true)

Public Attributes

Training termination

These members are the training iteration control parameters.

For experienced users!



int maxIterations
double convergenceThreshold
HMM attributes

These members are the model attributes.



int numberOfStates
int minimumJump
int maximumJump
dvector initialScore
Emission density

Parameters defining the kind of emission density and the estimator to use.



hiddenMarkovModel::scoreType scoreFunction
estimatorType estimatorFunction
double minScalingFactor
Splitting (mixture densities)

These members can be adjusted to change the splitting process, where the density functions are successively divided into smaller ones to describe the actual distribution better.

For intermediate users!



int maxDensities
int reassignmentIterations
int firstSplit
poolingType pooling
int minFramesForSplit

Detailed Description

the parameters for the class hmmTrainer


Member Enumeration Documentation

anonymous enum

special definitions for numberOfStates

Enumerator:
minimumSequenceLength 

uses the minimum length of all sequences as number of states

averageSequenceLength 

uses the average length of all sequences as number of states

Estimator types:.

Enumerator:
estimMaximumLikelihood 

select estimator for given score function (default)

estimStandardDeviation 

standard deviation (gaussian maximum-likelihood)

estimMeanDeviation 

mean absolute deviation (laplacian maximum-likelihood)

estimMeanDeviationRoot 

root of mean absolute deviation (laplacian maximum-likelihood)

Pooling modes.

Enumerator:
noPooling 

don't pool variances

statePooling 

pool variances within one state

modelPooling 

pool variances of a dimension for all states


Constructor & Destructor Documentation

lti::hmmTrainer::parameters::parameters (  ) 

default constructor

Reimplemented from lti::functor::parameters.

lti::hmmTrainer::parameters::parameters ( const parameters other  ) 

copy constructor

Parameters:
other the parameters object to be copied
lti::hmmTrainer::parameters::~parameters (  )  [virtual]

destructor

Reimplemented from lti::functor::parameters.


Member Function Documentation

virtual functor::parameters* lti::hmmTrainer::parameters::clone (  )  const [virtual]

returns a pointer to a clone of the parameters

Implements lti::functor::parameters.

parameters& lti::hmmTrainer::parameters::copy ( const parameters other  ) 

copy the contents of a parameters object

Parameters:
other the parameters object to be copied
Returns:
a reference to this parameters object
const char* lti::hmmTrainer::parameters::getTypeName (  )  const [virtual]

returns name of this type

Reimplemented from lti::functor::parameters.

parameters& lti::hmmTrainer::parameters::operator= ( const parameters other  ) 

copy the contents of a parameters object

Parameters:
other the parameters object to be copied
Returns:
a reference to this parameters object
virtual bool lti::hmmTrainer::parameters::read ( ioHandler handler,
const bool  complete = true 
) [virtual]

read the parameters from the given ioHandler

Parameters:
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.
Returns:
true if write was successful

Reimplemented from lti::functor::parameters.

virtual bool lti::hmmTrainer::parameters::write ( ioHandler handler,
const bool  complete = true 
) const [virtual]

write the parameters in the given ioHandler

Parameters:
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.
Returns:
true if write was successful

Reimplemented from lti::functor::parameters.


Member Data Documentation

Estimation of the HMM parameters is finished, when score enhancement within one iteration is below or equal to convergence threshold for given training data.

Default is 0.0 (iterate, while model score is improving)

Method for estimating the scaling factor (ie spread) of the density functions.

Default: estimMaximumLikelihood

Number of iteration, where splitting is taken into consideration for the first time.

By default, this is set to 0.

Vector of initial scores.

If the size of this vector differs from numberOfStates, the default initialScore is used:

state 0

other states

score

0

oo

(prob)

(1)

(0)

Remember to specify the initialScore as scores (i.e. ~ -ln(p)). Note that the initialScore vector doesn't have to be normalized.

Maximum allowed number of densities per state.

Default = 5

Maximum relative forward jump within HMM.

Default: 2

Maximum number of training iterations.

Default is 0 (iterate, until convergenceThreshold is reached).

Minimum number of observations assigned to a density to be splittable.

Default: 3

Minimum relative forward jump within HMM.

Default: 0 , i.e. loop to current state

Minimum scaling factor.

This is required to avoid very narrow and high density functions, which are obtained, when variation in data is too little.

Default is 0.1

Number of states of the model to be generated.

A value of minimumSequenceLength (0) indicates to pick the size of the shortest observation sequence, averageSequenceLength (-1) picks the average size of all considered observation sequences.

Default: minimumSequenceLength (0)

Pooling means to compute a common scaling factor (spread, variance) for several densities.

You can select to have no pooling, state pooling or model pooling.

Default: noPooling

Number of iterations between two split processes.

A value of 0 will reassign observations until no further changes occur (nope, not yet!).

The default value is 5 (split densities at every 5th iteration).

Density function type to be used for the emission scores.

Default: laplaceScore


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

Generated on Sat Apr 10 15:28:25 2010 for LTI-Lib by Doxygen 1.6.1