pmtk3 icon indicating copy to clipboard operation
pmtk3 copied to clipboard

hmmFit & generativeClassifierFit chol->matrix is not positive definite

Open ido opened this issue 11 years ago • 5 comments

From [email protected] on March 14, 2011 10:03:33

What steps will reproduce the problem? 1.Fitting a HMM on observations and setting the nr of States higher than 2 2. This is a Gauss or GaussMixTied 3. It works normal with 1xT(i) sequences What is the expected output? What do you see instead? An error is generated at the next line with generativeClassifierFit. Chol seems to be the problem in gaussLogprob at line 52 What version / revision of the product are you using? On what operating system? Edition pmtk3 28feb 2011, Matlab R2007b , Ubuntu Please provide any additional information below. File is based on http://pmtk3.googlecode.com/svn-history/r2517/trunk/docs/tutorial/html/tutGenClassif.html

Attachment: ARenPCA2.m

Original issue: http://code.google.com/p/pmtk3/issues/detail?id=20

ido avatar Jan 04 '14 01:01 ido

From [email protected] on March 21, 2011 01:45:04

There was a numerical problem in Matlab that caused this issue. The problem is now solved!

ido avatar Jan 04 '14 01:01 ido

From [email protected] on May 22, 2013 03:27:12

Hi

I have the same problem . How can I solve it?

Regards

ido avatar Jan 04 '14 01:01 ido

Hi I'm experiencing the same problem, do you have any hints to solve this problem? Thanks! Any input will be helpful.

Rubikplayer avatar Dec 02 '14 07:12 Rubikplayer

hi, i'm also getting the same error from the PTMK3 toolbox on Matlab 2014a on 64 bit linux.

'Error using chol Matrix must be positive definite.'

any help would be appreciated!

f

tumansky avatar May 20 '16 00:05 tumansky

For me, what helped was to change the matrix with initial probabilities 'transmatrix0' with another probabilities.

This version of PMTK has a tridiagonal (as I remember) transmatrix0 but if I use another matrix it does not get me the error.

For example, by using a function mk_stochastic of the previos version HMMall it works well. However, another option is to make one matrix by hand. For example if you are using 5 states.

=[.2 .2 .2 .2 .2;.2 .2 .2 .2 .2;.2 .2 .2 .2 .2;.2 .2 .2 .2 .2;.2 .2 .2 .2 .2] %with all rows summing one.

jebema avatar Oct 24 '18 23:10 jebema