bnmsgpassupdate.m
来自「关于医学诊断系统matlab实现 v 关于医学诊断系统matlab实现」· M 代码 · 共 34 行
M
34 行
function [nodes, edges, A, ahat] = bnMsgPassNetUpdate(nodes, edges, A, ahat, V, vhat)
% BNMSGPASSUPDATE helper function for lungbayesdemo
% Reference: Neapolitan R., "Learning Bayesian Networks", Pearson Prentice Hall,
% Upper Saddle River, New Jersey, 2004.
A = union(A, V);
ahat = union(ahat, vhat);
for v = 1:length(nodes(V).values) % for each node value
if v ~= vhat
nodes(V).lambda(v) = 0;
nodes(V).peye(v) = 0;
nodes(V).P(v) = 0;
else
nodes(V).lambda(vhat) = 1;
nodes(V).peye(vhat) = 1;
nodes(V).P(vhat) = 1;
end
end
Z = nodes(V).parents;
Z = setdiff(Z,A);
for pa = 1:length(Z)
[nodes, edges] = bnMsgPassSendLambdaMsg(V, Z(pa), nodes, edges, A);
end
childrenV = nodes(V).children;
for cv = 1:length(childrenV)
[nodes, edges] = bnMsgPassSendPiMsg(V,childrenV(cv), nodes, edges, A);
end
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?