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

lti::hmmTrainer Class Reference

Hidden Markov Model (HMM) trainer. More...

#include <ltiHmmTrainer.h>

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

List of all members.

Classes

class  parameters
 the parameters for the class hmmTrainer More...

Public Member Functions

 hmmTrainer ()
 hmmTrainer (const hmmTrainer &other)
virtual ~hmmTrainer ()
virtual const char * getTypeName () const
void reset ()
void consider (const sequence< dvector > &theSeq)
void consider (const std::vector< sequence< dvector > > &theSequences)
void apply (hiddenMarkovModel &model)
dvector getScoreProgressSequence ()
hmmTrainercopy (const hmmTrainer &other)
hmmTraineroperator= (const hmmTrainer &other)
virtual functorclone () const
const parametersgetParameters () const

Detailed Description

Hidden Markov Model (HMM) trainer.

This class creates a hiddenMarkovModel from a given training set of feature vector sequences.

By default a bakis-topology is chosen (0-1-2 transitions), but this can be changed by redefining minJump and maxJump.

The Viterbi training algorithm, aka segmental K-means, and a mixture density estimator are used to determine the HMM parameters, starting from the user-defined parameters.

See: B.-H. Juang and L. Rabiner, "The segmentation K-means algorithm for estimating %parameters of hidden markov models", IEEE ASSP Magazine, no.9, vol.38, pp.1639-1641,1990.

Note: for computational efficiency probabilities p are not explicitly computed but represented by scores (~ -ln(p)). Note that a high score corresponds to a low probability, i.e. it actually resembles a cost.


Constructor & Destructor Documentation

lti::hmmTrainer::hmmTrainer (  ) 

default constructor

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

copy constructor

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

destructor


Member Function Documentation

void lti::hmmTrainer::apply ( hiddenMarkovModel model  ) 

Generate hiddenMarkovModel from the data in the internal data store, that has been filled with the consider() members so far.

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

returns a pointer to a clone of this functor.

Implements lti::functor.

void lti::hmmTrainer::consider ( const std::vector< sequence< dvector > > &  theSequences  ) 

Consider multiple sequences for computing the hidden markov model.

The sequences are added to an internal data store.

void lti::hmmTrainer::consider ( const sequence< dvector > &  theSeq  ) 

Consider this sequence for computing the hidden markov model.

The sequence is added to an internal data store.

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

copy data of "other" functor.

Parameters:
other the functor to be copied
Returns:
a reference to this functor object

Reimplemented from lti::functor.

const parameters& lti::hmmTrainer::getParameters (  )  const

returns used parameters

Reimplemented from lti::functor.

dvector lti::hmmTrainer::getScoreProgressSequence (  )  [inline]

Get the progress of the total score over training data.

The returned vector contains the scores of each iteration as a result of the training (apply()).

virtual const char* lti::hmmTrainer::getTypeName (  )  const [virtual]

returns the name of this type ("hmmTrainer")

Reimplemented from lti::functor.

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

alias for copy member

Parameters:
other the functor to be copied
Returns:
a reference to this functor object

Reimplemented from lti::functor.

void lti::hmmTrainer::reset (  ) 

Discard sequences considered so far.


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