贝叶斯网络,层次贝叶斯网络HBN

贝叶斯网络又称信度网络,是一种知识表达的图模型,首次由pearl在1988年提出。主要用于不确定知识的表达和推理领域。近几年,成为机器学习领域的研究热点。在各个领域对标准的贝叶斯网络进行了扩展研究,本文将要介绍的层次贝叶斯网络HBN就是扩展的模型之一。
我们知道,在标准的贝叶斯网络中,所有变量都是一视同仁的,没有主从之分。但是,在现实中观察到的数据经常是有结构化或者层次话的。而这类信息在标准的贝叶斯网络是没法表达的。这也就是HBN提出的理由。
HBN是由Gyftodimos等人研究提出来的。Gyftodimos在2002年的《HBN:a probabilistic reasoning model for stuctured domains》中给出了HBN的递归定义和一些推理算法。之后在2003年的《Learning hierarchical Bayesian networks for human skill modelling》中给出了HBN的网络结构学习和参数学习算法。
下面就简单介绍一下HBN模型。
定义:
HBN在标准的贝叶斯网络中加入了层次化的概念。打个不太恰当的例子,标准的BN和HBN的关系就像是面向过程编程和面向对象编程。
HBN中定义了随机变量之间的两种关系,类型结构关系和概率依赖关系。其中类型结构关系描述了层次化知识,概率依赖关系描述的是变量之间的因果关系。
{CCVNFB2~4V1PMS1H~408DH贝叶斯网络,层次贝叶斯网络HBN
HBN的表达方式有两种,网状结构或者树状结构。HBN是可以根据一个简单的规则转化成等效的标准贝叶斯网络的,如上图所示
网络结构学习
在Gyftodimos的第二篇文章中介绍了一种网络结构学习算法,该算法改编自couper的K2算法。打分函数依然是K2打分函数,步骤是依次求解每个结点的父节点集(可以采用爬山算法求得局部最大值),使得每个结点的打分函数得到最大值,从而得出整个网络的得分函数最大值。
值得说的几点:
1. 如上图,如果B是C的父节点,则B中的所有组成变量BI,BII都将是C中所有组成变量的父节点。
2. 标准贝叶斯网络在用K2算法进行网络结构学习的时候,经常需要假设父节点的最大个数,这是出于网络结构复杂性和结构学习效率来考虑的。这个限制是针对网络中所有的结点。在HBN的网络学习过程也需要设置最大父节点数目,但是由于每个结点的high-level parents不同,这样最后训练出来的网络的每个结点的父节点的个数就会相差很多。
3. 标准贝叶斯网络的很多算法经过修改都应该是能够用来训练HBN的。
参数学习
参数学习可以使用简单的最大似然估计方法或者贝叶斯方法,这里不赘述
推理算法
待补充
应用
HBN作为BN的一种扩展,当然也继承了它的很多用途。例如进行分类
Tags:  贝叶斯网络分类 贝叶斯网络工具箱 动态贝叶斯网络 贝叶斯信念网络 贝叶斯网络

延伸阅读

最新评论

发表评论