org.encog.ml.hmm.train.bw
Class TrainBaumWelch
java.lang.Object
org.encog.ml.hmm.train.bw.BaseBaumWelch
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.
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 |
TrainBaumWelch
public TrainBaumWelch(HiddenMarkovModel hmm,
MLSequenceSet training)
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.