pmtk3
pmtk3 copied to clipboard
hmmFit and MixedGaussTied
From [email protected] on October 19, 2012 17:55:16
What steps will reproduce the problem? 1. Fit a HMM model using MixGaussTied 2. 3. What is the expected output? What do you see instead? As the help describes, the model should output a matrix model.emission.M such that M(j,k) = p(Mt = k| St=j) where Mt is the mixture. Therefore, truly M's ROWS and not COLUMNS should sum to 1. This is necessary in order for the other equation in the help to be true, that is P(Xt |St =i) = Sum_m P(Mt = m |St =i) gauss(Xt |mu(m), Sigma(m) ). Note then that in the above equation it is necessary for Sum_m P(Mt = m|St = i) = 1, otherwise we aren't normalizing the probability correctly. But note that this sum over index m, corresponds to summing ROW i of matrix M. However the output of this algorithm is always a matrix M that has its COLUMNS summing to 1. But this makes no sense, because this is a sum over the mixture weight of certain component across states. Instead what we truly want is to have a matrix M, with each row telling us the mixing components of the mixture, and this components should sum to 1 for each state (i.e. for each row). What version / revision of the product are you using? On what operating system? Linux, version from 3Jan11. Please provide any additional information below.
Original issue: http://code.google.com/p/pmtk3/issues/detail?id=47
From [email protected] on October 19, 2012 15:05:41
Also, transposing the matrix is not really a solution because the matrix M should be a nstates by nmix matrix, which is what the algorithm takes correctly as input, and gives as output.
Thanks!
From [email protected] on September 19, 2013 07:07:34
I experienced this problem in the 1 nov 2012 release too. (running on Mac OS X 10.8)
I experienced this problem to in the PMTK3 on windows 7 32 bit. I think its caused by normalizing M on the wrong dimension, normalize(M,1) should be normalize(M,2), I have tried to fix it myself but i couldnt do it.