贝叶斯网络是变量间概率关系的图形模式,节点表示变量,有向边表示变量之间的依赖关系,其数学计算基础是贝叶斯公式。概率推理是贝叶斯网络的最基础应用。具体来说就是在贝叶斯网络模型的基础上,基于设定的证据节点集合计算模型中其它各个节点的边缘概率。一般的贝叶斯网络分析工具都会提供此功能。在实际应用中,经常会遇到计算数个节点联合概率的需要,很少有贝叶斯网络分析工具提供此项服务,下面就谈谈基于贝叶斯网络计算任意联合概率的方法。
计算特定节点的边缘概率最常用的方法是消元法,从数学基础来说,计算特定节点的边缘概率就是以该节点为目标结点,先求出复合概率,然后将复合概率中的非目标节点消掉,得到的矩阵就是该节点的边缘概率。出于效率方面的考虑,复合概率的节点集合通常为包括目标节点自身以及其所有相关节点,而不是模型的全部节点。计算单个节点的边缘概率的方法同样适用于计算联合概率,只不过目标节点不是一个,而是联合概率中的节点集合。获取联合概率矩阵后,根据实际需要,从矩阵中匹配所需的节点状态组合,即可获取联合概率的具体数值。
出于效率和准确性方面考虑,一般需要通过软件工具完成此计算过程。具备计算任意联合概率的贝叶斯网络分析软件并不多,talbay是其中之一。下面以基于“报警”网络模型计算“约翰尖叫”并且“玛丽尖叫”的概率,简介一下应用talbay计算复合概率的过程。
首先应用talbay打开“报警”模型;
然后应用talbay的“启动分析”功能使模型进入运行态,运行态会自动计算各节点的边缘概率。如果有证据节点,可通过点击运行态模型中的相关节点状态名称进行设置。
接着应用talbay的“计算联合概率”功能设置目标结点集合,并完成联合概率的计算。
如上操作,就可计算所需联合概率。