|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.encog.ml.hmm.alog.ForwardBackwardCalculator
public class ForwardBackwardCalculator
The forward-backward algorithm is an inference algorithm for hidden Markov models which computes the posterior marginals of all hidden state variables given a sequence of observations.
Nested Class Summary | |
---|---|
static class |
ForwardBackwardCalculator.Computation
|
Field Summary | |
---|---|
protected double[][] |
alpha
Alpha matrix. |
protected double[][] |
beta
Beta matrix. |
protected double |
probability
Probability. |
Constructor Summary | |
---|---|
protected |
ForwardBackwardCalculator()
Construct an empty object. |
|
ForwardBackwardCalculator(MLDataSet oseq,
HiddenMarkovModel hmm)
Construct the forward/backward calculator. |
|
ForwardBackwardCalculator(MLDataSet oseq,
HiddenMarkovModel hmm,
EnumSet<ForwardBackwardCalculator.Computation> flags)
Construct the object. |
Method Summary | |
---|---|
double |
alphaElement(int t,
int i)
Alpha element. |
double |
betaElement(int t,
int i)
Beta element, best element. |
protected void |
computeAlpha(HiddenMarkovModel hmm,
MLDataSet oseq)
Compute alpha. |
protected void |
computeAlphaInit(HiddenMarkovModel hmm,
MLDataPair o,
int i)
Compute the alpha init. |
protected void |
computeAlphaStep(HiddenMarkovModel hmm,
MLDataPair o,
int t,
int j)
Compute the alpha step. |
protected void |
computeBeta(HiddenMarkovModel hmm,
MLDataSet oseq)
Compute the beta step. |
protected void |
computeBetaStep(HiddenMarkovModel hmm,
MLDataPair o,
int t,
int i)
Compute the beta step. |
double |
probability()
|
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
protected double[][] alpha
protected double[][] beta
protected double probability
Constructor Detail |
---|
protected ForwardBackwardCalculator()
public ForwardBackwardCalculator(MLDataSet oseq, HiddenMarkovModel hmm)
oseq
- The sequence to use.hmm
- THe hidden markov model to use.public ForwardBackwardCalculator(MLDataSet oseq, HiddenMarkovModel hmm, EnumSet<ForwardBackwardCalculator.Computation> flags)
oseq
- The sequence.hmm
- The hidden markov model to use.flags
- Flags, alpha or beta.Method Detail |
---|
public double alphaElement(int t, int i)
t
- The row.i
- The column.
public double betaElement(int t, int i)
t
- From.i
- To.
protected void computeAlpha(HiddenMarkovModel hmm, MLDataSet oseq)
hmm
- The hidden markov model.oseq
- The sequence.protected void computeAlphaInit(HiddenMarkovModel hmm, MLDataPair o, int i)
hmm
- THe hidden markov model.o
- The element.i
- The state.protected void computeAlphaStep(HiddenMarkovModel hmm, MLDataPair o, int t, int j)
hmm
- The hidden markov model.o
- The sequence element.t
- The alpha step.j
- Thr column.protected void computeBeta(HiddenMarkovModel hmm, MLDataSet oseq)
hmm
- The hidden markov model.oseq
- The sequence.protected void computeBetaStep(HiddenMarkovModel hmm, MLDataPair o, int t, int i)
hmm
- The hidden markov model.o
- THe data par to compute.t
- THe matrix row.i
- THe matrix column.public double probability()
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |