Mercurial > hg > camir-ismir2012
annotate toolboxes/FullBNT-1.0.7/docs/dbn_hmm_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 Example due to Wang Hee Lin" <engp1622@nus.edu.sg |
Daniel@0 | 2 |
Daniel@0 | 3 |
Daniel@0 | 4 intra = zeros(2); |
Daniel@0 | 5 intra(1,2) = 1; |
Daniel@0 | 6 inter = zeros(2); |
Daniel@0 | 7 inter(1,1) = 1; |
Daniel@0 | 8 |
Daniel@0 | 9 Q = 2; % num hidden states |
Daniel@0 | 10 O = 2; % num observable symbols |
Daniel@0 | 11 ns = [Q O];%number of states |
Daniel@0 | 12 dnodes = 1:2; |
Daniel@0 | 13 %onodes = [1:2]; % only possible with jtree, not hmm |
Daniel@0 | 14 onodes = [2]; |
Daniel@0 | 15 bnet = mk_dbn(intra, inter, ns, 'discrete', dnodes, 'observed', onodes); |
Daniel@0 | 16 for i=1:4 |
Daniel@0 | 17 bnet.CPD{i} = tabular_CPD(bnet, i); |
Daniel@0 | 18 end |
Daniel@0 | 19 |
Daniel@0 | 20 prior0 = normalise(rand(Q,1)); |
Daniel@0 | 21 transmat0 = mk_stochastic(rand(Q,Q)); |
Daniel@0 | 22 obsmat0 = mk_stochastic(rand(Q,O)); |
Daniel@0 | 23 |
Daniel@0 | 24 %engine = smoother_engine(hmm_2TBN_inf_engine(bnet)); |
Daniel@0 | 25 engine = smoother_engine(jtree_2TBN_inf_engine(bnet)); |
Daniel@0 | 26 |
Daniel@0 | 27 ss = 2;%slice size(ss) |
Daniel@0 | 28 ncases = 10;%number of examples |
Daniel@0 | 29 T=10; |
Daniel@0 | 30 max_iter=2;%iterations for EM |
Daniel@0 | 31 cases = cell(1, ncases); |
Daniel@0 | 32 for i=1:ncases |
Daniel@0 | 33 ev = sample_dbn(bnet, T); |
Daniel@0 | 34 cases{i} = cell(ss,T); |
Daniel@0 | 35 cases{i}(onodes,:) = ev(onodes, :); |
Daniel@0 | 36 end |
Daniel@0 | 37 [bnet2, LLtrace] = learn_params_dbn_em(engine, cases, 'max_iter', 4); |