org.encog.ml.hmm.train.bw
Class TrainBaumWelch

java.lang.Object
  extended by org.encog.ml.hmm.train.bw.BaseBaumWelch
      extended by org.encog.ml.hmm.train.bw.TrainBaumWelch
All Implemented Interfaces:
MLTrain

public class TrainBaumWelch
extends BaseBaumWelch

Baum Welch Learning allows a HMM to be constructed from a series of sequence observations. This implementation of Baum Welch does not scale and is susceptible to underflows in long sequences of data. Baum Welch requires a starting point. You should create a HMM that has a reasonable guess as to the observation and transition probabilities. If you can make no such guess, you should consider using KMeans training. L. E. Baum, T. Petrie, G. Soules, and N. Weiss, "A maximization technique occurring in the statistical analysis of probabilistic functions of Markov chains" , Ann. Math. Statist., vol. 41, no. 1, pp. 164-171, 1970. Hidden Markov Models and the Baum-Welch Algorithm, IEEE Information Theory Society Newsletter, Dec. 2003.


Constructor Summary
TrainBaumWelch(HiddenMarkovModel hmm, MLSequenceSet training)
           
 
Method Summary
protected  double[][] estimateGamma(double[][][] xi, ForwardBackwardCalculator fbc)
           
 double[][][] estimateXi(MLDataSet sequence, ForwardBackwardCalculator fbc, HiddenMarkovModel hmm)
           
 ForwardBackwardCalculator generateForwardBackwardCalculator(MLDataSet sequence, HiddenMarkovModel hmm)
           
 
Methods inherited from class org.encog.ml.hmm.train.bw.BaseBaumWelch
addStrategy, canContinue, finishTraining, getError, getImplementationType, getIteration, getMethod, getStrategies, getTraining, isTrainingDone, iteration, iteration, pause, resume, setError, setIteration
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

TrainBaumWelch

public TrainBaumWelch(HiddenMarkovModel hmm,
                      MLSequenceSet training)
Method Detail

estimateGamma

protected double[][] estimateGamma(double[][][] xi,
                                   ForwardBackwardCalculator fbc)
Overrides:
estimateGamma in class BaseBaumWelch

estimateXi

public double[][][] estimateXi(MLDataSet sequence,
                               ForwardBackwardCalculator fbc,
                               HiddenMarkovModel hmm)
Specified by:
estimateXi in class BaseBaumWelch

generateForwardBackwardCalculator

public ForwardBackwardCalculator generateForwardBackwardCalculator(MLDataSet sequence,
                                                                   HiddenMarkovModel hmm)
Specified by:
generateForwardBackwardCalculator in class BaseBaumWelch


Copyright © 2014. All Rights Reserved.