贝叶斯网络(Bayesian Networks)
目录 |
贝叶斯网络也称为信度网、因果网,是指基于概率分析、图论的一种不确定性知识的表达和推理的模型。主要用于表示变量之间的依赖关系,并为任何全联合概率分布提供一种简明的规范。贝叶斯网表达了各个节点间的条件独立关系,可以直观地从贝叶斯网中得出属性间的条件独立以及依赖关系;另外可以认为贝叶斯网以另一种形式表示出了事件的联合概率分布,根据贝叶斯网的网络结构以及条件概率表(CPT)可以快速得到每个基本事件(所有属性值的一个组合)的概率。
1.可以非常直观地显示事件(节点)间的因果关系。经典统计学里,预测模型通常基于数据驱动的方法,例如常用的回归算法通常采用大量的历史数据去建立独立和非独立变量的数学模型。这种方法无法融合专家的经验知识,也无法揭示变量之间的因果关系,而实际中很多情况下无法获得足够的数据去建立模型,贝叶斯网络很好地克服这些缺陷,在数据不足的情况下,可以依靠专家知识建模。
2.可以进行双向推理,既可以从原因推理结果也可以从结果推理原因。当证据被提供到任何一个变量,贝叶斯网络能够更新模型中所有其他变量的概率。因此,当输入一个证据到结果变量的时候,贝叶斯网络模型将进行反向概率繁殖,推理出原因变量的概率。这样的反向推理能力是其他经典概率推理方法不能做到的。
3.可以利用新的证据推翻先前的推理。
4.可以在数据不完整的情况下进行推理,亦即无需为所有的输入变量提供证据就可以进行推理,而经典的统计预测模型通常要求完整的输入数据。
5.可以结合多种不同类型的数据,例如主观经验数据或者客观数据。
6.贝叶斯网络模型中所有的节点都可见。不像神经网络、经典回归模型等,只有输入输出节点可见,中间节点变量是隐藏的。
1.确定随机变量间的拓扑关系,形成DAG
这一步通常需要领域专家完成,而想要建立一个好的拓扑结构,通常需要不断迭代和改进才可以。
2.训练贝叶斯网络
这一步也就是要完成条件概率表的构造,如果每个随机变量的值都是可以直接观察的,像我们上面的例子,那么这一步的训练是直观的,方法类似于朴素贝叶斯分类。但是通常贝叶斯网络的中存在隐藏变量节点,那么训练方法就是比较复杂,例如使用梯度下降法。由于这些内容过于晦涩以及牵扯到较深入的数学知识,在此不再赘述,有兴趣的朋友可以查阅相关文献。