基于广度优先搜索的贝叶斯网络结构精确建模方法技术

技术编号:30542518 阅读:26 留言:0更新日期:2021-10-30 13:20
本发明专利技术为一种基于广度优先搜索的贝叶斯网络结构精确建模方法,其克服了现有技术中存在的传统的基于深度优先搜索的算法效率有待提高的问题。本发明专利技术包括以下步骤:构建节点集合与其标号所对应的哈希表;计算网络各节点的全家族评分并以哈希表形式存储;对于网络各节点,在其父节点图中,依据广度优先搜索策略,获取最优父节点集合以及评分并以哈希表形式进行存储;在节点序图中,依据广度优先搜索策略,获取各节点组合的最优网络结构评分和最优叶节点并以哈希表形式进行存储;从全节点组合开始,提取最优叶节点和对应叶节点的最优父节点集合组成网络结构的一部分,更新当前节点集,并重复上述过程,直至节点集合为空。直至节点集合为空。直至节点集合为空。

【技术实现步骤摘要】
基于广度优先搜索的贝叶斯网络结构精确建模方法


[0001]本专利技术属于机器学习
,涉及一种基于广度优先搜索的贝叶斯网络结构精确建模方法。

技术介绍

[0002]贝叶斯网络起源于人工智能领域的研究,近年来,已成为国内外智能数据处理的研究热点之一,被广泛应用于专家系统、决策支持、模式识别、机器学习和数据挖掘等领域。贝叶斯网络能够系统地描述随机变量之间的关系并可用于概率推理。概率推理依赖于联合概率分布,随着变量个数的增加,联合概率分布的复杂度呈指数级增长,因此当变量众多时无法直接计算联合概率分布。贝叶斯网络通过分解计算联合概率分布,降低了知识获取的难度和概率推理的复杂度,使得概率论可以应用于不确定复杂系统的建模和复杂系统变量间相互关系的分析问题中。
[0003]贝叶斯网络学习是其推理和应用的基础与前提,网络学习又分为结构学习和参数学习,其中结构学习确定整个网络的结构,定性地表达变量间的因果依赖关系;而参数学习则对这些关系进行量化。相较于参数学习,网络结构的学习对准确性的要求更高。因为多余的有向弧既增加了需要学习的概率参数,也错误地描述了因果关系;而“正确”有向弧的缺乏所带来的误差无法由概率参数的无限准确来弥补,并且难以准确地描述应有的因果关系。
[0004]贝叶斯网络结构学习算法众多,根据不同的准则有多种分类方式,三种典型的准则为:搜索空间、搜索方法以及搜索策略。依据搜索空间,贝叶斯网络结构学习算法可以分为:基于网络空间的搜索算法和基于节点序空间的搜索算法,其中,网络结构可依据搜索得到的节点序利用特定方法确定。相较基于网络空间的搜索算法而言,基于节点序空间的搜索算法在性能上存在如下优势: (1)搜索空间更小,对于一个具有n个变量的数据集而言,存在种可能的网络结构,而相应的节点序个数则为2
O(nlogn)
个;(2)搜索效率更高,在节点序空间中搜索的每一步无需构建网络结构和进行条件独立性测试;(3)搜索过程中的每一步对当前假设进行的全局性修改程度更大。因此,基于节点序空间研究贝叶斯网络的结构学习更有意义。节点序空间中,基于动态规划的精确学习算法是普遍公认的有效算法,但传统的基于深度优先搜索的算法效率有待提高,因此研究如何提高节点序空间中贝叶斯网络精确学习建模方法具有重要的意义和显著的价值。
[0005]基于动态规划的贝叶斯网络结构精确学习算法有两个重要的概念,分别为节点序图和父节点图,如图2所示。节点序图蕴含了网络结构中的所有可能节点序列,而父节点图则包含了特定节点的所有候选父节点集合。对于具有4个节点的贝叶斯网络的节点序图而言,按从左至右的顺序,以X1为叶节点时在深度优先搜索原则下的部分搜索策略如图3所示,搜索顺序为:
图中,实线表示算法的前向搜索,虚线代表回溯操作。对于以节点X2,X3,X4为叶节点时的搜索顺序与此类似。对于节点X1的父节点图而言,按从左至右的顺序,在深度优先搜索原则下的搜索策略如图4所示,搜索顺序为:图中,实线表示算法的前向搜索,虚线代表回溯操作。节点X2,X3,X4的父节点图搜索顺序与此类似。基于深度优先搜索策略的动态规划精确学习能够在全局寻找到最优的网络结构,然而,由于算法在迭代过程中总是需要执行回溯操作,因此算法的搜索效率较低。

技术实现思路

[0006]本专利技术的目的在于提供一种基于广度优先搜索的贝叶斯网络结构精确建模方法,以解决传统动态规划算法效率低下的问题。
[0007]为实现上述目的,本专利技术采用的技术方案为:
[0008]一种基于广度优先搜索的贝叶斯网络结构精确建模方法,其特征在于:包括以下步骤:
[0009]步骤1,构建节点集合与其标号所对应的哈希表,将节点集合以二进制编码的形式表示,在评分查找过程中,以十进制标号代替节点集合;
[0010]步骤2,计算网络各节点的全家族评分并以哈希表形式存储;
[0011]步骤3,对于网络各节点,在其父节点图中,依据广度优先搜索策略,获取最优父节点集合以及评分并以哈希表形式进行存储;
[0012]步骤4,在节点序图中,依据广度优先搜索策略,获取各节点组合的最优网络结构评分和最优叶节点并以哈希表形式进行存储;
[0013]步骤5,从全节点组合开始,提取最优叶节点和对应叶节点的最优父节点集合组成网络结构的一部分,更新当前节点集,并重复上述过程,直至节点集合为空。
[0014]步骤(1)中,将节点集合以二进制编码的形式表示,对于n个节点的集合,设置一个位数为n的二进制数组b,对于某个集合U,若X
i
∈U,则b的第i位置1,否则置0,随后通过哈希函数将其转换为十进制标号。在评分查找过程中,以该十进制标号代替节点集合。
[0015]步骤(2)中,网络各节点的全家族评分为:
[0016][0017]其中,X表示某一网络节点,V表示网络全节点集合,PS表示节点X的父节点集合,Score表示给定父节点集合条件下节点X的家族评分;
[0018]步骤(2)包括以下步骤:
[0019](2a)构造遍历第1个到第n个贝叶斯网络节点的循环;
[0020](2b)以除当前节点外的剩余节点构造候选父节点集合Candi_Par={1:n}\i;
[0021](2c)依据哈希表构建Candi_Par的所有子集subsets,其中,∪subsets=Candi_Par;
[0022](2d)构造遍历第1个到第2
n
‑1个子集集合的循环;
[0023](2e)以当前子集作为父节点集合,以当前节点作为子节点集合,计算家族评分Score(i|subsets{j}),并以哈希表的形式存储,其中i是当前节点的下标,j是当前子集的下标。
[0024]步骤(3)中,最优父节点集合及其评分为:
[0025][0026][0027]其中,Pa(X)表示节点X的最优父节点集合,因此Pa(X)是PS的子集;
[0028]步骤(3)包括以下步骤:
[0029](3a)针对网络中的某一节点,构造遍历从其第2
n
‑1个到第1个候选父节点集合的逆循环;
[0030](3b)将当前候选父节点集合序号由十进制转换为二进制数组并赋值给bit_array;
[0031](3c)查找二进制数组bit_array中哪些位置为1,并将结果赋值给数组I_ba;
[0032](3d)对二进制数组bit_array求和并将结果赋值给变量n_sub_candi;
[0033](3e)构造全0数组Parents,置父节点图中每个节点所对应的最优父节点集合评分bss为负无穷;
[0034](3f)构造遍历0到2^n_sub_candi

1序号的循环;
[0035](3g)将当前序号由十进制转换为二进制数组并赋值给sub_bit_array;
[0036](3i)将二进制数组Parents转换为十进制并赋值给变量dec本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于广度优先搜索的贝叶斯网络结构精确建模方法,其特征在于:包括以下步骤:步骤1,构建节点集合与其标号所对应的哈希表,将节点集合以二进制编码的形式表示,在评分查找过程中,以十进制标号代替节点集合;步骤2,计算网络各节点的全家族评分并以哈希表形式存储;步骤3,对于网络各节点,在其父节点图中,依据广度优先搜索策略,获取最优父节点集合以及评分并以哈希表形式进行存储;步骤4,在节点序图中,依据广度优先搜索策略,获取各节点组合的最优网络结构评分和最优叶节点并以哈希表形式进行存储;步骤5,从全节点组合开始,提取最优叶节点和对应叶节点的最优父节点集合组成网络结构的一部分,更新当前节点集,并重复上述过程,直至节点集合为空。2.根据权利要求1所述的基于广度优先搜索的贝叶斯网络结构精确建模方法,其特征在于:步骤(1)中,将节点集合以二进制编码的形式表示,对于n个节点的集合,设置一个位数为n的二进制数组b,对于某个集合U,若X
i
∈U,则b的第i位置1,否则置0,随后通过哈希函数将其转换为十进制标号。在评分查找过程中,以该十进制标号代替节点集合。3.根据权利要求1所述的基于广度优先搜索的贝叶斯网络结构精确建模方法,其特征在于:步骤(2)中,网络各节点的全家族评分为:其中,X表示某一网络节点,V表示网络全节点集合,PS表示节点X的父节点集合,Score表示给定父节点集合条件下节点X的家族评分;步骤(2)包括以下步骤:(2a)构造遍历第1个到第n个贝叶斯网络节点的循环;(2b)以除当前节点外的剩余节点构造候选父节点集合Candi_Par={1:n}\i;(2c)依据哈希表构建Candi_Par的所有子集subsets,其中,∪subsets=Candi_Par;(2d)构造遍历第1个到第2
n
‑1个子集集合的循环;(2e)以当前子集作为父节点集合,以当前节点作为子节点集合,计算家族评分Score(i|subsets{j}),并以哈希表的形式存储,其中i是当前节点的下标,j是当前子集的下标。4.根据权利要求1所述的基于广度优先搜索的贝叶斯网络结构精确建模方法,其特征在于:步骤(3)中,最优父节点集合及其评分为:在于:步骤(3)中,最优父节点集合及其评分为:其中,Pa(X)表示节点X的最优父节点集合,因此Pa(X)是PS的子集;步骤(3)包括以下步骤:(3a)针对网络中的某一节点,构造遍历从其第2
n
‑1个到第1个候选父节点集合的逆循环;(3b)将当前候选父节点集合序号由十进制转换为二进制数组并赋值给bit_array;
(3c)查找二进制数组bit_array中哪些位置为1,并将结果赋值给数组I_ba;(3d)对二进制数组bit_array求和并将结果赋值给变量n_sub_candi;(3e)构造全0数组Parents,置父节点图中每个节点所对应的最优父节点集合评分bss为负无穷;(3f)构造遍历0到2^n_sub_candi

1序...

【专利技术属性】
技术研发人员:贺楚超王鹏邸若海吕志刚李晓艳许韫韬张玉芳李亮亮孙梦宇辛泊言
申请(专利权)人:西安工业大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1