Mercurial > hg > camir-aes2014
annotate toolboxes/FullBNT-1.0.7/bnt/examples/static/gaussian2.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 % Make the following network (from Jensen (1996) p84 fig 4.17) | 
| wolffd@0 | 2 % 1 | 
| wolffd@0 | 3 % / | \ | 
| wolffd@0 | 4 % 2 3 4 | 
| wolffd@0 | 5 % | | | | 
| wolffd@0 | 6 % 5 6 7 | 
| wolffd@0 | 7 % \/ \/ | 
| wolffd@0 | 8 % 8 9 | 
| wolffd@0 | 9 % where all arcs point downwards | 
| wolffd@0 | 10 | 
| wolffd@0 | 11 | 
| wolffd@0 | 12 N = 9; | 
| wolffd@0 | 13 dag = zeros(N,N); | 
| wolffd@0 | 14 dag(1,2)=1; dag(1,3)=1; dag(1,4)=1; | 
| wolffd@0 | 15 dag(2,5)=1; dag(3,6)=1; dag(4,7)=1; | 
| wolffd@0 | 16 dag(5,8)=1; dag(6,8)=1; dag(6,9)=1; dag(7,9) = 1; | 
| wolffd@0 | 17 | 
| wolffd@0 | 18 ns = [5 4 3 2 2 1 2 2 2]; % vector-valued nodes | 
| wolffd@0 | 19 %ns = ones(1,9); % scalar nodes | 
| wolffd@0 | 20 dnodes = []; | 
| wolffd@0 | 21 | 
| wolffd@0 | 22 bnet = mk_bnet(dag, ns, 'discrete', []); | 
| wolffd@0 | 23 rand('state', 0); | 
| wolffd@0 | 24 randn('state', 0); | 
| wolffd@0 | 25 for i=1:N | 
| wolffd@0 | 26 bnet.CPD{i} = gaussian_CPD(bnet, i); | 
| wolffd@0 | 27 end | 
| wolffd@0 | 28 | 
| wolffd@0 | 29 clear engine; | 
| wolffd@0 | 30 engine{1} = gaussian_inf_engine(bnet); | 
| wolffd@0 | 31 engine{2} = jtree_inf_engine(bnet); | 
| wolffd@0 | 32 | 
| wolffd@0 | 33 [err, time] = cmp_inference_static(bnet, engine); | 
| wolffd@0 | 34 | 
| wolffd@0 | 35 Nsamples = 100; | 
| wolffd@0 | 36 samples = cell(N, Nsamples); | 
| wolffd@0 | 37 for s=1:Nsamples | 
| wolffd@0 | 38 samples(:,s) = sample_bnet(bnet); | 
| wolffd@0 | 39 end | 
| wolffd@0 | 40 bnet2 = learn_params(bnet, samples); | 
