概述
随机对照试验是发现因果关系的黄金准则,然而现实世界中很多问题往往由于道德伦理的原因不允许我们设置干预进行试验,这就引发了在观测数据上学习因果关系的需求。贝叶斯网络是概率论与图论相结合的产物,它用图论的方式直观地表达各变量之间的因果关系,为多个变量之间的复杂依赖关系提供了紧凑有效、简洁直观的统一框架,是表示因果关系的常用工具。当前贝叶斯网络因果图结构学习方法主要分为基于约束的方法、基于评分的方法以及混合学习方法。从观测数据中学习贝叶斯网络的本质在于利用统计学方法建立图形模型,以拟合观测数据,通常需要做出以下假设:
(1)因果充分性假设:假定在给定观测数据上不存在无法观测到的隐藏变量,即排除对确定因果关系造成干扰的隐藏混杂因子。
(2)因果忠实性假设:若网络G蕴含且仅蕴含数据分布P上的所有条件独立性,则G与P是相互忠实的;忠实性假设保证了可以采用G的图结构和条件概率分布来描述概率分布P所蕴含的条件独立性。
(3)因果马尔科夫假设:对网络中任一变量,若其父节点取值确定,则该变量条件独立与其他非后裔节点,该假设确保贝叶斯网络中任意变量及其非后裔节点之间存在D-分离。
基于约束的方法
基于约束的学习算法[5]通过变量之间的条件独立性来判断特定结构的存在性,测试条件独立性的方法通常采用统计或者信息论的度量来实现,故其也称为基于条件独立性的方法。
此类算法一般从无向完全连接图出发,通过条件独立性测试中的置信度来排除噪声数据引起的虚假因果关系从而去除部分无向边,然后基于奥卡姆剃刀准则利用V-结构确定因果方向,定向的原则是网络中不产生回路和新的V-结构。常用的条件独立性测试为基于统计分析的卡方检验或是基于信息论的互信息检验方法。
算法的原始思想是针对每对节点从剩余节点中寻找二者的有向分离集合,对于一个有n个节点的网络来说,每对节点共需进行最多2^(n-2)次条件测试,不同的算法主要区别于进行条件独立测试的顺序不同,通过排除不可能的条件集来降低算法复杂度。典型的算法包括PC算法、IC算法等。基于约束的算法在原理上更接近于贝叶斯网的语义特性,它的效率高,并在实际中获得较好的效果,其缺点是这类方法存在无法判断的因果关系方向,即存在马尔科夫等价类难题。
基于评分的方法
基于评分的方法通过组合优化来学习因果图结构,首先定义评分函数来量化贝叶斯网络与给定数据分布的拟合程度,通过搜索算法找到与数据拟合最好的图结构,评分函数通常满足两大性质:
(1)可分解性:网络的评分可分解为各个节点与其父节点之间的评分的和。可分解性有效提高贝叶斯网络学习的速度,尤其在爬山算法等局部搜索算法中。
(2)评分等价性:由于同一个马尔科夫等价类中的DAG在统计上是不可区分的,因此由统计学方法得到的评分函数对于马尔科夫等价的网络应具有相同的评分值。
常用的评分函数有BIC,BD、MDL等。
搜索策略是为了搜索某个评分函数下分值最高的网络结构,当节点的个数大于1时,寻找最优的模型是NP问题,所以常常采用启发式搜索而非暴力搜索。最基本的方法是贪婪搜索算法,该算法从一个初始模型(可以是空图、随机初始化的图或是利用先验知识人工构建的图)出发开始搜索,搜索的每一步首先利用搜索算子对当前模型进行局部更新,得到一系列候选模型,然后计算每个候选模型的评分,将其中最优模型与当前模型进行比较,若最优候选模型评分更高,则在它基础上进行下一次搜索,反之停止搜索返回当前模型。此外还有FGES算法、爬山算法等。
基于评分的方法避免了高阶条件测试,可以得到较高的精度,但是复杂性较高,运行时间长且易陷入局部最优。
混合方法
混合方法融合上述两种方法来弥补它们各自的缺点,首先利用条件独立性检验来缩小候选图搜索空间的复杂度,接着使用基于评分的方法来找到最佳的网络结构。由于充分利用了基于约束的方法的效率高的特点,并采用评分方法有效避免了容易出现谬误的高阶条件测试,因此能够有效地将计算资源用于搜索解空间最有潜力的区域,进而提高网络学习的精度和效率。典型的混合方法包括最大最小爬山算法、稀疏候选算法等。
最后
以上就是美好绿草为你收集整理的【因果学习】贝叶斯网络结构学习方法的全部内容,希望文章能够帮你解决【因果学习】贝叶斯网络结构学习方法所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复