前两天做了一个在贝叶斯网络上检查子集间条件独立性的题,认真研究了一番。
题目要求在一个贝叶斯网络模型中,给出X、Y、Z三个集合,检查在观察到集合Z的条件下,集合X和集合Y的条件独立性。
这个题目有两种解法,一种是通过采样来估计,另一种是理论求解。这里,我通过将贝叶斯网络转化为一个无向图,深度优先搜索(DFS)得到所有潜在的从X集到Y集的路径,然后观察Z集中的元素。通过检查每一条路径是否在观测Z集的情况下activated,可以得出条件独立性的最终判断。
算法如下:
题目要求在一个贝叶斯网络模型中,给出X、Y、Z三个集合,检查在观察到集合Z的条件下,集合X和集合Y的条件独立性。
这个题目有两种解法,一种是通过采样来估计,另一种是理论求解。这里,我通过将贝叶斯网络转化为一个无向图,深度优先搜索(DFS)得到所有潜在的从X集到Y集的路径,然后观察Z集中的元素。通过检查每一条路径是否在观测Z集的情况下activated,可以得出条件独立性的最终判断。
算法如下: