如何求解贝叶斯网络的条件概率

时间:2020-06-16 14:30:13

标签: bayesian bayesian-networks

我有以下贝叶斯网络需要求解Pr(J | C,A,V)

enter image description here

根据解,Pr(J | C,A,V)= 0.81,但我不知道该值是如何计算的。 如有可能,请提供分步方法:

1 个答案:

答案 0 :(得分:0)

P(J | AVC)= P(JAVC)/ P(AVC)

使用

  • P(JAVC)= sum_G P(C)P(V)P(A | VC)P(G | AVC)P(J | G)= P(C)P(V)P(A | VC) sum_G P(G | AVC)P(J | G)
  • p(AVC)= sum_GJ P(C)P(V)P(A | VC)P(G | AVC)P(J | G)= P(C)P(V)P(A | VC) sum_GJ P(G | AVC)P(J | G)

然后

P(J | AVC)= sum_G P(G | AVC)P(J | G)/ sum_GJ P(G | AVC)P(J | G)

使用pyAgrum,您可以编写

f=bn.cpt("G")*bn.cpt("J")
f.margSumOut(["G"])/f.margSumOut(["G","J"])

您将获得

enter image description here

在每个变量都设置为1(即t)的情况下,您可以找到0.81

PS-贝叶斯网络的定义: enter image description here