C# Class Accord.Statistics.Models.Markov.Learning.ContinuousBaumWelchLearning

Baum-Welch learning algorithm for continuous density Hidden Markov Models.
Inheritance: BaumWelchLearningBase, IUnsupervisedLearning
Show file Open project: atosorigin/Kinect Class Usage Examples

Public Methods

Method Description
ContinuousBaumWelchLearning ( ContinuousHiddenMarkovModel model ) : System

Creates a new instance of the Baum-Welch learning algorithm.

Run ( ) : double

Runs the Baum-Welch learning algorithm for hidden Markov models.

Learning problem. Given some training observation sequences O = {o1, o2, ..., oK} and general structure of HMM (numbers of hidden and visible states), determine HMM parameters M = (A, B, pi) that best fit training data.

Protected Methods

Method Description
ComputeForwardBackward ( int index, double &fwd, double &bwd, double &scaling ) : void

Computes the forward and backward probabilities matrices for a given observation referenced by its index in the input training data.

ComputeKsi ( int index, double fwd, double bwd, double scaling ) : void

Computes the ksi matrix of probabilities for a given observation referenced by its index in the input training data.

UpdateEmissions ( ) : void

Updates the emission probability matrix.

Implementations of this method should use the observations in the training data and the Gamma probability matrix to update the probability distributions of symbol emissions.

Private Methods

Method Description
convert ( Array array, int dimension ) : double[][]

Converts a univariate or multivariate array of observations into a two-dimensional jagged array.

Method Details

ComputeForwardBackward() protected method

Computes the forward and backward probabilities matrices for a given observation referenced by its index in the input training data.
protected ComputeForwardBackward ( int index, double &fwd, double &bwd, double &scaling ) : void
index int The index of the observation in the input training data.
fwd double Returns the computed forward probabilities matrix.
bwd double Returns the computed backward probabilities matrix.
scaling double Returns the scaling parameters used during calculations.
return void

ComputeKsi() protected method

Computes the ksi matrix of probabilities for a given observation referenced by its index in the input training data.
protected ComputeKsi ( int index, double fwd, double bwd, double scaling ) : void
index int The index of the observation in the input training data.
fwd double The matrix of forward probabilities for the observation.
bwd double The matrix of backward probabilities for the observation.
scaling double The scaling vector computed in previous calculations.
return void

ContinuousBaumWelchLearning() public method

Creates a new instance of the Baum-Welch learning algorithm.
public ContinuousBaumWelchLearning ( ContinuousHiddenMarkovModel model ) : System
model ContinuousHiddenMarkovModel
return System

Run() public method

Runs the Baum-Welch learning algorithm for hidden Markov models.
Learning problem. Given some training observation sequences O = {o1, o2, ..., oK} and general structure of HMM (numbers of hidden and visible states), determine HMM parameters M = (A, B, pi) that best fit training data.
public Run ( ) : double
return double

UpdateEmissions() protected method

Updates the emission probability matrix.
Implementations of this method should use the observations in the training data and the Gamma probability matrix to update the probability distributions of symbol emissions.
protected UpdateEmissions ( ) : void
return void