如果我们有一个节点X
,在贝叶斯网络中有一个小孩Y
,为什么将P(Y)
表达为P(Y|X)P(X)
是正确的?是否遵循X
是Y
的必要条件?
答案 0 :(得分:0)
贝叶斯网络中的边缘意味着该变量具有条件依赖性。如果节点没有通过任何路径连接,则它们在条件上是独立的。
将节点X
与子Y
结合起来意味着您需要学习:
X
为真,Y
为真的概率是多少?X
为假,Y
为真的概率是多少?更一般地说:如果X可以有n个值而Y可以有m个值,那么你必须学习n * (m - 1)
个值。 - 1
存在,因为概率需要总计为1。
让我们坚持两个变量都是二进制的简单情况,并使用维基百科中的以下内容:
说X是RAIN,Y是SPRINKLER。你想用X(RAIN)来表达Y(SPRINKLER)。
P(Y|X) = P(X|Y) * P(Y) / P(X)
<=> P(Y) = P(Y | X) * P(X) / P(X | Y)
现在我们将Law of total probability应用于X.这意味着,对于X,我们只需浏览所有可能的值:
P(Y) = P(Y | X = true) * P(X = true) +
P(Y | X = false) * P(X = false)
我想这就是你所指的。 P(X=true | Y) = 1
,因为X=true
表示我们已经知道发生了X=true
。 Y是什么并不重要。
为了继续我们的案例,我们现在查找表中的值(X是RAIN,Y是SPRINKLER):
P(Y) = 0.01 * 0.2 + 0.4 * 0.8
= 0.322