sum_prod_cpd_and_pi_msgs.m
来自「基于matlab的bayes net toolbox,希望对大家能有些帮助」· M 代码 · 共 26 行
M
26 行
function pi = sum_prod_CPD_and_pi_msgs(CPD, n, ps, msg, except)% SUM_PROD_CPD_AND_PI_MSGS Compute pi = sum_{u\p} P(n|u) prod_{ui in ps\p} pi_msg(ui->n)% pi = sum_prod_CPD_and_pi_msgs(CPD, n, ps, msg, p)%% pi = prod_i (qi pi_msg(ui->n) + 1 - pi_msg(ui->n)) = prod_i (1 - ci pi_msg(ui->n))% is the product of the endorsement withheld (Pearl p188 eqn 4.56)% We skip p from this product, if specified.if nargin < 5, except = -1; endpi = 1;for i=1:length(ps) p = ps(i); if p ~= except pi_from_parent = msg{n}.pi_from_parent{i}; q = CPD.inhibit(i); c = 1-q; pi = pi * (1 - c*pi_from_parent(2)); endend% The pi msg that a leak node sends to its child is [0 1]% since its own pi is [0 1] and its lambda to self is [0 1].q = CPD.leak_inhibit;% 1 - c*pi_from_parent = 1-c*1 = qpi = pi * q;
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?