about summary refs log tree commit diff
path: root/sourcecodes/parameter_learning/parameterLearning.m
diff options
context:
space:
mode:
authorziejd22018-09-13 23:59:20 -0500
committerziejd22018-09-13 23:59:20 -0500
commite3f7237ffcb19f19db3b68777b5a94b89e07f66a (patch)
tree554a8013776ebeae3e2976074020c09c2d1af8b0 /sourcecodes/parameter_learning/parameterLearning.m
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/parameter_learning/parameterLearning.m')
-rw-r--r--sourcecodes/parameter_learning/parameterLearning.m5
1 files changed, 3 insertions, 2 deletions
diff --git a/sourcecodes/parameter_learning/parameterLearning.m b/sourcecodes/parameter_learning/parameterLearning.m
index 3ef6c0b3..2c4a1f9f 100644
--- a/sourcecodes/parameter_learning/parameterLearning.m
+++ b/sourcecodes/parameter_learning/parameterLearning.m
@@ -4,7 +4,7 @@ function [ bnet ] = parameterLearning( bnet,cases,engine_name )
 % 
 % This is very basic now. It could be modified to use different engine
 %  types in the future. Now, I always use the 'jtree_inf_engine'.
-% 
+%  with dirichlet priors
 %
 % parameterLearning is called by runBN_initial.m, 
 %   Predictmultiple.m, and Predictmultipleintervention.m
@@ -35,7 +35,8 @@ nnodes = size(dnodes,2)+size(cnodes,2);
 
 %make dnodes tabular_CPT
 for i = 1:size(dnodes,2)
-    bnet.CPD{dnodes(i)} = tabular_CPD(bnet,dnodes(i));
+%    bnet.CPD{dnodes(i)} = tabular_CPD(bnet,dnodes(i));
+    bnet.CPD{dnodes(i)} = tabular_CPD(bnet,dnodes(i),'prior_type','dirichlet');
 end
 
 for i = 1:size(cnodes,2)