【技术实现步骤摘要】
一种基于蒙特卡洛树搜索的贝叶斯网络结构学习方法与系统
[0001]本专利技术涉及贝叶斯网结构学习,并且更具体地,涉及一种使用蒙特卡洛树搜索的贝叶斯网结构学习算法。
技术介绍
[0002]在贝叶斯网学习中,基于变量序的结构学习算法又称为OBS算法(ordering
‑
based search),指给定一个变量序OBS搜索出与其相一致的贝叶斯网结构,结构中变量X的父结点在中出现的次序必须在变量X之前。在输入一个变量序后,OBS不断对其进行局部交换,以探索评分更高的变量序。原始的OBS算法基于随机采样的来探索与其一致的最优网络,而对n个变量的网络来说的空间大小为n!,即使多次采样也无法保证采样得到的的质量。而且,OBS算法仅用局部交换的方式进行探索,容易陷入局部最优解。
[0003]为了限制结构学习算法的复杂度,需要对贝叶斯网中每个变量的入度进行限制,而父集识别能够克服对入度的严格约束约束。父集识别的方法对每个变量仅计算最可能父集的评分而非所有父集的评分,这样可以不对变量入度做约束。由于贝叶斯网的评分函数 ...
【技术保护点】
【技术特征摘要】
1.一种基于蒙特卡洛树搜索的贝叶斯网结构学习的算法,其特征在于,所述方法包括:先使用父集识别算法IS为每个变量(共n个)探索一组候选父集,并随机采样一个包含所有变量的变量序<0,并根据探索到的父集中的最优父集,为存在较强依赖关系的变量间添加无向边,构建一个无向的骨架图G=(V,E),在满足与变量序相一致的约束下,将无向图G中的无向边有向化,计算有向图的父集得分,将得分最高的变量序记为<
′
,初值为<0;使用蒙特卡洛搜索树进行搜索,结点由变量序<、对应父集得分score、此结点被探索次数T、下一次插入位置pos、经过此路径的最终得分之和sum、叶结点标记leaf(初始为false)和一个上置信边界得分(UCB得分)构成,将初始变量序<0赋给根结点的变量序<
root
,pos
root
设为n
‑
1,记搜索的总次数为t,初值为0;每次搜索从根结点开始,将结点父集得分较低的k个结点后移,得到新变量序并计算父集得分,扩展为若干子结点,选择其中UCB评分最低的子结点进行扩展,直到子结点的父集得分低于父结点的得分score
fa
,若score
fa
高于<
′
的得分则将其更新为<
fa
,将score
fa
向上传递,更新路径上所有节点的UCB评分,令t=t+1,路径上每个节点T=T+1重复若干次搜索;将所得父集得分最高的变量序<
′
送给OBS算法,用局部交换学习出最终的贝叶斯网结构。2.根据权利要求1所述的方法,其特征在于,选择一个可分解的贝叶斯网评分BIC,为节省计算时间采用其近似值BIC
*
,对每个变量X
i
,将仅含一个变量的父集加入open表中,每次取BIC
*
评分最高的父集∏,加入一个变量进行扩展,再加入open表中,直到时间耗尽,得到候选父集,包括:步骤1、对每个变量X
i
,将其只含一个变量的父集添加到一个open表中,并分别计算BIC
*
评分BIC
*
(X
i
,∏)=BIC(X
i
,∏1)+BIC(X
i
,∏2)+inter(X
i
,∏1,∏2),其中步骤2、从open表中弹出BIC
*
评分最高的父集∏,计算其真实BIC评分评分最高的父集∏,计算其真实BIC评分其中m为实例数,m
ijk
为满足X
i
=k,pa(X
i
...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。