[mlpack-svn] [MLPACK] #162: HMM::Predict() fails on long sequences
MLPACK Trac
trac at coffeetalk-1.cc.gatech.edu
Mon Nov 21 01:26:35 EST 2011
#162: HMM::Predict() fails on long sequences
----------------------+-----------------------------------------------------
Reporter: rcurtin | Owner: rcurtin
Type: defect | Status: new
Priority: critical | Milestone: MLPACK 1.0
Component: MLPACK | Keywords: hmm predict viterbi long sequence floating point small
Blocking: 134 | Blocked By:
----------------------+-----------------------------------------------------
and the reason is that for each time t, a vector of probabilities of the
entire sequence (up until that point) is stored. As the sequence gets
longer, the probabilities get smaller and smaller until finally a double
can't represent them anymore and they become 0.
Once they become zero, the Predict() method will always select class 0,
even if that is not really the case.
A couple options:
* Store the log-likelihood?
* Normalize probabilities at each step?
The correct option is to go with the one that has the least computational
overhead. At the end of the whole sequence, we calculate the log-
likelihood anyway, so that should be considered.
I'm submitting this as a ticket because I want to have something to look
at when I figure out how to solve this and my notebook isn't handy.
--
Ticket URL: <http://trac.research.cc.gatech.edu/fastlab/ticket/162>
MLPACK <www.fast-lab.org>
MLPACK is an intuitive, fast, and scalable C++ machine learning library developed by the FASTLAB at Georgia Tech under Dr. Alex Gray.
More information about the mlpack-svn
mailing list