diff options
Diffstat (limited to 'sourcecodes/bnt-master/BNT/examples/static/Brutti')
7 files changed, 190 insertions, 0 deletions
diff --git a/sourcecodes/bnt-master/BNT/examples/static/Brutti/Belief_IOhmm.m b/sourcecodes/bnt-master/BNT/examples/static/Brutti/Belief_IOhmm.m new file mode 100644 index 00000000..43c6c802 --- /dev/null +++ b/sourcecodes/bnt-master/BNT/examples/static/Brutti/Belief_IOhmm.m @@ -0,0 +1,49 @@ +% Sigmoid Belief IOHMM +% Here is the model +% +% X \ X \ +% | | | | +% Q-|->Q-|-> ... +% | / | / +% Y Y +% +clear all; +clc; +rand('state',0); randn('state',0); +X = 1; Q = 2; Y = 3; +% intra time-slice graph +intra=zeros(3); +intra(X,[Q Y])=1; +intra(Q,Y)=1; +% inter time-slice graph +inter=zeros(3); +inter(Q,Q)=1; + +ns = [1 3 1]; +dnodes = [2]; +eclass1 = [1 2 3]; +eclass2 = [1 4 3]; +bnet = mk_dbn(intra, inter, ns, dnodes, eclass1, eclass2); +bnet.CPD{1} = root_CPD(bnet, 1); +% ========================================================== +bnet.CPD{2} = softmax_CPD(bnet, 2); +bnet.CPD{4} = softmax_CPD(bnet, 5, 'discrete', [2]); +% ========================================================== +bnet.CPD{3} = gaussian_CPD(bnet, 3); + +% make some data +T=20; +cases = cell(3, T); +cases(1,:)=num2cell(round(rand(1,T)*2)+1); +%cases(2,:)=num2cell(round(rand(1,T))+1); +cases(3,:)=num2cell(rand(1,T)); + +engine = bk_inf_engine(bnet, 'exact', [1 2 3]); + +% log lik before learning +[engine, loglik] = enter_evidence(engine, cases); + +% do learning +ev=cell(1,1); +ev{1}=cases; +[bnet2, LL2] = learn_params_dbn_em(engine, ev, 3); \ No newline at end of file diff --git a/sourcecodes/bnt-master/BNT/examples/static/Brutti/Belief_hmdt.m b/sourcecodes/bnt-master/BNT/examples/static/Brutti/Belief_hmdt.m new file mode 100644 index 00000000..88c4ae00 --- /dev/null +++ b/sourcecodes/bnt-master/BNT/examples/static/Brutti/Belief_hmdt.m @@ -0,0 +1,48 @@ +% Sigmoid Belief Hidden Markov Decision Tree (Jordan/Gharhamani 1996) +% +clear all; +%clc; +rand('state',0); randn('state',0); +X = 1; Q1 = 2; Q2 = 3; Y = 4; +% intra time-slice graph +intra=zeros(4); +intra(X,[Q1 Q2 Y])=1; +intra(Q1,[Q2 Y])=1; +intra(Q2, Y)=1; +% inter time-slice graph +inter=zeros(4); +inter(Q1,Q1)=1; +inter(Q2,Q2)=1; + +ns = [1 2 3 1]; +dnodes = [2 3]; +eclass1 = [1 2 3 4]; +eclass2 = [1 5 6 4]; +bnet = mk_dbn(intra, inter, ns, dnodes, eclass1, eclass2); + +bnet.CPD{1} = root_CPD(bnet, 1); +% ========================================= +bnet.CPD{2} = softmax_CPD(bnet, 2); +bnet.CPD{3} = softmax_CPD(bnet, 3, 'discrete', [2]); +bnet.CPD{5} = softmax_CPD(bnet, 6); +bnet.CPD{6} = softmax_CPD(bnet, 7, 'discrete', [3 6]); +% ========================================= +bnet.CPD{4} = gaussian_CPD(bnet, 4); + +% make some data +T=20; +cases = cell(4, T); +cases(1,:)=num2cell(round(rand(1,T)*2)+1); +%cases(2,:)=num2cell(round(rand(1,T))+1); +%cases(3,:)=num2cell(round(rand(1,T)*2)+1); +cases(4,:)=num2cell(rand(1,T)); + +engine = bk_inf_engine(bnet, 'exact', [1 2 3 4]); + +% log lik before learning +[engine, loglik] = enter_evidence(engine, cases); + +% do learning +ev=cell(1,1); +ev{1}=cases; +[bnet2, LL2] = learn_params_dbn_em(engine, ev, 10); \ No newline at end of file diff --git a/sourcecodes/bnt-master/BNT/examples/static/Brutti/Belief_hme.m b/sourcecodes/bnt-master/BNT/examples/static/Brutti/Belief_hme.m new file mode 100644 index 00000000..0b298d48 --- /dev/null +++ b/sourcecodes/bnt-master/BNT/examples/static/Brutti/Belief_hme.m @@ -0,0 +1,37 @@ +% Sigmoid Belief Hierarchical Mixtures of Experts + +clear all +clc +X = 1; +Q1 = 2; +Q2 = 3; +Y = 4; +dag = zeros(4,4); +dag(X,[Q1 Q2 Y]) = 1; +dag(Q1, [Q2 Y]) = 1; +dag(Q2,Y)=1; +ns = [1 3 4 3]; +dnodes = [2 3 4]; +onodes=[1 2 3 4]; +bnet = mk_bnet(dag,ns, dnodes); + +rand('state',0); randn('state',0); + +bnet.CPD{1} = root_CPD(bnet, 1); +bnet.CPD{2} = softmax_CPD(bnet, 2, 'max_iter', 3); +bnet.CPD{3} = softmax_CPD(bnet, 3, 'discrete', [2], 'max_iter', 3); +bnet.CPD{4} = softmax_CPD(bnet, 4, 'discrete', [2 3], 'max_iter', 3); + +T=5; +cases = cell(4, T); +cases(1,:)=num2cell(rand(1,T)); +%cases(2,:)=num2cell(round(rand(1,T)*2)+1); +%cases(3,:)=num2cell(round(rand(1,T)*3)+1); +cases(4,:)=num2cell(round(rand(1,T)*2)+1); + +engine = jtree_inf_engine(bnet, onodes); + +[engine, loglik] = enter_evidence(engine, cases); + +disp('learning-------------------------------------------') +[bnet2, LL2] = learn_params_em(engine, cases, 4); \ No newline at end of file diff --git a/sourcecodes/bnt-master/BNT/examples/static/Brutti/CVS/Entries b/sourcecodes/bnt-master/BNT/examples/static/Brutti/CVS/Entries new file mode 100644 index 00000000..bf214c0a --- /dev/null +++ b/sourcecodes/bnt-master/BNT/examples/static/Brutti/CVS/Entries @@ -0,0 +1,5 @@ +/Belief_IOhmm.m/1.1.1.1/Wed May 29 15:59:54 2002// +/Belief_hmdt.m/1.1.1.1/Wed May 29 15:59:54 2002// +/Belief_hme.m/1.1.1.1/Wed May 29 15:59:54 2002// +/Sigmoid_Belief.m/1.1.1.1/Wed May 29 15:59:54 2002// +D diff --git a/sourcecodes/bnt-master/BNT/examples/static/Brutti/CVS/Repository b/sourcecodes/bnt-master/BNT/examples/static/Brutti/CVS/Repository new file mode 100644 index 00000000..52d4e2ed --- /dev/null +++ b/sourcecodes/bnt-master/BNT/examples/static/Brutti/CVS/Repository @@ -0,0 +1 @@ +FullBNT/BNT/examples/static/Brutti diff --git a/sourcecodes/bnt-master/BNT/examples/static/Brutti/CVS/Root b/sourcecodes/bnt-master/BNT/examples/static/Brutti/CVS/Root new file mode 100644 index 00000000..f3bd14a6 --- /dev/null +++ b/sourcecodes/bnt-master/BNT/examples/static/Brutti/CVS/Root @@ -0,0 +1 @@ +:ext:nsaunier@bnt.cvs.sourceforge.net:/cvsroot/bnt diff --git a/sourcecodes/bnt-master/BNT/examples/static/Brutti/Sigmoid_Belief.m b/sourcecodes/bnt-master/BNT/examples/static/Brutti/Sigmoid_Belief.m new file mode 100644 index 00000000..1a6ecc35 --- /dev/null +++ b/sourcecodes/bnt-master/BNT/examples/static/Brutti/Sigmoid_Belief.m @@ -0,0 +1,49 @@ +% Sigmoid Belief Net + +clear all +clc +dum1 = 1; +dum2 = 2; +dum3 = 3; +Q1 = 4; +Q2 = 5; +Y = 6; +dag = zeros(6,6); +dag(dum1,[Q1 Y]) = 1; +dag(dum2, Q2)=1; +dag(dum3, [Q1 Q2])=1; +dag(Q1,[Q2 Y]) = 1; +dag(Q2, Y)=1; + +ns = [2 2 3 3 4 3]; +dnodes = [1:6]; +bnet = mk_bnet(dag,ns, dnodes); + +rand('state',0); randn('state',0); +n_iter=10; +clamped=0; + +bnet.CPD{1} = tabular_CPD(bnet, 1); +bnet.CPD{2} = tabular_CPD(bnet, 2); +bnet.CPD{3} = tabular_CPD(bnet, 3); +% CPD = dsoftmax_CPD(bnet, self, dummy_pars, w, b, clamped, max_iter, verbose, wthresh,... +% llthresh, approx_hess) +bnet.CPD{4} = softmax_CPD(bnet, 4, 'discrete', [1 3]); +bnet.CPD{5} = softmax_CPD(bnet, 5, 'discrete', [2 3]); +bnet.CPD{6} = softmax_CPD(bnet, 6, 'discrete', [1 4]); + +T=5; +cases = cell(6, T); +cases(1,:)=num2cell(round(rand(1,T)*1)+1); +%cases(2,:)=num2cell(round(rand(1,T)*1)+1); +cases(3,:)=num2cell(round(rand(1,T)*2)+1); +cases(4,:)=num2cell(round(rand(1,T)*2)+1); +%cases(5,:)=num2cell(round(rand(1,T)*3)+1); +cases(6,:)=num2cell(round(rand(1,T)*2)+1); + +engine = jtree_inf_engine(bnet); + +[engine, loglik] = enter_evidence(engine, cases); + +disp('learning-------------------------------------------') +[bnet2, LL2, eng2] = learn_params_em(engine, cases, n_iter); \ No newline at end of file |
