贝叶斯网络转换为连接树并进行推理算法计算边际概率
首先将BN结构转换为连接树如下:

其中蓝色结点表示随机变量,黑色结点表示团。团的定义如下:
- 'A, B, C'
- 'B, D, C'
- 'C, E'
每个团的势如下:
- 'A, B, C': P(A)P(B|A)P(C|A) = (0.6)(0.7)(0.7) = 0.294
- 'B, D, C': P(B|A)P(D|B, C)P(C|A) = (0.7)(0.5)(0.7) = 0.245
- 'C, E': P(C|A)P(E|C) = (0.7)(0.5) = 0.35
接下来使用消息传递算法计算每个变量的边际概率。首先计算根结点A的边际概率:
$$P(A) = \sum_{B,C} P(A,B,C) = \sum_{B,C} \phi_{A,B,C}(A,B,C) = \alpha_A \begin{bmatrix} 0.294 \ 0.206 \end{bmatrix} = \begin{bmatrix} 0.51 \ 0.49 \end{bmatrix}$$
其中$\alpha_A$是归一化因子。接下来计算B结点的边际概率:
$$P(B) = \sum_A \sum_C P(A,B,C) = \sum_A \sum_C \phi_{A,B,C}(A,B,C) = \alpha_B \begin{bmatrix} 0.429 \ 0.571 \end{bmatrix} = \begin{bmatrix} 0.5 \ 0.5 \end{bmatrix}$$
可以发现B结点的边际概率已经趋近于平均分布,说明B结点的信息已经传递到了整个连接树。接下来计算D结点的边际概率:
$$P(D) = \sum_B \sum_C P(B,D,C) = \sum_B \sum_C \phi_{B,D,C}(B,D,C) = \alpha_D \begin{bmatrix} 0.245 \ 0.755 \end{bmatrix} = \begin{bmatrix} 0.245 \ 0.755 \end{bmatrix}$$
最后计算E结点的边际概率:
$$P(E) = \sum_C P(C,E) = \sum_C \phi_{C,E}(C,E) = \alpha_E \begin{bmatrix} 0.175 \ 0.825 \end{bmatrix} = \begin{bmatrix} 0.175 \ 0.825 \end{bmatrix}$$
可以发现所有变量的边际概率均已计算完成。
原文地址: https://www.cveoy.top/t/topic/nzsB 著作权归作者所有。请勿转载和采集!