annotate toolboxes/FullBNT-1.0.7/HMM/dhmm_em_demo.m @ 0:cc4b1211e677 tip

initial commit to HG from Changeset: 646 (e263d8a21543) added further path and more save "camirversion.m"
author Daniel Wolff
date Fri, 19 Aug 2016 13:07:06 +0200
parents
children
rev   line source
Daniel@0 1 O = 3;
Daniel@0 2 Q = 2;
Daniel@0 3
Daniel@0 4 % "true" parameters
Daniel@0 5 prior0 = normalise(rand(Q,1));
Daniel@0 6 transmat0 = mk_stochastic(rand(Q,Q));
Daniel@0 7 obsmat0 = mk_stochastic(rand(Q,O));
Daniel@0 8
Daniel@0 9 % training data
Daniel@0 10 T = 5;
Daniel@0 11 nex = 10;
Daniel@0 12 data = dhmm_sample(prior0, transmat0, obsmat0, T, nex);
Daniel@0 13
Daniel@0 14 % initial guess of parameters
Daniel@0 15 prior1 = normalise(rand(Q,1));
Daniel@0 16 transmat1 = mk_stochastic(rand(Q,Q));
Daniel@0 17 obsmat1 = mk_stochastic(rand(Q,O));
Daniel@0 18
Daniel@0 19 % improve guess of parameters using EM
Daniel@0 20 [LL, prior2, transmat2, obsmat2] = dhmm_em(data, prior1, transmat1, obsmat1, 'max_iter', 5);
Daniel@0 21 LL
Daniel@0 22
Daniel@0 23 % use model to compute log likelihood
Daniel@0 24 loglik = dhmm_logprob(data, prior2, transmat2, obsmat2)
Daniel@0 25 % log lik is slightly different than LL(end), since it is computed after the final M step