C# 클래스 Accord.Statistics.Models.Markov.Learning.BaumWelchLearningBase

Base class for implementations of the Baum-Welch learning algorithm.
파일 보기 프로젝트 열기: atosorigin/Kinect

보호된 메소드들

메소드 설명
BaumWelchLearningBase ( IHiddenMarkovModel model ) : System

Initializes a new instance of the BaumWelchLearningBase class.

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.

HasConverged ( double oldLikelihood, double newLikelihood, int currentIteration ) : bool

Checks if a model has converged given the likelihoods between two iterations of the Baum-Welch algorithm and a criteria for convergence.

Run ( Array observations ) : 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.

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.

메소드 상세

BaumWelchLearningBase() 보호된 메소드

Initializes a new instance of the BaumWelchLearningBase class.
protected BaumWelchLearningBase ( IHiddenMarkovModel model ) : System
model IHiddenMarkovModel
리턴 System

ComputeForwardBackward() 보호된 추상적인 메소드

Computes the forward and backward probabilities matrices for a given observation referenced by its index in the input training data.
protected abstract 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.
리턴 void

ComputeKsi() 보호된 추상적인 메소드

Computes the ksi matrix of probabilities for a given observation referenced by its index in the input training data.
protected abstract 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.
리턴 void

HasConverged() 보호된 메소드

Checks if a model has converged given the likelihoods between two iterations of the Baum-Welch algorithm and a criteria for convergence.
protected HasConverged ( double oldLikelihood, double newLikelihood, int currentIteration ) : bool
oldLikelihood double
newLikelihood double
currentIteration int
리턴 bool

Run() 보호된 메소드

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 Run ( Array observations ) : double
observations System.Array /// The sequences of univariate or multivariate observations used to train the model. /// Can be either of type double[] (for the univariate case) or double[][] for the /// multivariate case. ///
리턴 double

UpdateEmissions() 보호된 추상적인 메소드

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 abstract UpdateEmissions ( ) : void
리턴 void