Mercurial > hg > camir-aes2014
annotate toolboxes/FullBNT-1.0.7/bnt/examples/dynamic/HHMM/Map/learn_map.m @ 0:e9a9cd732c1e tip
first hg version after svn
author | wolffd |
---|---|
date | Tue, 10 Feb 2015 15:05:51 +0000 |
parents | |
children |
rev | line source |
---|---|
wolffd@0 | 1 seed = 1; |
wolffd@0 | 2 rand('state', seed); |
wolffd@0 | 3 randn('state', seed); |
wolffd@0 | 4 |
wolffd@0 | 5 obs_model = 'unique'; % each cell has a unique label (essentially fully observable) |
wolffd@0 | 6 %obs_model = 'four'; % each cell generates 4 observations, NESW |
wolffd@0 | 7 |
wolffd@0 | 8 % Generate the true network, and a randomization of it |
wolffd@0 | 9 realnet = mk_map_hhmm('p', 0.9, 'obs_model', obs_model); |
wolffd@0 | 10 rndnet = mk_rnd_map_hhmm('obs_model', obs_model); |
wolffd@0 | 11 eclass = realnet.equiv_class; |
wolffd@0 | 12 U = 1; A = 2; C = 3; F = 4; onodes = 5; |
wolffd@0 | 13 |
wolffd@0 | 14 ss = realnet.nnodes_per_slice; |
wolffd@0 | 15 T = 100; |
wolffd@0 | 16 evidence = sample_dbn(realnet, 'length', T); |
wolffd@0 | 17 ev = cell(ss,T); |
wolffd@0 | 18 ev(onodes,:) = evidence(onodes,:); |
wolffd@0 | 19 |
wolffd@0 | 20 infeng = jtree_dbn_inf_engine(rndnet); |
wolffd@0 | 21 |
wolffd@0 | 22 if 0 |
wolffd@0 | 23 % suppose we do not observe the final finish node, but only know |
wolffd@0 | 24 % it is more likely to be on that off |
wolffd@0 | 25 ev2 = ev; |
wolffd@0 | 26 infeng = enter_evidence(infeng, ev2, 'soft_evidence_nodes', [F T], 'soft_evidence', {[0.3 0.7]'}); |
wolffd@0 | 27 end |
wolffd@0 | 28 |
wolffd@0 | 29 |
wolffd@0 | 30 learnednet = learn_params_dbn_em(infeng, {evidence}, 'max_iter', 5); |
wolffd@0 | 31 |
wolffd@0 | 32 disp('real model') |
wolffd@0 | 33 disp_map_hhmm(realnet) |
wolffd@0 | 34 |
wolffd@0 | 35 disp('learned model') |
wolffd@0 | 36 disp_map_hhmm(learnednet) |
wolffd@0 | 37 |
wolffd@0 | 38 disp('rnd model') |
wolffd@0 | 39 disp_map_hhmm(rndnet) |
wolffd@0 | 40 |