about summary refs log tree commit diff
path: root/sourcecodes/bnt-master/BNT/learning
diff options
context:
space:
mode:
authorziejd22018-09-13 23:59:20 -0500
committerziejd22018-09-13 23:59:20 -0500
commite3f7237ffcb19f19db3b68777b5a94b89e07f66a (patch)
tree554a8013776ebeae3e2976074020c09c2d1af8b0 /sourcecodes/bnt-master/BNT/learning
parenta7eb61ff7a09f39bee67014bf24b8919eaccfc19 (diff)
downloadBNW-e3f7237ffcb19f19db3b68777b5a94b89e07f66a.tar.gz
New parameter learning options
The main change here is in the parameter learning methods.  The parameters that are learned at first (i.e., if there is no evidence) are the distributions that are found directly in the data. I had to create or significantly modify several BNT files for this.

If there is evidence, the parameters are learned using a Dirichlet prior. This only required a couple of small changes to the BNW parameter learning files.
Diffstat (limited to 'sourcecodes/bnt-master/BNT/learning')
-rw-r--r--sourcecodes/bnt-master/BNT/learning/learn_params.m3
1 files changed, 3 insertions, 0 deletions
diff --git a/sourcecodes/bnt-master/BNT/learning/learn_params.m b/sourcecodes/bnt-master/BNT/learning/learn_params.m
index 1bf9c843..3d7ba847 100644
--- a/sourcecodes/bnt-master/BNT/learning/learn_params.m
+++ b/sourcecodes/bnt-master/BNT/learning/learn_params.m
@@ -21,6 +21,9 @@ for j=1:n
     fam = family(bnet.dag,j);
     %bnet.CPD{j} = learn_params(bnet.CPD{j}, data(fam,:));
     bnet.CPD{j} = learn_params(bnet.CPD{j}, fam, data, bnet.node_sizes, bnet.cnodes);
+    if ismember(e,bnet.dnodes)
+      bnet.CPD{j} = learn_params_orig(bnet.CPD{j}, j, data, bnet.node_sizes, bnet.cnodes);
+    end
   end
 end