【AI】贝叶斯推理网络
2023-06-06 20:03:39

引子

除了自然演绎推理等方法之外,我们也可以从概率论的角度入手,表示知识,进行推理,分析问题。

1. 表示方法

贝叶斯网络是一个有向无环图,每一个节点代表一个变量,也代表着一个条件概率。父节点指向子节点的有向边,并不代表因果关系,而是表示两个节点之间的相关性。每个节点的条件概率以父节点的取值为条件,若$X$节点有$a_1,a_2,\cdots,a_n$共$n$个父节点,其代表的条件概率就是$P(X|a_1a_2\cdots a_n)$。

贝叶斯网络使用简单的局部概率分布(条件概率)来描述复杂联合概率分布。

2. 特点

基于贝叶斯公式和相关知识:

全部节点的联合概率

假设贝叶斯网络里有$X_1,X_2,\cdots,X_n$节点,那么将所有变量的条件概率相乘,就得到了所有变量的联合概率,即:
$$
P(X_1,X_2,\cdots,X_n)=\prod_{i=1}^{a}P(X_i|Parents(X_i))
$$

节点之间的条件独立性判别法: d-seperation

若随机变量$X,Y$在条件$C$下条件独立,则有:
$$
P(X,Y|C)=P(X|C)P(Y|C)
$$
意思就是,在$C$发生的情况下,$X,Y$发生与否与彼此是否发生无关。

d-分离的定义如下:路径$p$被限定集$Z$阻塞(block)当且仅当:

  • 路径$p$含有因果链结构$A\to B\to C$或分连结构$A\leftarrow B\to C$且中间节点$B$在$Z$中。
  • 路径$p$含有汇连结构$A\to B\leftarrow C$且汇连节点$B$及其后代都不在$Z$中。

若$Z$阻塞了节点$X$和节点$Y$之间的每一条路径,则称给定$Z$时,$X$和$Y$是d-分离的,即给定$Z$时,$X$和$Y$条件独立。

举个例子,在贝叶斯网络中,根据节点不同的连接方式,可以得到不同的条件独立关系:

  1. 因果链(Serial Connection,或head-to-tail)

    若确定$X_k$,则$X_iX_j$条件独立。

    img

  2. 分连(Diverging connection,或tail-to-tail)

    若确定$X_k$,则$X_iX_j$条件独立。

    img

  3. 汇连(Converging connection)

    确定$X_k$,$X_iX_j$相关,否则二者条件独立。

    img

3. 贝叶斯网络的概率计算

更加精确地描述该问题:给定贝叶斯网络,如何计算某一个变量的概率。

枚举法

穷举变量的每一种可能性,然后加和即可,该方法简单,但是复杂度过高。

变量消除法

您可以在参考资料中查看相关的操作方法。该方法的思路是,将条件概率分隔开,每次运算都消除一部分变量。

采样法

从概率分布中,抽取N个样本,计算概率即可。然而采样也有多种方式:

1. 拒绝采样

对于后验概率来说,如果我们想要求解$P(C|+s)$(s发生的条件下C发生的概率),那么我们就可以在采样时忽略掉s不发生的样本。这样最终得到的样本数除以总样本数就是该后验概率的值。但是,该方法在C发生概率很小的时候效果不够好。会拒绝掉很多样本。

2. 似然加权采样

求取$P(C|+s,+w)$之类的后验概率时,我们只生成符合$+s,+w$的样本,对除$s,w$以外的变量赋予一个权重,最终计算出相应的概率值。

参考资料

d-seperation

【机器学习系列】概率图模型第四讲:变量消除法和Belief Propagation算法

上一页
2023-06-06 20:03:39
下一页