如果我们在贝叶斯网络中有一个节点X
,它有一个子节点Y
,为什么可以正确地将P(Y)
表示为P(Y|X)P(X)
?这是否意味着X
是Y
的必要条件?
回答:
贝叶斯网络
贝叶斯网络中的一条边表示变量是条件依赖的。如果节点之间没有任何路径连接,它们就是条件独立的。
有一个节点X
及其子节点Y
意味着你需要学习以下内容:
- 当
X
为真时,Y
为真的概率是多少? - 当
X
为假时,Y
为真的概率是多少?
更一般地说:如果X
可以有n
个值,Y
可以有m
个值,那么你需要学习n * (m - 1)
个值。这里的- 1
是因为概率总和需要等于1。
示例
我们继续使用简单的二元变量案例,并使用维基百科的以下内容:
假设X
是RAIN(下雨),Y
是SPRINKLER(洒水器)。你想用X
(下雨)来表达Y
(洒水器)。
贝叶斯定理指出:
P(Y|X) = P(X|Y) * P(Y) / P(X)<=> P(Y) = P(Y | X) * P(X) / P(X | Y)
现在我们对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