Coder Social home page Coder Social logo

pmtk3's Introduction

Note: as of 2019, PMTK is no longer supported - use at your own risk. The new version of my book (which is in progress) now uses the Python code available from https://github.com/probml/pyprobml/.

PMTK is a collection of Matlab/Octave functions, written by Matt Dunham, Kevin Murphy and various other people. The toolkit is primarily designed to accompany Kevin Murphy's textbook Machine learning: a probabilistic perspective, but can also be used independently of this book. The goal is to provide a unified conceptual and software framework encompassing machine learning, graphical models, and Bayesian statistics (hence the logo). (Some methods from frequentist statistics, such as cross validation, are also supported.) Since December 2011, the toolbox is in maintenance mode, meaning that bugs will be fixed, but no new features will be added (at least not by Kevin or Matt).

PMTK supports a large variety of probabilistic models, including linear and logistic regression models (optionally with kernels), SVMs and gaussian processes, directed and undirected graphical models, various kinds of latent variable models (mixtures, PCA, HMMs, etc) , etc. Several kinds of prior are supported, including Gaussian (L2 regularization), Laplace (L1 regularization), Dirichlet, etc. Many algorithms are supported, for both Bayesian inference (including dynamic programming, variational Bayes and MCMC) and MAP/ML estimation (including EM, conjugate and projected gradient methods, etc.)

To get the code, click on the "Download zip" button on the right hand side of github, or just clone this repository.

PMTK builds on top of several existing packages, available from pmtksupport, and provides a unified interface to them. In addition, it provides readable "reference" implementations of many common machine learning techniques. The vast majority of the code is written in Matlab. (For a brief discussion of why we chose Matlab, click here. Most of the code also runs on Octave an open-source Matlab clone.) However, in a few cases we also provide wrappers to implementations written in C, for speed reasons. PMTK has over 67,000 lines.

As you can tell by the name, PMTK3 is the third version of PMTK. Older versions are obsolete, but are briefly described here.

pmtk3's People

Contributors

alexgmcm avatar boss-danuphan avatar dcurley avatar elkbrsathuji avatar evelinag avatar fakarthur avatar findmyway avatar garyfeng avatar gitclem avatar ido avatar jfainberg avatar markrich avatar murphyk avatar patrickmineault avatar rmanor avatar shengshuyang avatar srvasude avatar tndoan avatar tombstone avatar tylerzhu-github avatar vmr2117 avatar wegmatho avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

pmtk3's Issues

Installation problem

From [email protected] on July 19, 2011 16:37:26

What steps will reproduce the problem? trainingData = data(:,4);
nHidStates = 4;

% Learn the model using EM with random restarts
nrestarts = 2;
modelEM = hmmFit(trainingData, nHidStates, 'discrete', ...
'convTol', 1e-5, 'nRandomRestarts', nrestarts, 'verbose', false); What is the expected output? What do you see instead? It should create an hmm model. Instead it returns the error:

??? Undefined function or method 'logsumexp' for input arguments of type 'double'.

Error in ==> normalizeLogspace at 12
L = logsumexp(x, 2);

What version / revision of the product are you using? On what operating system?

Matlab version R2010b on Windows XP running pmtk3. Please provide any additional information below. PMTK installation failed -- was unable to download during the installation process -- proxy should have worked.

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

calling libsvm from matlab on MAC OS X i

From murphyk2 on February 28, 2011 14:49:18

  • libsvm-mat-2.9.1 does not have .mexmaci64 binaries, and running 'make'
    does not create them What steps will reproduce the problem? x=randn(10,20); y=randn(10,1);
    model = svmFit(x, y, 'C', 1,'kernelParam', 1, 'kernel', 'rbf'); What is the expected output? What do you see instead? It should return a model struct.
    Instead I get this message

??? Undefined function or method 'libsvmTrain' for input arguments of type 'double'.

Error in ==> svmlibFit at 89
model = libsvmTrain(y, X, options);

Error in ==> svmFit at 147
model = fitFn(X, y, C, kernelParam, kernel, fitOptions{:}); Please use labels and text to provide additional information. svmFit chooses which svm solver to use: it could be libsvm,
svmlight (windows only), or pure matlab (needs opt toolbox).

Currently this choice is made based on expected speed of the method,
not based on the OS the user is using. This should be improved.

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

problem with multinomial_prob in hmm toolbox

From [email protected] on May 31, 2012 14:56:20

What steps will reproduce the problem? 1. 2. 3. What is the expected output? What do you see instead? Attempted to access obsmat(:,3116); index out
of bounds because size(obsmat)=[2560,2560].

Error in ==> multinomial_prob at 19
B(:,t) = obsmat(:, data(t));

Error in ==> dhmm_em>compute_ess_dhmm at 103
obslik = multinomial_prob(obs, obsmat);

Error in ==> dhmm_em at 47
[loglik, exp_num_trans, exp_num_visits1,
exp_num_emit] = ...

Error in ==> Markov_Model at 72
[LL,prior_hat,A_hat,B_hat] = dhmm_em(signal+1,
prior,A1,B1, 'max_iter',4); What version / revision of the product are you using? On what operating system? Matlab R2011a , Windows 7 Please provide any additional information below. I checked the multinomial_prob function from which the error seems to have been generated and found
for t=1:T
B(:,t) = obsmat(:, data(t));
end
This doesn't make sense to me. Why does the observed value of my data have to be less than the dimensions of my output matrix? (Thats the root of the problem as far as I understand)

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

Problem with hmmFitFullyObs function

From [email protected] on December 10, 2010 01:13:55

What steps will reproduce the problem? %% generate observation sequence and hidded state sequence using Matlab
%% HMM toolbox
TRANS = [.9 .1; .05 .95;];

EMIS = [1/6, 1/6, 1/6, 1/6, 1/6, 1/6;...
7/12, 1/12, 1/12, 1/12, 1/12, 1/12];

[seq,states] = hmmgenerate(10000,TRANS,EMIS);

%% test hmmFit function of pmtk3
[model, loglikHist] = hmmFit(seq, 2, 'discrete');
model.emission.T % good
model.A % good

%% test hmmFitFullyObs function of pmtk3
model = hmmFitFullyObs(states, seq, 'discrete');
model.emission.T % problem: all elements of this matrix are "1"
model.A % good What is the expected output? What do you see instead? All elements of model.emission.T generated by hmmFitFullyObs function are "1", which I think is not correct. What version / revision of the product are you using? On what operating system? pmtk3-23nov10, Matlab 2009b, Win XP sp3 Please provide any additional information below.

Attachment: test_hmmFitFullyObs.m

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

dgmEnum gives wrong logprob

From murphyk2 on April 02, 2011 18:38:47

What steps will reproduce the problem? 1. dgmLogprobTest - the final assertion (commented out) fails What is the expected output? What do you see instead? Please use labels and text to provide additional information. I changed dgmInferNodes and insertClampedBels to handle
the case that single marginals are not returned as cell arrays.
It's something to do with this.

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

Isolated word classification demo fails under Octave

From [email protected] on August 10, 2011 14:19:46

What steps will reproduce the problem? 1. > initPmtk3Octave
2. > isolatedWordClassificationWithHmmsDemo
3. /several errors occur/ What is the expected output? What do you see instead? Output should match that shown in the tutorial. Three separate errors -- two apparently related to Octave/Matlab compatibility issues and one typo -- prevent the demo from running to completion.

What version / revision of the product are you using? On what operating system?

I'm using a copy off trunk at http://pmtk3.googlecode.com/svn/trunk with Octave 3.2.3 on Ubuntu 10.04.3 LTS. Please provide any additional information below. The errors are:

  • toolbox/LatentVariableModels/hmm/sub/hmmFitEm.m: Replace tilde (~)
    used to ignore output parameter.
  • toolbox/Algorithms/optimization/emAlgo.m: Delete extra '.' causing
    syntax error.
  • demos/isolatedWordClassificationWithHmmsDemo.m: Replaced call to
    display() with disp().

The first fix is a known issue: http://code.google.com/p/pmtk3/issues/detail?id=26 The third fix may not be the right thing to do. Octave /has/ a display() function, and I can't imagine why it can't handle basic types. I can demonstrate the error by entering

octave:3> d=3.14
d = 3.1400
octave:4> display(d)
error: display: not defined for class "double"
error: called from:
error: /usr/share/octave/3.2.3/m/general/display.m at line 36, column 3

Attachment: asr.diff

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

error casinoDemo

From [email protected] on May 23, 2012 08:05:55

What steps will reproduce the problem? 1.modelEM = hmmFit(observed, nstates, 'discrete', ...
'maxIter', 1000, 'verbose', true, 'convTol', 1e-7, 'nRandomRestarts', 3); 2. 3. What is the expected output? What do you see instead? ??? Error using ==> normalize
Too many input arguments.

Error in ==> discreteFit at 32
model.T = normalize(bsxfun(@plus, counts, colvec(alpha-1)), 1); What version / revision of the product are you using? On what operating system? pmtk3-3jan11. Windows 7. Matlab R2010a Please provide any additional information below.

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

Run initPmtk3.m Matlab Student Version on Mac OS X 10.8.2 - Failure

From [email protected] on October 21, 2012 22:44:05

What steps will reproduce the problem? 1. Run the initialization What is the expected output? What do you see instead? Process: MATLAB [16789]
Path: /Applications/MATLAB_R2012a_Student.app/Contents/MacOS/StartMATLAB
Identifier: com.mathworks.matlab
Version: R2012a 7.14.0
Code Type: X86-64 (Native)
Parent Process: launchd [394]
User ID: 501

Date/Time: 2012-10-22 02:59:08.805 +0100
OS Version: Mac OS X 10.8.2 (12C60)
Report Version: 10

Interval Since Last Report: 342359 sec
Crashes Since Last Report: 66
Per-App Interval Since Last Report: 74655 sec
Per-App Crashes Since Last Report: 30
Anonymous UUID: 4A31AB5A-7A61-775E-2132-0CD351D2D0EC

Crashed Thread: 3

Exception Type: EXC_BREAKPOINT (SIGTRAP)
Exception Codes: 0x0000000000000002, 0x0000000000000000

Dyld Error Message:
Symbol not found: __gfortran_allocate64_array
Referenced from: /Users/USER/*/glmnetMex.mexmaci64
Expected in: /Applications/MATLAB_R2012a_Student.app/sys/os/maci64/libgfortran.3.dylib What version / revision of the product are you using? On what operating system? Matlab Student Version R2012a 64-bit (maci64) on Mac OS 10.8.2 (Mountain Lion) Please provide any additional information below. The problem appears at the last step of the initialization "Compile mex", after pfColorTracker.

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

gaussLogprob and positive definiteness

From [email protected] on July 05, 2011 09:12:04

What steps will reproduce the problem? 1. Follow the tutorial on: http://pmtk3.googlecode.com/svn/trunk/docs/tutorial/html/tutFoundations.html 2. From this line on I get different outputs to the ones shown in the tutorial: m2 = gaussFit(X(1:50,:)); cond(m2.Sigma)
3. Later, this crashes: L = gaussLogprob(m3, X);
Saying: ??? Error using ==> chol
Matrix must be positive definite. What is the expected output? What do you see instead? An output for L is expected. I get an error. What version / revision of the product are you using? On what operating system? R2011a (64bit) on Windows 7 64bit system Please provide any additional information below. Looking inside the gaussLogprob function, it says:

% Full covariance case
if 0
logp2 = -0.5_sum((X/Sigma)._X, 2);
logZ2 = (d/2)_log(2_pi) + 0.5_logdet(Sigma);
logp2 = logp2 - logZ2;
end
% slightly faster version
R = chol(Sigma);
logp = -0.5_sum((X/R).^2, 2);
logZ = 0.5_d_log(2*pi) + sum(log(diag(R)));
logp = logp - logZ;

Maybe the 'if 0' should be replaced by a test for positive definiteness.

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

Problem Running MatBugs.m

From [email protected] on November 16, 2010 19:19:14

Dear Sir / Madam,

I am using the matbugs interface you developed to run WinBugs from MatLab. However, in the last days, it start not to work as it appears the following image (in WinBugs) when i run it from MATLAB. I suppose the question is the way both softwares are communicating but donโ€™t know, exactly, where the erro ris. Could you help me on that? I install WinBUGS in folder โ€˜C:/JCM/WinBugs14โ€™, then i run the matbugs.m, by running the schools example and the WinBugs feedback is the one in atachment (MATLAB2009b and WINDOWS7).

Sincere regards,

Jose Matos

Attachment: image.png

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

I am trying to install pmtk in matlab r2011b in ubuntu 12.04

From [email protected] on May 20, 2012 23:55:20

What steps will reproduce the problem? 1.initial installation of pmtk in matlab 2. 3. What is the expected output? What do you see instead? i get this error:

initPmtk3
initializing pmtk3
downloading 38 packages to pmtk3/pmtksupportCopy from pmtksupport.googlecode.com - this may take a few minutes
downloading GGM-GWishart.............Error using perl (line 80)
System error: Can't locate LWP/Simple.pm in @inc (@inc contains: /etc/perl /usr/local/lib/perl/5.14.2
/usr/local/share/perl/5.14.2 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.14 /usr/share/perl/5.14
/usr/local/lib/site_perl .) at /home/pajrul/pmtk3-3jan11/pmtkTools/supportTools/fetchfile.pl line 4.
BEGIN failed--compilation aborted at /home/pajrul/pmtk3-3jan11/pmtkTools/supportTools/fetchfile.pl line
4.
Command executed: perl /home/pajrul/pmtk3-3jan11/pmtkTools/supportTools/fetchfile.pl " http://pmtksupport.googlecode.com/svn/trunk/GGM-GWishart/GGM-GWishart.zip "
/home/pajrul/pmtk3-3jan11/pmtksupportCopy/GGM-GWishart.zip

Error in downloadFile (line 13)
status = perl(fetcher, source, dest);

Error in downloadAllSupport (line 21)
ok = downloadFile(source, dest);

Error in initPmtk3 (line 49)
downloadAllSupport(); What version / revision of the product are you using? On what operating system? on matlab r2011b running on ubuntu 12.04 Please provide any additional information below.

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

markovFit crashes with multiple observations X(i, :)

From RA.Dragun on April 19, 2011 07:54:36

What steps will reproduce the problem? 1.x=[1 2 1 1 2; ...
2 2 2 2 1; ...
1 1 1 1 2 ]
2.model=markovFit(x); What is the expected output? What do you see instead? >> model.A
ans =
0.5714 0.4286
0.4000 0.6000

model.pi
ans =
0.6667 0.3333
===========================but we have
??? Error using ==> plus
Matrix dimensions must agree.

Error in ==> markovFit at 27
model.pi = rowvec(normalize(histc(X(:, 1), 1:nstates)) + rowvec(pseudoCountsPi - 1)); What version / revision of the product are you using? On what operating system? PMTK ( r2774 ), Matlab Please provide any additional information below. I think the simplest way is to change
model.pi = rowvec(normalize(histc(X(:, 1), 1:nstates)) + rowvec(pseudoCountsPi - 1));
to
model.pi = rowvec(normalize(histc(X(:, 1)', 1:nstates)) + rowvec(pseudoCountsPi - 1));

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

Signal processing toolbox not recognized in Octave

From [email protected] on August 10, 2011 14:18:18

What steps will reproduce the problem? 1. > initPmtk3Octave
2. > plotMFCC What is the expected output? What do you see instead? The specgram function does not run and no plot is produced. I expected 'signalToolboxInstalled' to be true, but it is not.

What version / revision of the product are you using? On what operating system?

I'm using a copy off trunk at http://pmtk3.googlecode.com/svn/trunk with Octave 3.2.3 on Ubuntu 10.04.3 LTS. Please provide any additional information below. I investigated and found that the initPmtkOctave function unilaterally sets ToolboxInstalled variables to 0. Inspecting the normal init function, I learned how I *thought things should work and made modifications such that it did. My patch for this assumes that if the folder named in 'toolbox' exists in the path, then the toolbox must be installed. This may or may not be the appropriate way to detect this in Octave. If it is not, I'd be happy to improve the patch by making it more robust.

I also had make another change in order to get this to work correctly. It seems restoredefaultpath() does not do what I expected, in that the signal processing toolbox is omitted from the path after this function is called. But upon further reading, it appears the correct behavior is to set the path to its value /prior to any octaverc processing/ ( http://octave.1599824.n4.nabble.com/octaverc-and-version-in-path-td1648598i20.html ). So, given the fact that the toolkit paths are added in /etc/octave3.2.conf, I'm proposing restoredefaultpath() be removed. Would this cause problems elsewhere? If so, perhaps there is a way to trigger the path changes that come from the system-wide initialization file (and perhaps the user initialization files as well), so that restoredefaultpath() can still be used, but the add-on paths are included as well.

Attachment: init.diff

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

EM does not monotonically increase likelihood when fitting HMM to single sparse sequence

From murphyk2 on April 03, 2011 10:12:48

What steps will reproduce the problem? a=[1,2,3,4,5,6,1,2,3,4,5,6,6,5,4,3,2,1,1,2,3,31,31,2,32,12,4,5,60,0,2,1,3,4,5,81,32,2,1];

[model, loglikHist] = hmmFit(a, 2, 'discrete');

(This example is due to George Toderici) What is the expected output? What do you see instead? The penalizd log likelihood should go up, but instead it gives a warning that it does not. Please use labels and text to provide additional information. The problem is that the data involves a non consecutive set of integers, spanning 0 to 81. Internally this gets canonized to 1..12. However,there is still some residual problem. Perhaps the log prior on the transmat is not being added to the objective function.

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

Installation crashes in LogisticLossSimple

From [email protected] on November 23, 2010 14:44:22

What steps will reproduce the problem? 1. Follow the installation instruction: http://code.google.com/p/pmtk3/wiki/installation 2. Macintosh; matlab 7.9.0.529 ( R2009b )
3. testPmtk3 crashes. What is the expected output? What do you see instead? I expected the demos to run. Instead I get:
??? Undefined function or variable 'p'.

Error in ==> LogisticLossSimple at 16
Xw = X .* repmat(rowvec(weights), 1, p);

Sure enough, LogisticLossSimple refers to an undefined variable 'p'. What version / revision of the product are you using? On what operating system? pmtk3-24October2010.zip
MacOS 10.6.5 Please provide any additional information below. Here's the command history in matlab:

initPmtk3
initializing pmtk3
downloading GGM-GWishart.............done
downloading SPAMS-1.02...............failed
downloading bpca.....................done
downloading dpmixturesTeh07..........done
downloading ekfukf1.2................done
downloading export_fig...............done
downloading exportfig................done
downloading fastICA-2.5..............done
downloading fastfit..................done
downloading gaimc1.0-graphAlgo.......done
downloading glmnet-matlab............done
downloading gpml-matlab..............done
downloading graphViz4Matlab..........done
downloading l1ls.....................done
downloading lars.....................done
downloading libdai-0.2.6.............done
downloading liblinear-1.51...........done
downloading libsvm-mat-2.9.1.........done
downloading lightspeed2.3............done
downloading markSchmidt-21june2010...done
downloading matbugs..................done
downloading matlabRlink..............done
downloading mcmcdiag.................failed
downloading mplp-1.0.................done
downloading netlab3.3................done
downloading onlineEM.................done
downloading randraw..................done
downloading sparseBayes2.0...........done
downloading svmLightWindows..........done
downloading vblinlogreg..............done
welcome to pmtk3
testPmtk3
Checking for matlabTools.........PASSED
Checking initialization..........PASSED
Checking pmtkSupport packages....PASSED
Checking pmtkData................downloading http://pmtkdata.googlecode.com/svn/trunk/crabs/crabs.zip to /Users/don/Documents/MATLAB/MurphySimulator/pmtk3/data/crabs.zip
unzipped and loaded crabs.mat
PASSED
Checking for graphviz............Please install or upgrade graphViz
Please install or upgrade graphViz
Please install or upgrade graphViz
Please install or upgrade graphViz
Please install or upgrade graphViz
FAILED
Testing selected code............

nll =
6.9315
??? Undefined function or variable 'p'.

Error in ==> LogisticLossSimple at 16
Xw = X .* repmat(rowvec(weights), 1, p);

Error in ==> logregFit>@(w)LogisticLossSimple(w,X,y,weights) at 101
loss = @(w) LogisticLossSimple(w, X, y, weights);

Error in ==> penalizedL2 at 13
[nll,g] = gradFunc(w,varargin{:});

Error in ==> logregFit>@(w)penalizedL2(w,loss,lambdaVec(:)) at 133
penloss = @(w)penalizedL2(w, loss, lambdaVec(:));

Error in ==> minFunc at 303
[f,g] = funObj(x,varargin{:});

Error in ==> logregFit at 135
[w, opt.finalObj, opt.exitflag, opt.output] = ...

Error in ==> logregL2FitTest at 19
model1 = logregFit(X, y01, 'lambda', lambda, 'preproc', pp, 'fitOptions', opts);

Error in ==> testPmtk3 at 66
logregL2FitTest;

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

Octave incompatibility with cov() in pcaPmtk.m

From [email protected] on January 17, 2011 07:30:15

What steps will reproduce the problem? 1. Download pmtk3-23nov10.zip or the current svn
2. run initPmtk3 then testPmtk3 in current Octave What is the expected output? What do you see instead? I expect to see the tests all pass. Instead, I receive the error message:

error: cov: x and y must have the same number of observations
error: called from:
error: /usr/share/octave/3.2.4/m/statistics/base/cov.m at line 56, column 7
error: evaluating argument list element number 1
error: evaluating argument list element number 1
error: /home/jpate/git/prosodicParsing/pmt3k/pmtk3-23nov10/toolbox/LatentVariableModels/ppca/sub/pcaPmtk.m at line 31, column 18
error: /home/jpate/git/prosodicParsing/pmt3k/pmtk3-23nov10/demos/bookDemos/Latent_factor_models_for_continuous_data/pcaDemo2d.m at line 12, column 28
error: /home/jpate/git/prosodicParsing/pmt3k/pmtk3-23nov10/testPmtk3.m at line 75, column

cov is different in octave and matlab, see: http://www.mathworks.com/help/techdoc/ref/cov.html http://octave.sourceforge.net/octave/function/cov.html What version / revision of the product are you using? On what operating system? Again, this is with both a fresh svn clone and the .zip file in the Downloads page.

$ uname -a
Linux PURPLE-HAZE 2.6.36-ARCH #1 SMP PREEMPT Sat Jan 8 14:15:27 CET 2011 x86_64 Celeron(R) Dual-Core CPU T3000 @ 1.80GHz GenuineIntel GNU/Linux
$ octave -v
GNU Octave, version 3.2.4
Copyright (C) 2009 John W. Eaton and others.
This is free software; see the source code for copying conditions.
There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE.

Octave was configured for "x86_64-unknown-linux-gnu".

Additional information about Octave is available at http://www.octave.org .

Please contribute if you find this software useful.
For more information, visit http://www.octave.org/help-wanted.html Report bugs to [email protected] (but first, please read http://www.octave.org/bugs.html to learn how to write a helpful report). Please provide any additional information below. We see that line 32 of testPmtk3.m is commented out and the offending line 31 is added in revision 2551 with

svn blame toolbox/LatentVariableModels/ppca/sub/pcaPmtk.m

but there is no commit message. I tried uncommenting 32 and commenting out line 31, and all tests from testPmtk3 pass.

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

Negative transition probabilities...

From [email protected] on January 30, 2012 12:01:59

What steps will reproduce the problem? 1.Running the code on HMM with many states and sub-states. What is the expected output? What do you see instead? Expected: Positive transition and output matrix
Obtained: small negative values (~10-18) Can these be due to numerical problems? What version / revision of the product are you using? On what operating system? The 2005 MIT release Please provide any additional information below.

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

hmmFitEm can crash with discrete observations r2055

From [email protected] on August 08, 2010 12:08:14

What steps will reproduce the problem? 1. Set len to 101 in hmmDiscreteFitTest
2. Run the demo

From Nachi Sahoo:

hmmFitEM.m, line 207-209: it is relying on a hard clustering
assignment to initialize transition probability matrix. Sometimes the
initial clustering gets a fewer number of clusters than the number of
states in hmm. So, the transition probability matrix formed on line
209 is smaller than it should be. One way to fix it is to change line
209 from
A = accumarray([z(1:end-1), z(2:end)], 1);
to
A = accumarray([z(1:end-1), z(2:end)], 1, [nstates,
nstates]);

Since, we'd know the number of states at this point. It ensures that
we'd have the correct sized transition matrix.

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

mixGaussFit(data, nmix, varargin) with 'nrandomRestarts',100

From RA.Dragun on April 20, 2011 08:35:22

What steps will reproduce the problem? 1. x = some_test_data
2. mixModel = mixGaussFit(x, 2, 'verbose', true, 'maxIter', 100,'nrandomRestarts',100); What is the expected output? What do you see instead? ********** Random Restart 2 **********
initializing model for EM
??? Undefined function or variable 'd'.

Error in ==> mixGaussFit>initGauss at 41
mu = randn(d, nmix);

Error in ==> mixGaussFit>@(m,X,r)initGauss(m,X,r,initParams,prior) at 24
initFn = @(m, X, r)initGauss(m, X, r, initParams, prior);

Error in ==> emAlgo at 56
model = init(model, data, restartNum);

Error in ==> emAlgo at 38
[models{i}, llhists{i}] = emAlgo(model, data, init, estep,...

Error in ==> mixGaussFit at 25
[model, loglikHist] = emAlgo(model, data, initFn, @eStep, @mstep , ... What version / revision of the product are you using? On what operating system? PMTK ( r2774 )/Windows (Matlab) Please provide any additional information below. Failure in
function model = initGauss(model, X, restartNum, initParams, prior)
when restartNum ~= 1
mu = randn(d, nmix);
regularizer = 2;
Sigma = stackedRandpd(d, nmix, regularizer);
model.mixWeight = normalize(rand(1, nmix) + regularizer);

We need to define d from model or from data.

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

hmmFwdBackMaxProduct runs with error

From [email protected] on June 10, 2012 15:10:36

What steps will reproduce the problem? 1. run hmmNbestDemo.m
2. Undefined function or variable "xi_summed".
Error in hmmFwdBackMaxProduct (line 39)
xi_summed = xi_summed + tmpXi./sum(tmpXi(:)); % inlined call to
normalize
Error in hmmNbestDemo (line 17)
[ff, logmaxprob] = hmmFwdBackMaxProduct(initDist, transmat, softev); 3. What is the expected output? What do you see instead? no error, xi_summed seems to be uninitiated, ff is not assigned in hmmFwdBackMaxProduct.m What version / revision of the product are you using? On what operating system? pmtk3 2011dec15, windows 7, matlab 2012a Please provide any additional information below.

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

initPmtk3 fails

From [email protected] on August 16, 2010 09:23:55

What steps will reproduce the problem? 1. have matlabroot not contain MATLAB: in all caps
2. run initPmtk3 3. What is the expected output? What do you see instead? Instead of a successful initialization, the output is

initPmtk3
initializing pmtk3
??? Error using ==> catdirs at 24
All arguments must be strings.

Error in ==> addpath at 64
p = catdirs(varargin{1:n});

Error in ==> initPmtk3 at 12
addpath(genpathPMTK(fullfile(thisDir, 'localUtil'))); What version / revision of the product are you using? On what operating system? Revision: 2135 Please provide any additional information below. For the time being case insensitive search might work for most people. i.e., change line 13 in genpathPMTK.m from

if isempty(strfind(matlabroot, 'MATLAB'))

to

if isempty(strfind(upper(matlabroot), 'MATLAB'))

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

Initialization failure on Mac OS (Lion) and Matlab 2012a

From [email protected] on September 16, 2012 00:39:17

What steps will reproduce the problem? Run the initialization What is the expected output? What do you see instead? Matlab crashes gives this error message:

Process: MATLAB [3801]
Path: /Applications/MATLAB_R2012a.app/Contents/MacOS/StartMATLAB
Identifier: com.mathworks.matlab
Version: R2012a 7.14.0
Code Type: X86-64 (Native)
Parent Process: launchd [134]

Date/Time: 2012-09-16 00:31:51.371 -0400
OS Version: Mac OS X 10.7.4 (11E53)
Report Version: 9

Interval Since Last Report: 79014 sec
Crashes Since Last Report: 4
Per-App Interval Since Last Report: 575374 sec
Per-App Crashes Since Last Report: 4
Anonymous UUID: 6BFC8F52-6A0E-496B-9C3C-652CC662D37A

Crashed Thread: 3

Exception Type: EXC_BREAKPOINT (SIGTRAP)
Exception Codes: 0x0000000000000002, 0x0000000000000000

Application Specific Information:
objc[3801]: garbage collection is OFF

Dyld Error Message:
Symbol not found: __gfortran_allocate64_array
Referenced from: /Users/USER/Documents/*/glmnetMex.mexmaci64
Expected in: /Applications/MATLAB_R2012a.app/sys/os/maci64/libgfortran.3.dylib What version / revision of the product are you using? On what operating system? Jan11 2012, version 3

Mac OS Lion (10.7.4) Please provide any additional information below. The problem seems to appear at the last step of the initialization "Compile mex"

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

normalise function is not a part of pmtk, may be we have to use normalize one instead

From RA.Dragun on August 28, 2011 03:56:00

What steps will reproduce the problem? 1.Some functionality that uses function
path = viterbi_path(prior, transmat, obslik) What is the expected output? What do you see instead? What version / revision of the product are you using? On what operating system? pmtk r2776 Please provide any additional information below. Replace normalise function with normalize one on lines: 53, 64 http://code.google.com/p/pmtk3/source/browse/trunk/toolbox/LatentVariableModels/hmm/sub/viterbi_path.m#53

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

options.weights not working with cvglmnetMulticlass()

From [email protected] on January 30, 2012 09:43:17

What steps will reproduce the problem? 1. Set a weight vector in glmnetSet() produced options struct
2. Run cvglmnetMulticlass() with above options What is the expected output? What do you see instead? Should train a glmnet model. Instead, error occurs in cvglmnetMulticlass() line 60 because the weight vector inside the CV loop has a different size w.r.t target vector y. What version / revision of the product are you using? On what operating system? pmtk3-3jan11/pmtk3-2april2011, Win7 64bit Please provide any additional information below. Proposed MATLAB code to replace lines 57-62 in cvglmnetMulticlass.m:

weights = options.weights;
for i=1:nfolds
which=foldid==i;
if verbose, disp(['Fitting fold # ' num2str(i) ' of ' num2str(nfolds)]);end
options.weights = weights(~which);
cvfit = glmnet(x(~which,:), y(~which),family, options);
predmat(which,:) = glmnetPredict(cvfit, type,x(which,:),options.lambda);
end
options.weights = weights;

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

Syntax error in logregFit.m

From [email protected] on January 17, 2011 07:01:45

What steps will reproduce the problem? 1. Download the current version (pmtk3-23nov10.zip)
2. run initPmtk3
3. run testPmtk3 What is the expected output? What do you see instead? Just downloaded pmtk3-23nov10.zip, and testPmtk3 produces:

parse error near line 53 of file /home/jpate/git/prosodicParsing/pmt3k/pmtk3-23nov10/toolbox/SupervisedModels/logreg/logregFit.m

syntax error

[ weights ....

Changing the "...." to "..." fixes the error. What version / revision of the product are you using? On what operating system? $ uname -a
Linux PURPLE-HAZE 2.6.36-ARCH #1 SMP PREEMPT Sat Jan 8 14:15:27 CET 2011 x86_64 Celeron(R) Dual-Core CPU T3000 @ 1.80GHz GenuineIntel GNU/Linux
$ octave -v
GNU Octave, version 3.2.4
Copyright (C) 2009 John W. Eaton and others.
This is free software; see the source code for copying conditions.
There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE.

Octave was configured for "x86_64-unknown-linux-gnu".

Additional information about Octave is available at http://www.octave.org .

Please contribute if you find this software useful.
For more information, visit http://www.octave.org/help-wanted.html Report bugs to [email protected] (but first, please read http://www.octave.org/bugs.html to learn how to write a helpful report). Please provide any additional information below. Although I'm using octave, this just seems to be a typo with an extra "." (especially considering the output of svn diff - r2598 toolbox/SupervisedModels/logreg/logregFit.m)

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

downloadAllSupport some errors while downloading...

From RA.Dragun on November 26, 2010 02:33:16

What steps will reproduce the problem? 1.>> system('svn checkout http://pmtk3.googlecode.com/svn/trunk/ pmtk3')
Checked out revision 2659 .
ans =
0
2.>> downloadAllSupport
downloading GGM-GWishart.............done
downloading SPAMS-1.02...............failed
downloading bpca.....................done
downloading dpmixturesTeh07..........done
downloading ekfukf1.2................done
downloading export_fig...............done
downloading exportfig................done
downloading fastICA-2.5..............done
downloading fastfit..................done
downloading gaimc1.0-graphAlgo.......done
downloading glmnet-matlab............done
downloading gpml-matlab..............done
downloading graphViz4Matlab..........done
downloading l1ls.....................done
downloading lars.....................done
downloading libdai-0.2.6.............done
downloading liblinear-1.51...........done
downloading libsvm-mat-2.9.1.........done
downloading lightspeed2.3............done
downloading markSchmidt-21june2010...done
downloading matbugs..................done
downloading matlabRlink..............done
downloading mcmcdiag.................failed
downloading mplp-1.0.................done
downloading netlab3.3................done
downloading onlineEM.................done
downloading randraw..................done
downloading sparseBayes2.0...........done
downloading svmLightWindows..........done
downloading vblinlogreg..............done What is the expected output? What do you see instead? downloading SPAMS-1.02...............failed
downloading mcmcdiag.................failed What version / revision of the product are you using? On what operating system? revision 2659 Please provide any additional information below. I think there are no ZIPped files on the paths http://pmtksupport.googlecode.com/svn/trunk/SPAMS-1.02/ and http://pmtksupport.googlecode.com/svn/trunk/mcmcdiag/ Thanks

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

dgmLogprobTest fails

From murphyk2 on February 28, 2011 14:55:12

What steps will reproduce the problem? Edit dgmLogprobTest line 92 uncomment this line:

%assert(approxeq(logZ7, logZ1, tol));

Then run dgmLogproTest. What is the expected output? What do you see instead? When trial=2, so all nodes are clamped, the logprob can be computed
by multiplying all the CPDs together, since the model is fully visible.
This should give the same result as the normalization constant for
inference. However, the assertion is violated. Please use labels and text to provide additional information. Bayes net probability of the evidence computation is failing.
Pretty fundamental... (seems to work if libdai on path - not sure
what the connection is, the libdai should not need to be called
if the model is fully visible)

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

Possible issue with mrfToMrf2 logic

From [email protected] on September 03, 2012 17:22:20

What steps will reproduce the problem? 1. See attached file mrfToMrf2Issue.m What is the expected output? What do you see instead? The function testMisconceptionMRFtoMRF2() should generate the same output as the testMisconceptionMRF(). Instead, the edge potentials in the mrf2 model appear to be getting set up incorrectly. What version / revision of the product are you using? On what operating system? pmtk3-3jan11.zip - uploaded january 2012.
Matlab r2011a , Win 32 bit.
Windows 7 64bit. Please provide any additional information below. The attached updated file factorGraphToMrf2.m contains a proposed fix for the issue, which appears to be at line 34:

edgesWithPots = cell2mat(cellfuncell(@(f)f.domain, epots));

whereby a row vector is returned, which is inconsistent with edgeEnds - i.e. a column vector - when compared at line 35.

The proposed fix is after line 32:
epots = fg.factors(edgeFacNdx);

to add the following:

if isrowvec(epots)
epots = epots';
end

Attachment: factorGraphToMrf2.m mrfToMrf2Issue.m

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

segmentatio violation for whoCallsMe under macosx

From [email protected] on January 20, 2011 16:19:09

What steps will reproduce the problem? 1. Edit line 6 of mypath: p = tokenize(path, ';:'); so that it has a chance of working on macosx
2. Run whoCallsMe What is the expected output? What do you see instead? seg violation What version / revision of the product are you using? On what operating system? MaxOSX 10.6.5 Please provide any additional information below.

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

running initPtmk3 fails to download support packages

From [email protected] on September 14, 2012 15:48:36

What steps will reproduce the problem? 1.>> cd C:\pmtk3

initPmtk3 What is the expected output? What do you see instead? >> initPmtk3
initializing pmtk3
downloading 38 packages to pmtk3/pmtksupportCopy from pmtksupport.googlecode.com - this may take a few minutes
downloading GGM-GWishart.............failed to download
downloading GPstuff-2.0..............failed to download
downloading SPAMS-1.02...............failed to download
downloading Sparsa...................failed to download
downloading boostingDemo.............failed to download
downloading bpca.....................failed to download
downloading dpMixWood................failed to download
downloading dpmixturesTeh07..........failed to download
downloading ekfukf1.2................failed to download
downloading export_fig...............failed to download
downloading exportfig................failed to download
downloading fastICA-2.5..............failed to download
downloading fastfit..................failed to download
downloading gaimc1.0-graphAlgo.......failed to download
downloading glmnet-matlab............failed to download
downloading gpml-matlab..............failed to download
downloading graphViz4Matlab..........failed to download
downloading l1ls.....................failed to download
downloading lars.....................failed to download
downloading libdai-0.2.6.............failed to download
downloading liblinear-1.51...........failed to download
downloading libsvm-mat-2.9.1.........failed to download
downloading lightspeed2.3............failed to download
downloading markSchmidt-9march2011...failed to download
downloading matbugs..................failed to download
downloading matlabRlink..............failed to download
downloading maxBranching.............failed to download
downloading mcmcdiag.................failed to download
downloading mplp-1.0.................failed to download
downloading netlab3.3................failed to download
downloading onlineEM.................failed to download
downloading pfColorTracker...........failed to download
downloading randraw..................failed to download
downloading rbpfSlam.................failed to download
downloading rjmcmcRbf................failed to download
downloading sparseBayes2.0...........failed to download
downloading svmLightWindows..........failed to download
downloading vblinlogreg..............failed to download
??? Error using ==> writeText at 31
could not open C:\pmtk3\pmtksupportCopy\pmtkSupportRoot.m

Error in ==> downloadAllSupport at 47
writeText(rootText, fullfile(destnRoot, 'pmtkSupportRoot.m'));

Error in ==> initPmtk3 at 49
downloadAllSupport();

What version / revision of the product are you using? On what operating system? Matlab 7.9.0( R2009b )
Windows Vista Please provide any additional information below.

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

glmnet does not run on mac os X 64 bit

From murphyk2 on February 28, 2011 14:51:15

What steps will reproduce the problem? x=randn(100,20); y=randn(100,1); fit=glmnet(x,y); What is the expected output? What do you see instead? it shoudl return a struct. Instead it returns

x=randn(100,20); y=randn(100,1); fit=glmnet(x,y);
??? Invalid MEX-file '/Users/kpmurphy/pmtksupport/glmnet-matlab/glmnetMex.mexmaci64': dlopen(/Users/kpmurphy/pmtksupport/glmnet-matlab/glmnetMex.mexmaci64, 1):
Library not loaded: /usr/local/lib/libgfortran.2.dylib
Referenced from: /Users/kpmurphy/pmtksupport/glmnet-matlab/glmnetMex.mexmaci64
Reason: image not found.

Error in ==> glmnet at 254
[a0,ca,ia,nin,rsq,alm,nlp,jerr] = glmnetMex(parm,x,y,jd,vp,ne,nx,nlam,flmin,ulam,thresh,isd,weights,ka);

254 [a0,ca,ia,nin,rsq,alm,nlp,jerr] = glmnetMex(parm,x,y,jd,vp,ne,nx,nlam,flmin,ulam,thresh,isd,weights,ka); Please use labels and text to provide additional information. it cannot find this fortran library:

/usr/local/lib/libgfortran.2.dylib

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

hmmFit & generativeClassifierFit chol->matrix is not positive definite

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

Problem with tabularFactorMultiply

From [email protected] on April 14, 2011 00:51:21

What steps will reproduce the problem? 1. Define a mrf using mrfCreate. I used a simple 5x5 grid graph and define parameters nodePots and edgePots. What is the expected output? What do you see instead? I get an error saying
??? In an assignment A(I) = B, the number of elements in B and
I must be the same.

Error in ==> tabularFactorMultiply at 33
ns(Ti.domain) = Ti.sizes;

The error seems to be in tabularFactorMultiply.m

What version / revision of the product are you using? On what operating system?
Latest april 2 version on Matlab 7.4 on Windows 7.

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

mixexpPredict typo

From RA.Dragun on June 02, 2011 02:28:10

What steps will reproduce the problem? 1. model = mixexpFit(FGD,FGT,4);
2. >> yp=mixexpPredict(model,FGD); What is the expected output? What do you see instead? ??? Reference to non-existent field 'Nclasses'.

Error in ==> mixexpPredict at 34
yhat_k = zeros(N, model.Nclasses, K); What version / revision of the product are you using? On what operating system? PMTK ( r2776 )/Windows (Matlab) Please provide any additional information below. yhat_k = zeros(N, model.Nclasses, K);
replace with
yhat_k = zeros(N, model.nclasses, K);

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

hmmFitEm fails in simple case

From [email protected] on November 14, 2012 08:23:08

What steps will reproduce the problem? 1. Running MATLAB 2012A on win7.
2. call model = hmmFitEm(X, 25, 'gauss'); where X = 1x8,000 vector of values between -3 and +3 on a grid with 0.25 spacing.
3. Following output seen:

Error using chol
Matrix must be positive definite.

Error in gaussLogprob (line 52)
R = chol(Sigma);

Error in mixGaussInferLatent (line 17)
logPz(:, k) = logMix(k) + gaussLogprob(mu(:, k), Sigma(:, :, k), X);

Error in mixGaussFit>estep (line 52)
[weights, ll] = mixGaussInferLatent(model, data);

Error in emAlgo (line 62)
[ess, ll] = estep(model, data);

Error in mixGaussFit (line 25)
[model, loglikHist] = emAlgo(model, data, initFn, @eStep, @mstep , ...

Error in hmmFitEm>initWithMixModel (line 244)
mixModel = mixGaussFit(stackedData, nstates, 'verbose', false, 'maxIter', 10);

Error in hmmFitEm>initGauss (line 146)
model = initWithMixModel(model, data);

Error in hmmFitEm>@(m,X,r)initFn(m,X,r,emissionPrior) (line 45)
initFn = @(m, X, r)initFn(m, X, r, emissionPrior);

Error in emAlgo (line 56)
model = init(model, data, restartNum);

Error in hmmFitEm (line 46)
[model, loglikHist] = emAlgo(model, data, initFn, @eStep, @mstep, EMargs{:});

model = hmmFitEm(X, config.K, 'gauss');

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

hmmLogprob greater than zero

From [email protected] on November 15, 2010 04:46:48

What steps will reproduce the problem? 1. Fully defined a HMM (hmmCreate)
2. Sampled training and test data (hmmSample)
3. Trained a HMM (hmmFit)
4. Tested HMM (hmmLogprob)
-> Got a log likelihood greater than zero.

Things that look weird:

The state-transition matrix A of the trained model is not normalized: normalize(model.A)-model.A should be zero(..).

Could also be a numerical over-/underflow issue: I am using relative long sequencces.

Or my sampling HMM could be crap:

%d=1
nstates = 7;
pi = [1 0 0 0 0 0 0];
A = normalize(diag(ones(nstates, 1)) + ...
diag(ones(nstates-1, 1), 1), 2);
sigma = [[0.05],[0.05],[0.05],[0.05],[0.05],[0.05],[0.05]];
mu = [0.7, 1.4, 2.1, 2.8, 3.5, 4.2, 4.9];
emission = condGaussCpdCreate(mu, sigma);

modelValid = hmmCreate('gauss', pi, A, emission); What is the expected output? What do you see instead? The log of a probality can't be greater than zero. What version / revision of the product are you using? On what operating system? MATLAB 2009a Please provide any additional information below.

Attachment: positiveHmmLogprob.m

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

Proposed new utility factorGraphToMrf

From [email protected] on September 13, 2012 15:28:15

What steps will reproduce the problem? N/A What is the expected output? What do you see instead? N/A Please provide any additional information below. The attached file is a simple utility for converting factor graphs to pairwise MRF models (very similar to factorGraphToMrf2) due to mrfCreate not currently supporting general clique potentials. Intended to help with importing from formats external to pmtk3 (i.e. convert to factor graph representation and from there to mrf or mrf2 in order to be able to call different inference routines).

Attachment: factorGraphToMrf.m

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

mkSoftEvidence Computes Wrong Value for Conditional Discrete Product CPDs

From [email protected] on March 01, 2011 03:32:26

What steps will reproduce the problem? 1. Create a condDiscreteProdCPD by any means with d > 1.
2. Run mkSoftEvidence on it and some observations.
3. Compare output with the brute-force for-loop implementation. What is the expected output? What do you see instead? The computed values for logB will be different. In particular, L(:,:,i) will be equal to zero for i not equal to d (the dimension of the observations). What version / revision of the product are you using? On what operating system? The tarball from '23nov10' Please provide any additional information below. The exact error is clear: at line mkSoftEvidence.m, you'll see:

L(:,:,d) = logT(:, Xobs(j, :), j);
Note that this is a for loop 'for j = 1:d', so the L(:,:,d) should instead be 'L(:,:,j)'. This change fixes the issue.

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

pmtkSupportRoot.m failed to download

From [email protected] on September 24, 2011 10:48:19

What steps will reproduce the problem? 1.initPmtk3 What is the expected output? What do you see instead? -pmtkSupportRoot.m failed to download What version / revision of the product are you using? On what operating system? -pmtk3-2april2011 , Windows7 64 bits, Matlab 7.11.0 ( R2001b ) Please provide any additional information below. downloading 39 packages to pmtk3/pmtksupportCopy from pmtksupport.googlecode.com - this may take a few minutes
downloading GGM-GWishart.............done
downloading GPstuff-2.0..............done
downloading SPAMS-1.02...............done
downloading boostingDemo.............done
downloading bpca.....................done
downloading dpMixWood................done
downloading dpmixturesTeh07..........done
downloading ekfukf1.2................done
downloading export_fig...............done
downloading exportfig................done
downloading fastICA-2.5..............done
downloading fastfit..................done
downloading gaimc1.0-graphAlgo.......done
downloading glmnet-matlab............done
downloading gpml-matlab..............done
downloading graphViz4Matlab..........done
downloading l1ls.....................done
downloading lars.....................done
downloading libdai-0.2.6.............done
downloading liblinear-1.51...........done
downloading libsvm-mat-2.9.1.........done
downloading lightspeed2.3............done
downloading markSchmidt-9march2011...done
downloading matbugs..................done
downloading matlabRlink..............done
downloading maxBranching.............done
downloading mcmcdiag.................done
downloading mplp-1.0.................done
downloading netlab3.3................done
downloading onlineEM.................done
downloading pfColorTracker...........done
downloading pmtkSupportRoot.m........failed to download
downloading randraw..................done
downloading rbpfSlam.................done
downloading readme.txt...............failed to download
downloading rjmcmcRbf................done
downloading sparseBayes2.0...........done
downloading svmLightWindows..........done
downloading vblinlogreg..............done

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

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

HMM mex files needed execute privilenges

From wuzzyview on October 10, 2011 10:37:33

What steps will reproduce the problem? 1. Download and install with initPmtk3
2. Evaluate [a b] = hmmFit({randn(1,50)}, 4, 'gauss') What is the expected output? What do you see instead? Expect no output. Instead, error obtained:

??? Invalid MEX-file
'C:\Users\fasiha\Documents\MATLAB\pmtk3-read-only\toolbox\LatentVariableModels\hmm\sub\hmmFwdBack.mexw64':
Access is denied.

Error in ==> hmmFitEm>estep at 68
[gamma, alpha, beta, logp] = hmmFwdBack(pi, A, Bi);

Error in ==> emAlgo at 62
[ess, ll] = estep(model, data);

Error in ==> hmmFitEm at 46
[model, loglikHist] = emAlgo(model, data, initFn, @eStep, @mstep, EMargs{:});

Error in ==> hmmFit at 69
[model, loglikHist] = hmmFitEm(data, nstates, type, varargin{:});

What version / revision of the product are you using? On what operating system?

SVN checkout r2778 , Windows7, Matlab 2011a. Please provide any additional information below. I had Cygwin available, so in the directory "pmtk3-read-only/toolbox/LatentVariableModels/hmm/sub", I ran "chmod 755 .mex" to add the execute bit on all mex files. This fixes the problem.

I am not sure how to do this without Cygwin, or if it affects anyone else on Windows using a current checked out.

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

hmmFit and hmmLogprob for classification

From [email protected] on January 16, 2011 04:00:38

What steps will reproduce the problem? 1. train separate models using positive discrete samples from different classes
2. cross-test for the highest likelihood using hmmLogprob What is the expected output? What do you see instead? hmmLogprob sometimes crashes when a model is tested on data that do not belong to the same class

What version / revision of the product are you using? On what operating system? pmtk3 nov 2010 Please provide any additional information below. The problem is that the discretized positive samples in the training set might not include all the possible observations for a class, but hmmFit estimates the number of observations from the positive samples. So, if there are 8 observation symbols, but a class makes use of only the first 6, the trained model also has 6 observation states, and cannot evaluate samples belonging to other classes, a crucial step for classification.

Solution:
There should be an option to set the number of observations directly.

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

hmmFit should verify that model.pi0 * model.A is possible

From [email protected] on November 03, 2010 11:18:16

What steps will reproduce the problem? Simply try to use conversation matrix NSTATESxNSTATES and a vector as pi0 that is <> NSTATES (not 1xNSTATES). This results in an error in hmmFwdBack.*: Can't multiply pi0 * A by MATLAB.

Happened to me using isolatedWordClassificationWithHmmsDemo and changing nstates. Because pi0 is a fixed vector it wasn't and thus leads to the error. What is the expected output? What do you see instead? hmmFit should assert(pi0 * A) is possible and else report correct size needed. What version / revision of the product are you using? On what operating system? pmtk3: 24 October and MATLAB 2009a

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

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.