[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