杂志的下一篇文章
基于参数辨识和模糊PID控制的柔性关节机器人振动抑制
期刊上的上一篇文章
关于重新配置问题的特别问题
 
 
订购文章重印
字体类型:
宋体 佐治亚州 宋体,Verdana
字体大小:
澳大利亚 澳大利亚 澳大利亚
行距:
列宽:
背景:
第条

贝叶斯网络结构学习中基于差分进化的协同进化蚁群优化算法

1
北京工业大学信息技术学院,北京100124
2
教育部数字社区工程研究中心,北京100124
北京城市轨道交通实验室,北京100124,中国
*
信件应寄给的作者。
算法 2018,11(11) ,188;https://doi.org/10.3390/a11110188
收到的提交文件:2018年10月17日/修订日期:2018年11月8日/接受日期:2018年11月16日/发布日期:2018年11月19日

摘要

:
从数据中学习贝叶斯网络(BNs)结构越来越受到关注。已经引入了许多启发式算法来搜索与给定训练数据集最匹配的最优网络。为了进一步提高蚁群优化算法(ACO)在学习BNs结构方面的性能,提出了一种新的改进的协同进化ACO算法(coACO),该算法以信息素信息为协作因子,以差分进化(DE)为协作策略。与基本蚁群算法不同,coACO将整个蚁群划分为不同的子蚁群(群),其中采用DE算子来实现协同进化过程。实验结果表明,该算法在收敛性和准确性方面优于基本蚁群算法。

1.简介

贝叶斯网络(BN)[1]也被称为概率信念网络或因果网络[2]是一种图形模型和知识表示工具。BNs可以有效地对一组随机变量之间的依赖或独立关系进行概率描述。BN由一个有向非循环图形结构和一组概率参数组成。有向无环图形结构表示各种变量之间的依赖关系,相应的概率参数指定了它们的依赖程度。最近,从数据集中学习BN结构受到了越来越多的关注[],研究人员引入了各种学习算法来获得BN的结构。根据造型类型[,4,5],这些结构学习算法可以分为基于检测条件独立性的方法[6,7]也称为基于约束的方法,即“分数+搜索”方法[1,2,8,9,10,11,12,13],以及结合上述两种方法的算法[14,15,16,17]. 对于分数+搜索方法,将BN结构学习建模为一个优化问题。评分指标用于评估候选网络结构的好坏[]与数据集匹配。候选网络结构与数据集的匹配程度越高,得分越高。因此,可以使用优化技术来搜索得分最高的网络结构。然而,为BN搜索最佳网络是一个NP-hard问题[5,18]这意味着这些精确的方法变得不可行。因此,近似算法对于快速获得足够高质量的网络结构非常有用。贪婪搜索方法,包括K2算法和许多元神经方法,如遗传算法(GA)[12]进化编程(EP)[12]和粒子群优化(PSO)[14],常用于解决BN学习问题。
作为一种基于群体的元神经技术,蚁群优化(ACO)也被成功地引入到从数据集学习BN结构的问题中[1,2,8,14,15]. ACO最初是在真实蚂蚁系统集体行为的启发下提出的[19,20],已经应用于广泛的优化问题。Campos等人[2]首先将蚁群算法引入到BN结构学习问题中。他们描述了使用ACO解决BN学习问题所需的所有要素,对比实验表明,ACO的性能优于分布估计算法(EDA)和贪婪爬山算法(HC)。基于基于约束的局部发现算法,Pinto等人[1]提出了一种局部发现的ACO方法,该方法使用条件依赖检验max-min父母和子女的方法。Ji等人[15]提出了一种结合ACO、条件独立性检验和模拟退火(SA)策略的混合方法,其混合ACO方法在计算时间和搜索能力方面优于基本ACO。然而,上述基于ACO的混合算法存在两个缺点。首先,条件独立性测试会使计算更加复杂和不可靠[]. 其次,当变量数量很大时,基于ACO的算法很容易陷入局部最优解,导致过早停滞。为了避免条件独立性测试带来的缺陷,有必要改进ACO算法的固有搜索机制。
本文提出了一种改进的蚁群算法,以提高基本蚁群算法在解决BN结构学习问题时的收敛性和准确性。改进后的蚁群算法将整个蚁群分为几个小的子蚁群,称为群。在每个蚂蚁群中,蚂蚁都会执行各自的动作,从而导致整个蚂蚁群根据其自身的信息向前进化。此外,同时,在不同的群体之间,信息也以合作变量的形式共享,所有的蚂蚁群体将通过合作操作一起进化。协同进化过程中的协同操作基于差分进化(DE)算法[21,22],这导致了所有蚂蚁群体的协同进化过程。提出的改进ACO表示为协同进化ACO(coACO)。coACO算法有两个有趣的特点:(1)分组算子将整个蚁群划分为不同的蚁群,因此,该算法不仅可以实现蚂蚁个体之间的社会合作,还可以实现蚁群之间的合作交互和信息共享;(2) DE算法用于调整协作信息,并引导所有蚁群以协作方式向最优方向进化。
在本文的其余部分中,给出了BN结构学习的问题描述以及ACO算法的介绍第2节中描述了所提出的coACO算法和详细的BN结构学习方法第3节.第4节显示了测试结果。第5节本文得出结论。

2.准备工作

2.1. BN结构学习问题

BN是表示n个-维概率分布。它可以用有向无环图(DAG)来描述G公司X(X),A类, Θ>. G公司,每个节点X(X) X(X)表示感兴趣的随机变量,而每个弧伊吉 A类表示变量之间的直接依赖关系X(X)X(X)j。此外,参数θ=P(P)(X(X)|π),其中θ={θ},表示的条件概率分布X(X)给定其父集合π。根据条件分布,联合概率可以由
P(P) ( X(X) 1 , X(X) 2 , , X(X) n个 ) = = 1 n个 P(P) ( X(X) | π ) .  
提供培训数据库D类=========================================================={x个1,x个2,,x个}由案例,每个案例包含n个变量,其中x个是域变量的实例X(X),BN结构学习的问题是找到与数据集最匹配的BN拓扑结构D类.
如前所述,从数据中学习BN结构的算法主要包括基于约束的方法和分数+搜索方法。基于依赖性分析,现有方法接近BN的语义,实现相对简单[8]. 然而,很难保证获得的结构的精度。此外,高阶测试的计算是复杂和不可靠的。因此,大多数已开发的结构学习算法都属于后者,即分数+搜索方法[,5]将BN结构学习问题视为一个组合优化问题。
基于score+搜索方法的BN结构学习首先使用评分指标来评估候选BN结构与给定数据集的匹配程度,然后找到得分最大的网络结构。流行的评分指标包括Akaike的信息标准(AIC)、贝叶斯信息标准(BIC)、最小描述长度(MDL)得分和贝叶斯-狄利克雷等价性(BDe)指标(通常称为K2指标)[]. 这里,BIC评分量度来自惩罚最大似然,用作确定数据集匹配度的结构,如下所示:
P(P) ( B类 S公司 | D类 ) = = 1 n个 j = 1 q个 k个 = 1 第页 ( N个 j k个 N个 j ) N个 j k个 (f) ( ) 昏暗的 ( B类 S公司 )  
其中,B类S公司是候选BN结构;
第页是变量的可能值的数目X(X);
q个是其父级可能的配置实例化数π;
N个ijk公司是中的案例数D类在哪个变量中X(X)有它的k个-第th个值,π实例化为j-th值,以及 N个 j = k个 = 1 第页 N个 j k个 ;
昏暗的 ( B类 S公司 ) = = 1 q个 ( 第页 1 ) 是BN的尺寸(指定模型所需的参数数量);(f)()是非负惩罚函数,取决于数据集的大小,可以计算为(f)()=0.5·log.
使用(f)(B类S公司,D类)而不是P(P)(B类S公司|D类),BIC评分指标[]定义为:
(f) B类 C类 ( B类 S公司 , D类 ) = 日志 ( = 1 n个 j = 1 q个 k个 = 1 第页 ( N个 j k个 N个 j ) N个 j k个 ) (f) ( ) 昏暗的 ( B类 S公司 ) = = 1 n个 (f) B类 C类 ( x个 , π )  
哪里
(f) B类 C类 ( x个 , π ) = j = 1 q个 k个 = 1 第页 ( N个 j k个 日志 N个 j k个 N个 j ) 1 2 日志 q个 ( 第页 1 ) .  
评分指标的一个理想且重要的特征是,在存在完整数据的情况下可以分解,并且(3)表明此处使用的BIC指标是可分解的。使用可分解度量,每次移动改变一个弧的局部搜索过程可以有效评估此更改所获得的改进[2,],因为它可以重用在前面的阶段中进行的大多数计算。此外,BN的得分可以计算为较小因子得分的组合。

2.2. ACO公司

作为一种具有代表性的生物启发元神经算法,ACO是由Dorigo在20世纪90年代首次提出的[19]解决旅行商问题(TSP)。到目前为止,ACO已被证明是一种在广泛领域中解决各种优化问题的更通用框架[23,24,25]例如job-shop调度、数据挖掘、路由问题等复杂的优化问题。研究人员在观察真正的蚂蚁群落的觅食行为时发现,真正的蚂蚁在行走时会沉积一种叫做信息素的化学物质。信息素可以积累和蒸发,通过这些信息素,蚁群可以进行间接通信,最终达到合作的目的。蚂蚁可以闻到信息素并根据信息素的数量以概率的方式选择自己的方式。在一条路线上沉积的信息素越多,蚂蚁选择该路线的可能性就越大。同时,在蚂蚁旅行的较短路线上,信息素的积累速度比在较长路线上更快。因此,在较短的路线上,信息素的数量增加得越快,蚂蚁沿着这条路线旅行的可能性就越大。在信息素缺失的初始阶段,蚂蚁完全随机地选择它们的路径,但经过一段短暂的时间后,最短的路径将越来越频繁地被访问,信息素在它们身上的积累将越来越快,这反过来将吸引越来越多的蚂蚁选择这些路径。
ACO的数学模型描述如下。M(M)蚂蚁是蚂蚁的数量,和矩阵τ(t吨) = {τ伊吉(t吨)}是信息素,其中的元素τ伊吉(t吨)是节点弧上沉积的信息素水平到节点j,时间t吨每个有向弧上信息素的初始水平是一个常量,即。,τ伊吉(0)=τ0每个蚂蚁通过有限的相邻节点序列来构建问题的可能解决方案,这些移动由蚂蚁的内部状态、特定于问题的局部信息以及信息素的共享信息来指导[19]. 对于k个-th ant位于-第个节点,它将移动到下一个节点j-转移概率为的第个节点:
第页 j k个 ( t吨 ) = { [ τ j ( t吨 ) ] α [ η j ] β 单位 o个 w个 e(电子) d日 k个 [ τ 单位 ( t吨 ) ] α [ η 单位 ] β 如果   j o个 w个 e(电子) d日 k个 0 否则  
哪里η伊吉表示有关问题的启发式信息,允许k个表示的可行域k个-第个蚂蚁在-第个节点,和αβ是决定信息素相对于启发式信息的相对重要性的参数。
此外,为了在开采和勘探之间取得平衡[2],引入了不同的转换规则,并且下一个节点 j 选择为:
j = { 参数 最大值 单位 o个 w个 e(电子) d日 k个 {   [ τ 单位 ( t吨 ) ] [ η 单位 ] β } 如果   q个 q个 0 J型 否则  
哪里q个是均匀分布在 [ 0 , 1 ] ;q个0 [0,1]是决定开采与勘探相对重要性的参数;J型是根据(1)中的转移概率随机选择的节点α= 1.
当蚂蚁移动并构建可能的解决方案时,信息素矩阵会根据全局更新和局部更新过程进行更新[20]. 至于构建解决方案时的本地更新过程,如果蚂蚁离开节点到节点j,然后对应弧上的信息素水平伊吉更新如下:
τ j ( 1 ψ ) τ j + ψ τ 0  
哪里τ0是所有弧上的初始信息素级别,并且ψ (0,1]表示控制信息素蒸发的参数。在所有蚂蚁构造出一个解后,只有获得最佳解的蚂蚁才能在弧上增强信息素水平,这就是最佳解,S公司+,目前为止由蚁群获得。全局更新规则可以表示为
τ j ( t吨 + 1 ) = ( 1 ρ ) τ j ( t吨 ) + ρ Δ τ j  
Δ τ j = { 1 (f) ( S公司 + ) 如果   { , j } S公司 + τ j 否则  
哪里ρ (0,1]是可以控制信息素蒸发的参数,并且(f)(S公司+)是与最佳解决方案相关的成本S公司+以下算法1显示了应用于优化问题的ACO完整算法[19].
算法1:ACO算法。
/*初始化*/
1设置迭代计数器= 0;
2生成M(M)蚂蚁蚂蚁,并初始化信息素矩阵;
/*迭代搜索*/
虽然不满足终止标准
4迭代计数器=+1个
5对于 =1:M(M)蚂蚁
  /*构建可能的解决方案*/
6  虽然解决方案尚未完成
7   根据概率转移规则随机选择状态/节点;
8   根据局部更新规则更新信息素;
9  结束while
10结束
 /*信息素更新*/
11选择最佳解决方案并执行全局更新过程;
12结束while
13返回最佳解决方案S公司+.

2.3. 适用于BN的ACO

使用基本的ACO算法,可以在基于分数+搜索框架的可能网络空间中找到最佳网络[1,2]. 从一个空白网络开始,蚁群逐步搜索好的单步变化,以构建一个完整的BN。每个蚂蚁随机连接两个变量,并确定是否应将弧包含在BN结构中。如施工过程所示图1[2,14,15],蚂蚁使用从空白网络开始的解决方案的增量构造G公司0通过连接弧伊吉=========================================================={X(X)X(X)j}然后将其添加到当前网络,即。,G公司小时+1=G公司小时伊吉当无法添加弧以获得更高的BN结构分数时,蚂蚁的建造过程将停止,并获得最终解决方案G公司在所有候选弧上放置的信息素和启发式信息用于指导网络构建过程。蚂蚁的随机规则k个选择圆弧伊吉从当前可选弧开始
j = { 参数 最大值 e(电子) o个 w个 e(电子) d日 k个 {   [ τ e(电子) ( t吨 ) ] [ η e(电子) ( t吨 ) ] β } 如果   q个 q个 0 A类 j 否则  
哪里A类伊吉是根据以下概率随机选择的弧:
第页 j k个 ( t吨 ) = { [ τ j ( t吨 ) ] [ η j ( t吨 ) ] β E类 单位 v(v) o个 w个 e(电子) d日 k个 [ τ 单位 v(v) ( t吨 ) ] [ η 单位 v(v) ( t吨 ) ] β 如果   j o个 w个 e(电子) d日 k个 0 否则  
哪里允许k个是由所有候选弧组成的集合,这些候选弧不创建有向循环,并且具有正向启发式信息。q个0是用户设置的阈值。
ACO的最大目标函数是(3)中的BIC评分指标。因此,启发式信息η伊吉弧线的伊吉时间t吨定义为
η j = (f) B类 C类 ( X(X) , π X(X) j ) (f) B类 C类 ( X(X) , π )  
信息素水平τ伊吉在弧上伊吉根据(7)和(8)中描述的本地和全局更新规则进行更改,而增量由
Δ τ j = { 1 | (f) B类 C类 ( G公司 + , D类 ) | 如果   j G公司 + τ j 否则  
哪里G公司+是迄今为止所有蚂蚁发现的最好的BN结构。算法2中介绍了用于学习BN结构的基本ACO算法[2].
算法2:基于ACO的基本BN学习。
/*初始化*/
1设置迭代计数器t吨= 0;
2生成M(M)蚂蚁蚂蚁;
初始化信息素矩阵τ(0):对于所有弧伊吉,套τ伊吉(0) =τ0;
4设置G公司+是一个空图;
/*迭代搜索*/
5虽然不满足终止标准
6迭代计数器t吨=t吨+1个
7对于 k个= 1:M(M)蚂蚁
8  生成空网络G公司k个:对于 = 1 n个, π=ϕ;
9  计算启发式信息:对于 ,j= 1 n个(j) η伊吉=(f)银行识别码(X(X),X(X)j) −(f)银行识别码(X(X),ϕ);
10  虽然 η伊吉> 0
   /*添加圆弧*/
11   选择圆弧伊吉从可行域允许根据(9)和(10);
12   如果 η伊吉> 0然后 π=π∪{X(X)j}并构建网络G公司k个=G公司k个;
13   设置η伊吉=-∞;
   /*避免定向循环*/
14   对于 单位,v(v)= 1 n个
15    如果 G公司k个紫外线包括定向循环,然后 η紫外线= −∞;
16   结束
   /*计算启发式信息*/
17   对于 单位= 1 n个
18    如果 η国际单位> −∞然后 η国际单位=(f)银行识别码(X(X), π∪{X(X)单位}) −(f)银行识别码(X(X), π);
19   结束
   /*本地更新*/
20   更新信息素:τ伊吉= (1 −ψ)·τ伊吉+ψ·τ0;
   /*本地更新*/
21   更新信息素:τ伊吉= (1 −ψ)·τ伊吉+ψ·τ0;
22  结束while
23结束
24 /*信息素更新*/
26选择G公司t吨=arg最大值(f)银行识别码(G公司k个,D类)
27如果 (f)银行识别码(G公司t吨,D类)≥f银行识别码(G公司+,D类),然后 G公司+=G公司t吨
28根据(8)和(12)更新信息素矩阵,使用(f)银行识别码(G公司+,D类)
29结束while
30返回最佳BN结构G公司+.

3.方法

本文介绍了一种新的改进算法coACO来解决BN结构学习问题。coACO结合了几个共同进化算子,以提高基本ACO的性能。首先,将整个蚁群划分为S公司独立的ant组,组数设置为n个,= 1, …,S公司,如所示图2.DE是解决第一届国际进化优化竞赛(第一届ICEO)实值测试函数集的最佳进化算法之一[22]. 因此,DE策略[26,27]用于指导所有蚂蚁群的共同进化过程。如上一节所述,信息素在探索和开发蚁群以构建解决方案方面发挥着重要作用。信息素的合理分布可以直接影响蚂蚁探索解决方案。因此,选择信息素水平作为coACO中所有蚂蚁群共享的合作对象。
对于每个蚂蚁群,信息素水平表示为矩阵τ(t吨) = {τ伊吉(t吨)},= 1, …,S公司每个蚂蚁群与其他蚂蚁群进行通信,并使用信息素作为合作变量来协调其进化过程。coACO引入了基于DE的协调操作来影响信息素,从而实现了信息素在每个蚂蚁群中的更合理分布。
基于DE的协调操作包含变异、交叉和选择操作符[21]. 第一个是变异算子,具体实现如下:
单位 = τ 第页 1 + F类 × ( τ 第页 2 τ 第页 )  
哪里单位(t吨) = {单位伊吉(t吨)},= 1, …,S公司,是供体信息素矩阵。 τ 第页 1 , τ 第页 2 、和 τ 第页 是从蚂蚁群中随机选择的三种不同的信息素矩阵,即第页1第页2第页.实数F类是[0,2]之间的一个正参数,称为突变因子,它控制差异变化的放大 ( τ 第页 2 τ 第页 ) .
第二个是交叉算子,其执行如下:
v(v) j = { 单位 j 如果   第页 j c(c) 第页 τ j 否则  
哪里第页伊吉是为每个弧生成的随机值伊吉按照[0,1]上的均匀分布,是(0,1)内的给定交叉率v(v)(t吨) = {v(v)伊吉(t吨)}是试验信息素矩阵。图3描述了信息素矩阵的交叉过程。
第三个操作符是贪婪选择,执行如下:
τ ( t吨 + 1 ) = { v(v) ( t吨 ) 如果   (f) ( v(v) ( t吨 ) ) (f) ( τ ( t吨 ) ) τ ( t吨 ) 否则  
哪里τ(t吨+1)是-第个蚂蚁群(t吨+1)-第次迭代。每组蚂蚁使用信息素矩阵,根据算法2中第8行到第12行的代码构建网络τ(t吨)或v(v)(t吨). 信息素矩阵的适应度(f)(τ(t吨))或(f)(v(v)(t吨))定义为蚂蚁组基于相应的信息素矩阵获得的BN的最大BIC得分τ(t吨)或v(v)(t吨). 在选择操作之后,所有蚂蚁组使用最佳BN执行信息素全局更新过程G公司+直到当前迭代获得。
我们提出的coACO算法在解决BN结构学习问题中的详细过程可以描述如下:
步骤1。
参数初始化:最大迭代次数为最大值,初始迭代计数器t吨=0,蚂蚁数量M(M)蚂蚁,蚂蚁群的数量S公司、和其他参数α,β,ρ,F类,,q个0.
第2步。
蚂蚁初始化:将整个蚁群划分为不同的蚁群;将每组蚂蚁的数量记录为n个1,n个2、…和n个S公司; 设置初始信息素矩阵τ伊吉(0) =τ0,= 1,2, …,n个S公司对于所有弧伊吉; 设置G公司+成为一个空图。
步骤3。
t吨=t吨+ 1;= 1.
步骤4。
对初始信息素矩阵执行变异和交叉操作τ(t吨)使用等式(13)和(14)计算每个蚂蚁组的信息素,并生成试验信息素矩阵v(v)(t吨).
步骤5。
=+ 1; 如果S公司,返回步骤4。
步骤6。
= 1,k个= 1.
第7步。
这个k个-蚂蚁建造了BNG公司k个(τ)使用信息素矩阵τ根据算法2中第8行到第12行的代码。
第8步。
这个k个-蚂蚁建造了BNG公司k个(v(v))使用信息素矩阵v(v)根据算法2中第8行到第12行的代码。
步骤9。
k个=k个+ 1; 如果k个n个,返回步骤7。
第10步。
计算BIC得分G公司k个(τ),k个= 1, 2, …,n个,选择得分最高的最佳BN,并将得分最高设置为适合度(f)(τ(t吨))的τ.
第11步。
计算的BIC分数G公司k个(v(v)),k个= 1, 2, …,n个,选择得分最高的最佳BN,并将得分最高设置为适合度(f)(v(v)(t吨))的v(v).
步骤12。
比较(f)(τ(t吨))和(f)(v(v)(t吨)),根据(15)选择更好的信息素矩阵,并为蚂蚁组选择相应的BN。
第13步。
=+ 1; 如果S公司,k个=k个+1并返回步骤7。
第14步。
从所有蚂蚁组中选择得分最高的BN,记录为G公司t吨.
第15步。
如果G公司t吨BIC得分大于G公司+,然后G公司+=G公司t吨.
第16步。
更新信息素矩阵τ,= 1, 2, …,S公司,对于每个蚂蚁组,根据(8)和(12)基于G公司+.
第17步。
返回步骤3,直到t吨>最大值.
第18步。
终止并输出最佳BN结构,即G公司+.
用于学习BN结构的coACO算法的上述步骤也可以在算法3中表示为伪码。
算法3:coACO算法学习BN。
/*初始化*/
1设置迭代计数器t吨= 0;
2生成M(M)蚂蚁蚂蚁并将其分为n个S公司组;
初始化信息素矩阵τ(0)中,= 1,2, …,n个S公司:对于所有弧伊吉,套τ伊吉(0) =τ0;
4设置G公司+是一个空图;
/*迭代搜索*/
5虽然不满足终止标准
6迭代计数器t吨=t吨+1个
7对于 = 1:S公司
/*突变*/
8  选择第页1,第页2,第页从[1,2…,S公司]科学技术。第页1第页2第页,并生成施主信息素矩阵单位通过(13)。
  /*渡线*/
9  对于 ,j= 1:n个
10   生成试验向量v(v)=========================================================={v(v)伊吉}根据(14)
11  结束
12结束
13对于 = 1:S公司
  /*信息素矩阵的适应度评价*/
14  对于每只蚂蚁k个在中-第th组
15   构建BN结构G公司k个(v(v))使用信息素矩阵v(v)根据算法1中第8行到第12行的代码;
16   构建BN结构G公司k个(τ)使用信息素矩阵τ根据算法1中第8行到第12行的代码;
17  结束
18  计算每个BN结构的BIC得分G公司k个(v(v)),选择最佳结构并将最大分数分配给(f)(v(v));
19  计算每个BN结构的BIC得分G公司k个(τ),选择最佳结构并将最大分数分配给(f)(τ);
  /*选择*/
20  比较(f)(τ)和(f)(v(v))根据(14)选择较好的一个作为新的信息素矩阵;
21结束
 /*信息素更新*/
22选择最佳结构G公司t吨由不同群体的所有蚂蚁获得;
23如果 (f)银行识别码(G公司t吨,D类)≥f银行识别码(G公司+,D类),然后 G公司+=G公司t吨
24更新每个信息素矩阵τ根据(8)和(12)使用(f)银行识别码(G公司+,D类)
25结束while
26返回最佳BN结构G公司+.

4.结果和讨论

为了评估coACO算法在解决BN结构学习问题中的性能,进行了一系列测试实验,并将提出的coACO与基本ACO进行了比较。所有测试的算法都是使用Matlab-2009a和Murphy开发的贝叶斯网络工具箱(BNT)实现的[28]用于评估BIC分数。实验平台是一台个人电脑,配有Intel(R)Core(TM)i3、3.07GHz CPU、4GB内存和Windows 7。两种ACO算法的参数设置为α= 1,β= 2,q个0= 0.8,ρ=ψ= 0.4,M(M)蚂蚁= 10,n个= 5,= 0.9,F类设为[0.2,0.9]中均匀分布的随机值,最大迭代次数设为最大值= 100. 每个弧上的初始信息素水平为 τ 0 = 1 n个 | (f) B类 C类 ( G公司 K(K) 2 , D类 ) | ,其中 n个 是变量的数量G公司K2(K2)是K2算法使用BNT获得的网络。此外,基于分数+搜索框架的两种传统算法K2和B[2],也进行了比较测试。与基于ACO的方法不同,K2和B算法都不是基于人口的。
学习数据集由BN的著名基准生成,包括ASIA和ALARM网络。ASIA网络由8个节点和8个弧组成,而ALARM网络由37个节点和46个弧组成。使用BNT,我们为ASIA网络生成了10000个案例的数据集,为ALARM网络生成了5000个案例。对于ASIA网络,考虑了由前1000、3000、5000、8000和10000个案例组成的子集。对于报警网络,考虑由前1000和5000个案例组成的子集。表1列出了此处使用的数据集的摘要。
我们对每个数据集分别运行20次随机算法,包括ACO、coACO和K2。多个独立实验的统计结果列于表2为了进行比较,使用了六个指标来评估四种算法的性能,包括每次运行中获得的最佳网络的BIC得分的最大/最佳、平均值、中值和标准偏差。最后一列,成功率(SR公司),被定义为表示获得BIC分数的所有20次跑步的百分比,该分数不小于中列出的相应原始分数表1。可以从中看到表2coACO总能为每个数据集找到更好的BIC分数。这意味着在学习BN结构时,coACO可以比基本ACO算法实现更高效、更鲁棒的性能。每个数据集上20个独立测试的平均演化曲线如所示图4,图5,图6,图7,图8,图9图10这表明了所提出的coACO算法的有效性和快速收敛性。
表3还显示了实验中测试的各种方法的统计结果摘要,其中μ±σ表示独立运行的平均值和标准偏差以及内部值(最好的)是相应的最佳值。指示器它。是算法找到最佳网络结构时的最小迭代次数。指标答:。,D。、和一、。用于表示学习网络和原始网络之间的结构差异,即意外添加的弧数(答:。),已删除(D。)、和反转(一、。)与原始网络相比。
从实验结果可以看出,使用基于DE的协同进化策略,所提出的coACO可以大大提高ACO在解决BN结构学习问题中的性能。就算法的准确性而言,对于所有测试用例,coACO都优于ACO。这种改进不仅适用于BIC分数(参见表2)以及迭代次数和结构差异(请参见表3). 关于效率,进化曲线如图4,图5,图6,图7,图8,图9图10表明coACO比基本ACO需要更少的计算迭代。就稳健性而言,coACO也优于基本ACO,这可以从独立运行的标准偏差中推导出来,如表2表3信息素在溶液构建过程中起着重要作用。DE操作提高了蚂蚁在弧上以最佳结构积累信息素的能力。由于协同进化的特点,coACO可以在几次迭代中将信息素轨迹的分布调整到最佳状态,从而更快地获得最优网络结构。尽管coACO使用了一些额外的运算符,但它的收敛速度要快得多。因此,coACO可以在给定的少量迭代中获得最佳解。

5.结论

本文提出了coACO来改进基本ACO在解决BN结构学习问题中的性能。coACO将整个蚁群划分为几个小的蚁群,并使用信息素作为共享信息和协作因子。蚂蚁群体通过协作交互的协作进化过程,包括信息素信息的传递和群体间最优网络的共享,可以大大提高效率和准确性。基于DE的协同进化机制用于引导所有蚂蚁群的协同进化过程。DE算子可以有效地调整协作信息,引导所有蚂蚁群以协作的方式向最优方向进化。与广泛使用的将ACO与基于约束的技术相结合的方法不同,我们的工作主要集中在改进ACO的固有搜索能力。我们的算法使用BIC度量作为评分函数;然而,它也适用于其他评分指标,如K2和MDL。对比测试结果表明,我们提出的coACO算法在重构BN的质量方面优于ACO、K2和B算法。由于协同进化的特点,coACO可以在几次迭代中将信息素分布调整到最佳状态,从而更快地生成最优网络结构。总之,我们开发的基于coACO的BN结构学习算法有效、准确、高效且易于实现。我们未来的工作将把coACO应用于一个数据不完整的真实项目中更复杂的BN结构学习问题。

作者贡献

概念化,X.Z。;融资收购,S.J。;项目管理,S.J。;软件,X.L。;书面原稿,Y.X。;写作-评论和编辑,X.Z。

基金

这项工作得到了北京市教育委员会、国家自然科学基金(No.61703012)和北京市自然科学基金会(No.4182010)的支持。

致谢

作者还感谢审稿人的宝贵意见和建议,这些意见和建议有助于改进文章。

利益冲突

作者声明没有利益冲突。

工具书类

  1. 平托股份有限公司。;Nägele,A。;Dejori,M。;伦克勒,T.A。;Sousa,J.M.C.使用局部发现蚂蚁算法进行贝叶斯网络结构学习。IEEE传输。进化。计算。 2009,13, 767–779. [谷歌学者] [交叉参考]
  2. Campos,L.M。;Fernández-Luna,J.M。;Gámez,J.A。;Puerta,J.M.用于学习贝叶斯网络的蚁群优化。国际期刊近似原因。 2002,31, 291–311. [谷歌学者] [交叉参考]
  3. 拉腊尼亚加,P。;Karshenas,H。;比尔扎,C。;Santana,R.贝叶斯网络学习和推理任务中进化算法综述。信息科学。 2013,233, 109–125. [谷歌学者] [交叉参考]
  4. 盖萨里,S。;M.R.Meybodi。;Dehghan,M。;基于学习自动机游戏的贝叶斯网络结构训练。国际J·马赫。学习。赛博。 2017,8, 1093–1105. [谷歌学者] [交叉参考]
  5. 马丁内斯·罗德里格斯,A.M。;May,J.H。;Vargas,L.G.贝叶斯网络设计的一种基于优化的方法。数学。计算。模型。 2008,48, 1265–1278. [谷歌学者] [交叉参考]
  6. 卡诺,A。;马塞戈萨,A.R。;Moral,S.A.从数据中学习贝叶斯网络时集成专家知识的方法。IEEE传输。系统。曼赛本。B部分Cybern。 2011,41, 1382–1394. [谷歌学者] [交叉参考] [公共医学]
  7. Campos,L.M。;Castellano,J.G.使用结构限制的贝叶斯网络学习算法。国际期刊近似原因。 2007,45, 233–254. [谷歌学者] [交叉参考]
  8. Zhang,X.Y。;贾,S.M。;李,X.Z。;Guo,G.基于蚁群优化和差分进化学习贝叶斯网络结构。2018年4月20日至23日在新西兰奥克兰举行的2018年第四届控制、自动化和机器人国际会议(ICCAR)会议记录;第354-358页。[谷歌学者]
  9. 阿雷菲,M。;Taheri,S.M.基于模糊数据的可能性贝叶斯推断。国际J·马赫。学习。赛博。 2016,7, 753–763. [谷歌学者] [交叉参考]
  10. 严,L.J。;Cercone,N.进化遗传结构的贝叶斯网络建模。计算。数学。申请。 2010,59, 2541–2551. [谷歌学者] [交叉参考]
  11. 坎提穆里(Khanteymoori,A.R.)。;奥利耶,M.-H。;O.阿巴斯扎德。;Valian,M.基于繁殖群算法的贝叶斯网络结构学习新方法。软计算。 2017,21, 6713–6738. [谷歌学者] [交叉参考]
  12. Wong,M.L。;Leung,K.S.使用基于进化算法的混合方法学习贝叶斯网络的有效数据挖掘方法。IEEE传输。进化。计算。 2004,8, 378–404. [谷歌学者] [交叉参考]
  13. Wang,T。;Yang,J.使用离散粒子群优化学习贝叶斯网络的启发式方法。知识。信息系统。 2010,24, 269–281. [谷歌学者] [交叉参考]
  14. 季建中。;张,H.X。;Hu,R.B.一种基于独立性测试和蚁群优化的贝叶斯网络学习算法。《汽车学报》。罪。 2009,35, 281–288. [谷歌学者] [交叉参考]
  15. 季建中。;张,H.X。;Hu,R.B.基于蚁群优化的贝叶斯网络混合学习方法。申请。软计算。 2011,11, 3373–3384. [谷歌学者] [交叉参考]
  16. 杨,J。;李,L。;Wang,A.G.线性SEM下基于部分相关的贝叶斯网络结构学习算法。知识。基于系统。 2011,24,963–976页。[谷歌学者] [交叉参考]
  17. Baumgartner,K。;法拉利,S。;巴勒莫,G.从有限的数据构建犯罪特征分析的贝叶斯网络。知识。基于系统。 2008,21, 563–572. [谷歌学者] [交叉参考]
  18. M.R.加里。;D.S.约翰逊。计算机与不可修复性:NP-完备性理论指南; WH Freeman出版社:美国纽约州纽约市,1979年。[谷歌学者]
  19. 科罗拉多州。;多里戈,M。;Maniezzo,V.蚁群分布式优化。1991年12月11日至13日在法国巴黎举行的第一届欧洲人工生命会议记录;第134-142页。[谷歌学者]
  20. 多里戈,M。;Maniezzo,V.公司。;Colorni,A.蚂蚁系统:通过协作代理群体进行优化。IEEE传输。系统。人类网络。B部分Cybern。 1996,26, 29–41. [谷歌学者] [交叉参考] [公共医学]
  21. 斯托恩,R。;Price,K.差分进化:一种简单有效的启发式算法,用于连续空间上的全局优化。J.全球。最佳方案。 1997,11, 341–359. [谷歌学者] [交叉参考]
  22. 达斯,S。;Suganthan,P.N.差异进化:最新技术的调查。IEEE传输。进化。计算。 2011,9, 4–31. [谷歌学者] [交叉参考]
  23. 德拉克,J。;南卡罗来纳州加西亚。;莫利纳,D。;Herrera,F.关于使用非参数统计测试作为比较进化算法和群智能算法的方法的实用教程。Swarm进化。计算。 2011,1, 3–18. [谷歌学者] [交叉参考]
  24. Duan,H.B。;Yu,Y.X。;Zhang,X.Y.使用混合元神经ACO-DE算法的无人驾驶飞机三维路径规划。模拟。模型。实际。理论 2010,18, 1104–1115. [谷歌学者] [交叉参考]
  25. 塞拉尼,A。;利奥塔迪,C。;美国耶玛。;坎帕纳,E.F。;法萨诺,G。;Diez,M.船舶水动力学问题同步和异步确定性粒子群优化中的参数选择。申请。软计算。 2016,49,313–334。[谷歌学者] [交叉参考] [绿色版本]
  26. Zhang,X.Y。;Duan,H.B。;Yu,Y.X.基于差分进化的多无人机近距离编队后退地平线控制。科学。中国信息科学。 2010,53, 223–235. [谷歌学者] [交叉参考]
  27. Zhang,X.Y。;Duan,H.B.一种改进的约束差分进化算法,用于无人机全局路径规划。申请。软计算。 2015,26, 270–284. [谷歌学者] [交叉参考]
  28. Murphy,K。Matlab的Bayes Net工具箱。计算。科学。斯达。 2001,33,1024–1034。[谷歌学者]
图1。BN的构建过程。
图1。BN的构建过程。
算法11 00188 g001
图2。协同进化ACO(coACO)的分组操作和协作框架。
图2。协同进化ACO(coACO)的分组操作和协作框架。
算法11 00188 g002
图3。信息素矩阵的交叉过程。
图3。信息素矩阵的交叉过程。
算法11 00188 g003
图4。ACO和coACO在ASIA数据集上获得的平均贝叶斯信息准则(BIC)得分的演化曲线n个= 1000.
图4。ACO和coACO在ASIA数据集上获得的平均贝叶斯信息准则(BIC)得分的演化曲线n个= 1000.
算法11 00188 g004
图5。ACO和coACO在ASIA数据集上获得的平均BIC分数的演变曲线n个= 3000.
图5。ACO和coACO在ASIA数据集上获得的平均BIC分数的演变曲线n个= 3000.
算法11 00188 g005
图6。ACO和coACO在ASIA数据集上获得的平均BIC分数的演变曲线n个= 5000.
图6。ACO和coACO在ASIA数据集上获得的平均BIC分数的演变曲线n个=5000。
算法11 00188 g006
图7。ACO和coACO在ASIA数据集上获得的平均BIC分数的演变曲线n个= 8000.
图7。ACO和coACO在ASIA数据集上获得的平均BIC分数的演变曲线n个= 8000.
算法11 00188 g007
图8。ACO和coACO在ASIA数据集上获得的平均BIC得分的演变曲线n个= 10,000.
图8。ACO和coACO在ASIA数据集上获得的平均BIC分数的演变曲线n个= 10,000.
算法11 00188 g008
图9。ACO和coACO在ALARM数据集上获得的平均BIC分数的演变曲线n个= 1000
图9。ACO和coACO在ALARM数据集上获得的平均BIC分数的演变曲线n个= 1000
算法11 00188 g009
图10。ACO和coACO在ALARM数据集上获得的平均BIC分数的演变曲线n个= 5000.
图10。ACO和coACO在ALARM数据集上获得的平均BIC分数的演变曲线n个= 5000.
算法11 00188 g010
表1。实验中使用的数据集摘要。
表1。实验中使用的数据集摘要。
网络案例数量节点BIC得分
亚洲100088−2261.37
300088−6733.48
500088−11,194.67
800088−17,823.01
10,00088−22,290.78
报警10003746−11,156.05
50003746−48,593.10
表2。各种方法的BIC评分的统计结果。
表2。各种方法的BIC得分统计结果。
网络N个方法最佳中值的平均值最糟糕的标准。SR公司(%)CPU时间(s)
亚洲1000科阿科−2259.70−2259.70−2259.70−2259.700100116.826
ACO公司−2259.73磅−2259.73−2260.94−2262.761.5646074.335
K2(K2)−2267.64−2275.90−2276.53−2288.068.37600.118
B类−2304.07----00.213
3000科阿科−6733.48−6733.48−6733.48−6733.480100173.060
ACO公司−6733.48−6733.47−6736.14−6744.194.37660103.114
K2(K2)−6739.60−6755.06−6755.95−6797.7116.68800.142
B类−6873.20磅----00.276
5000科阿科−11,193.42−11,193.42−11,193.42−11,193.421.92 × 10−12100163.858
ACO公司−11,193.42−11197.08−11,197.23−11,205.134.51240100.373
K2(K2)−11,197.08−11,218.39−11,224.51−11,300.6528.86700.174
B类−11,450.81----00.288
8000科阿科−17,823.01−17,823.01−17,823.01−17,823.010100203.835
ACO公司−17,823.01−17,823.01−17,826.72−17,837.125.77460127.463
K2(K2)−17,834.80−17,844.42−17,863.88−17,951.1338.80500.187
B类−18100.86----00.345
10,000科阿科−22,290.78−22,290.78−22,290.78−22,290.783.83 × 10−12100246.144
ACO公司−22290.78−22,294.73−22,293.15−22,294.732.04340153.925
K2(K2)−22,303.21−22,324.18−22,342.28−22,442.1742.48700.226秒
B类−22,572.73----00.459
报警1000科阿科−10,818.45−10,852.26−10,852.26−10,950.4741.2561006481.540
ACO公司−10,957.50−11,002.89−11,012.03−11,138.5052.2341003687.500
K2(K2)−11,443.44−11694.90磅−11699.26−11,993.50189.45003.285
B类−3,425,441.5----07.913
5000科阿科−48,501.03−48517.21−48,525.78−48579.6428.65610010800.721
ACO公司−49,341.99−49,661.63−49,701.69−50,329.43279.58906921.368
K2(K2)−50,968.63−51,949.21−51,858.65−52,867.42595.8604.867
B类−5,425,441.5----025.681
SR,成功率。
表3。各种方法的统计结果(μ±σ(最佳))。
表3。各种方法的统计结果(μ±σ(最佳))。
网络n个方法它。答:。D。一、。
亚洲1000科阿科6.4 ± 4.76 (1)0 ± 0 (0)1 ± 0 (1)1±0(1)
ACO公司43.8 ± 26.17 (4)0 ± 0 (0)1 ± 0 (1)1.9 ± 2.33 (0)
K2(K2)-0 ± 0 (0)2.5 ± 0.85 (1)4.40 ± 1.90 (2)
B类-01
3000科阿科2.7±1.83(1)0 ± 0 (0)0 ± 0 (0)1 ± 0 (1)
ACO公司47.9±39.02(2)0 ± 0 (0)0 ± 0 (0)3.3 ± 2.95 (1)
K2(K2)-0 ± 0 (0)1.3 ± 0.68 (0)4.6 ± 0.84 (3)
B类-007
5000科阿科4.9 ± 3.87 (1)0 ± 0 (0)1 ± 0 (1)0 ± 0 (0)
ACO公司42.2 ± 22.58 (11)0 ± 0 (0)1 ± 0 (1)2.9 ± 2.88 (0)
K2(K2)-0 ± 0 (0)2.2 ± 0.79 (1)4.8 ± 1.48 (3)
B类-01
8000科阿科6.2 ± 4.00 (2)0 ± 0 (0)0 ± 0 (0)1 ± 0 (1)
ACO公司52.1 ± 31.88 (5)0±0(0)0 ± 0 (0)3.5 ± 3.27 (1)
K2(K2)-0 ± 0 (0)0.9 ± 0.57 (0)5.3 ± 2.11 (2)
B类-004
10,000科阿科4.6 ± 3.60 (1)0 ± 0 (0)0±0(0)0 ± 0 (0)
ACO公司20.5 ± 21.74 (1)0 ± 0 (0)0±0(0)3.2 ± 2.15 (0)
K2(K2)-0 ± 0 (0)0.9 ± 0.57 (0)5.5 ± 2.64 (2)
B类-008
报警1000科阿科64.7 ± 13.12 (17)0 ± 0 (0)5.2 ±1.62 (4)12.7 ± 3.53 (9)
ACO公司81.8 ± 25.02 (57)0 ± 0 (0)9.2 ±1.69 (6)20.8 ± 5.03 (14)
K2(K2)-0 ± 0 (0)15.6 ± 2.55 (13)22.6 ± 4.25 (17)
B类-0642
5000科阿科81.1 ± 15.82 (46)0 ± 0 (0)1.2 ± 0.42 (1)14.6 ± 2.99 (10)
ACO公司58.5 ± 22.27 (20)0 ± 0 (0)5.4±1.429(3)58.5 ± 22.27 (20)
K2(K2)-0 ± 0 (0)10.1 ± 1.969 (7)33.4 ± 3.84 (26)
B类-0197

分享和引用

MDPI和ACS样式

张,X。;薛,Y。;卢,X。;贾,S。贝叶斯网络结构学习中基于差分进化的协同进化蚁群优化算法。算法 2018,11, 188.https://doi.org/10.3390/a11110188

AMA风格

张X,薛毅,卢X,贾S。贝叶斯网络结构学习中基于差分进化的协同进化蚁群优化算法。算法. 2018; 11(11):188。https://doi.org/10.3390/a11110188

芝加哥/图拉宾风格

张向银、薛玉英、卢兴阳和贾松敏。2018.“贝叶斯网络结构学习中基于差分进化的协同进化蚁群优化算法”算法11,编号11:188。https://doi.org/10.3390/a11110188

请注意,从2016年第一期开始,该杂志使用文章编号而不是页码。请参阅更多详细信息在这里.

文章指标

返回页首顶部