com.ailab.hmm
Class Hmm
java.lang.Object
|
+--com.ailab.hmm.Hmm
- public class Hmm
- extends java.lang.Object
- implements java.io.Serializable
Hidden Markov model.
This class adds a sequence of observed symbols to the class Model.
Please refer to Rabiner 1989.
- See Also:
- Serialized Form
Constructor Summary |
Hmm()
|
Hmm(boolean bRandomize)
|
Hmm(int lobseq)
|
Hmm(int lobseq,
boolean bRandomize)
|
Hmm(int lobseq,
int nstates,
int nsymbols)
|
Hmm(int lobseq,
int nstates,
int nsymbols,
boolean bRandomize)
|
Hmm(int lobseq,
int nstates,
int nsymbols,
int llb,
int urb)
|
Hmm(int lobseq,
int nstates,
int nsymbols,
int llb,
int urb,
boolean bRandomize)
|
Hmm(int lobseq,
java.lang.String file)
|
Hmm(java.lang.String file)
|
Methods inherited from class java.lang.Object |
clone,
equals,
finalize,
getClass,
hashCode,
notify,
notifyAll,
toString,
wait,
wait,
wait |
Hmm
public Hmm()
Hmm
public Hmm(boolean bRandomize)
Hmm
public Hmm(int lobseq)
Hmm
public Hmm(int lobseq,
boolean bRandomize)
Hmm
public Hmm(int lobseq,
int nstates,
int nsymbols)
Hmm
public Hmm(int lobseq,
int nstates,
int nsymbols,
boolean bRandomize)
Hmm
public Hmm(int lobseq,
int nstates,
int nsymbols,
int llb,
int urb)
Hmm
public Hmm(int lobseq,
int nstates,
int nsymbols,
int llb,
int urb,
boolean bRandomize)
Hmm
public Hmm(java.lang.String file)
Hmm
public Hmm(int lobseq,
java.lang.String file)
viterbiAlgorithm
public double viterbiAlgorithm()
getNumStates
public int getNumStates()
getNumSymbols
public int getNumSymbols()
getLenObSeq
public int getLenObSeq()
initializeModel
public void initializeModel()
initializeModel
public void initializeModel(boolean bRandomize)
setObSeq
public void setObSeq()
setObSeq
public void setObSeq(boolean bRandomize)
setObSeq
public void setObSeq(int[] seq)
getObSeq
public int getObSeq(int t)
getObSeq
public int[] getObSeq()
baumWelchAlgorithm
public double baumWelchAlgorithm()
baumWelchAlgorithm
public double baumWelchAlgorithm(double min_error)
generateSeq
public int[] generateSeq()
getObSeqProbability
public double getObSeqProbability()
- Three canonical questions of HMM a la Ferguson-Rabiner.
[1] Given the observation sequence obSeq and a model lambda,
what is the probability of the given sequence given lambda?
- Returns:
- Probability of the given sequence given lambda
getMaxLikelyState
public int[] getMaxLikelyState()
- Three canonical questions of HMM a la Ferguson-Rabiner.
[2] Given the observation sequence obSeq and a model lambda,
what is the "optimal" sequence of hidden states?
- Returns:
- Most likely sequence of hidden states
optimizeLambda
public double optimizeLambda()
- Three canonical questions of HMM a la Ferguson-Rabiner.
[3] How do we adjust the model parameters lambda
to maximize the likelihood of the given sequence obSeq?
- Returns:
- Locally optimal likelihood value of the given sequence
main
public static void main(java.lang.String[] args)