To check out this repository please hg clone the following URL, or open the URL using EasyMercurial or your preferred Mercurial client.
root / _FullBNT / BNT / CPDs / @discrete_CPD / log_prob_node.m @ 8:b5b38998ef3b
History | View | Annotate | Download (493 Bytes)
| 1 |
function L = log_prob_node(CPD, self_ev, pev) |
|---|---|
| 2 |
% LOG_PROB_NODE Compute sum_m log P(x(i,m)| x(pi_i,m), theta_i) for node i (discrete) |
| 3 |
% L = log_prob_node(CPD, self_ev, pev) |
| 4 |
% |
| 5 |
% self_ev(m) is the evidence on this node in case m. |
| 6 |
% pev(i,m) is the evidence on the i'th parent in case m (if there are any parents). |
| 7 |
% (These may also be cell arrays.) |
| 8 |
|
| 9 |
[P, p] = prob_node(CPD, self_ev, pev); % P may underflow, so we use p |
| 10 |
tiny = exp(-700); |
| 11 |
p = p + (p==0)*tiny; % replace 0s by tiny |
| 12 |
L = sum(log(p)); |