跳到内容
BY-NC-ND 4.0许可证 开放式访问 发布人:De Gruyter开放存取 2018年8月24日

基于变异算子双速离散粒子群优化的贝叶斯网络学习

  • 王静云 刘三阳 电子邮件徽标
来自日志开放数学

摘要

贝叶斯网络中的结构学习问题是发现一个在某种意义上是给定数据库的最佳表示的有向非循环图。基于分数的学习算法是构造贝叶斯网络的重要结构学习方法之一。这些算法是通过使用一些启发式搜索策略来实现每个候选贝叶斯网络的得分最大化来实现的。该算法中的变异策略可以有效防止早熟收敛,提高种群的搜索能力。我们在从三个著名的基准网络中抽取的数据库上测试了该算法,并与其他算法进行了比较。实验结果证明了该算法在贝叶斯网络学习中的优越性。

1引言

贝叶斯网络是一种概率图形模型,用于表示域中随机变量之间的概率关系,并对这些变量进行概率推理。它们已成功用于建模和推理,以及模式识别等应用[1,2],医疗诊断[,4],风险分析[5,6],计算生物学[7,8,9]以及其他许多人。

从数据中学习BN结构的问题越来越受到关注。BN结构学习算法可以分为两类。基于约束的算法[10,11,12,13]利用条件独立性检验从数据中构造图形;统计或信息论测量用于测试变量之间的条件独立性。利用变量的马尔可夫覆盖知识设计的局部结构学习算法可以在一定程度上减少相关性测试的次数。然而,这些算法依赖于统计测试的准确性,在数据不足或有噪声的情况下,它们的性能可能会很差。基于分数的学习算法[14,15,16]尝试通过使用一些贪婪搜索或启发式搜索算法来最大化每个候选网络的得分函数来构建网络。然而,随着变量数量的增加,所有可能结构的空间迅速增加[17]确定性搜索方法可能无法找到最优解,并且经常陷入局部最优。另一方面,近似或非确定性算法通常有希望解决BN结构的学习问题[18,19]. 为了克服基于分数的算法的缺点,使用群智能算法学习BN结构[20]. 最近,一些群智能算法已成功应用于BN结构学习,如蚁群优化算法(ACO)[21,22,23],人工蜂群算法(ABC)[24],细菌觅食优化(BFO)[25]和粒子群优化(PSO)[26,27,28,29].

尽管这些群智能算法在BN结构学习问题上具有良好的性能,但也可能存在一些不可避免的缺点。例如,在全局优化问题中,粒子群优化算法面临的挑战是,由于其搜索能力差,可能会陷入局部最优。为了增强粒子群优化算法的探索能力,人们提出了许多策略,使其不仅具有易于实现、参数调整少的优点,而且具有快速发现最优解的能力,可以广泛应用于许多研究和应用领域。BN结构学习就是其中之一。经典粒子群优化算法是针对连续问题设计的。为了扩展其应用范围,并将其应用于离散空间学习神经网络,提出了几种离散优化的离散PSO。

为了保持经典粒子群算法在连续空间中的效率、收敛速度快和全局搜索优势,提出了双速离散粒子群算法,并将其应用于图中的steiner树问题和通信网络中的组播路由问题[30,31]. 由于BN结构表示为连接矩阵,其中每个元素为0或1,与BN结构对应的粒子可以用二进制字符串表示。因此,我们采用了与[30,31]. 然而,在粒子群优化算法中,每个粒子都向其过去的最佳位置和迄今为止发现的全局最佳位置移动,挖掘能力增强,但速度的非零元素数量随着迭代次数的增加趋于零。在这种情况下,如果当前的全局最佳位置不是全局最优,则群中的粒子可能会陷入局部最优。为了防止算法陷入局部最优,提高搜索能力,引入了变异策略对每个新粒子进行变异。本文设计了一种高效的双速离散粒子群优化算法和变异算子算法,用于解决BN结构学习(BVD-MPSO-BN)问题。

2个贝叶斯网络和k个2公制

贝叶斯网络是能够表示变量之间独立性和依赖性关系的知识表示工具。一方面,贝叶斯网络是一个有向无环图(DAG)G公司=(X(X),E类),其中X(X)= {X(X)1,X(X)2,⋯,X(X)n个}节点集表示特定域中的随机变量。E类是边的集合,每条边表示一个节点对另一个节点的直接影响。另一方面,贝叶斯网络对随机变量的联合概率分布进行唯一编码。它根据结构分解为

P(P)(X(X)1,X(X)2,,X(X)n个)=π=1n个P(P)(X(X)|P(P)(X(X))),(1)

哪里(X(X))是节点的父节点集X(X)在里面G公司.

在执行从数据中学习BN的记分和搜索方法时,必须指定记分指标。迄今为止,已经提出了许多评价学习网络的评分标准。Cooper和Herskovits(1992)给出了学习BN结构最著名的分数标准之一。给定结构的得分函数G公司培训数据库𝓓是

P(P)(G公司,D类)=P(P)(G公司)π=1n个πj个=1q个(第页1)!(N个j个+第页1)!πk个=1第页N个j个k个!,(2)

哪里n个是变量的数量,每个变量X(X)第页可能的值,q个是变量的父配置数X(X),N个ijk公司是指𝓓中的病例数,其中X(X)具有价值k个使用父配置j个N个j个=k个=1第页N个j个k个.

通过使用上述函数的对数并假设P(P)(G公司),可分解的k个2公制可以表示为

(f)(G公司,D类)=日志(P(P)(G公司,D类))==1n个(f)(X(X),P(P)(X(X))),(3)

哪里(f)(X(X),(X(X)))是k个节点2分X(X)并定义为

(f)(X(X),P(P)(X(X)))=j个=1q个(日志((第页11)!(N个j个+第页1)!)+k个=1第页日志(N个j个k个!)).(4)

3粒子群优化

粒子群优化是一种基于种群的随机优化技术,PSO中的每个粒子都是一个潜在的解,粒子的位置表示为X(X)=(x个i1号机组,x个i2类,⋯,x个身份证件),= 1,2,⋯,N个,其中D类是搜索空间的维度,N个是粒子数。每个粒子都有一个速度V(V)=(v(v)i1号机组,v(v)i2类,⋯,v(v)身份证件). 当粒子更新其位置时,它会记录其过去的最佳位置pbest测试=(pbest公司1,pbest测试2,⋯,pbest测试身份证件)和全球最佳位置gbest标准=(gbest标准1,gbest标准2,⋯,gbest标准D类)被种群中的任何粒子发现。在标准粒子群优化算法中,新的速度是根据其先前的速度、当前位置与其过去最佳位置和全局最佳位置之间的距离来计算的。粒子通过方程式更新其速度后。(5),根据公式。(6)。每个粒子都会将其当前适合度值与自己过去的最佳适合度值进行比较–如果更好,则粒子会使用当前位置及其适合度值更新过去的最佳位置和过去的最佳适应度值。粒子还将其适应度值与全局最佳适应度值进行比较——如果它更好,则粒子将使用当前位置及其适应度值更新全局最佳位置和全局最佳适应度值。

v(v)j个(t吨+1)=ωv(v)j个(t吨)+c1第页1j个(t吨)[第页b条e(电子)t吨j个(t吨)x个j个(t吨)]+c2第页2j个(t吨)[b条e(电子)t吨j个(t吨)x个j个(t吨)],(5)
x个j个(t吨+1)=x个j个(t吨)+v(v)j个(t吨+1),(6)

哪里ω是惯性重量,c1c2是正加速度系数,第页1和第页2是[0,1]范围内两个独立均匀分布的随机值,t吨是迭代次数。

4使用带变异算子的双速离散PSO学习BNs

考虑到原粒子群算法只在连续搜索空间中运行,提出了在离散搜索空间中解决问题的策略,并将其应用于BN结构的学习。为了保持原有的粒子群算法框架,提出了一种双速离散粒子群优化算法,并将其用于图中的steiner树问题[30]通信网络中的组播路由问题[31]. 在本节中,我们打算使用带变异的双速离散粒子群优化算法来解决BN结构的学习问题。

4.1问题表示

BN结构的学习问题是离散的。BN结构可以用n个×n个连通矩阵A类,其每个元素ij公司定义如等式。(7),其中n个是节点数。我们打算使用双速离散粒子群优化算法来解决BN结构的学习问题。粒子的位置编码为二进制字符串:11,12,⋯,1n个,212n个,⋯,n个1,⋯,nn个,类似于[32]. BN结构G公司如所示图1,对应的连接性矩阵A类=0111000011000010000000000,和表示X(X)= (0, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0).

图1贝叶斯网络示例
图1

贝叶斯网络示例

j个=1,(f)第页第页e(电子)n个t吨o(o)(f)j个0,o(o)t吨小时e(电子)第页w个e(电子).(7)

当双速离散粒子群算法用于BN结构学习时,每个粒子的位置表示为

X(X)=(x个1,x个2,,x个D类),(8)

而速度编码为

V(V)=v(v)10v(v)20v(v)j个0v(v)D类0v(v)11v(v)21v(v)j个1v(v)D类1,(9)

哪里D类=n个2,x个j个=0o(o)第页1,0v(v)j个01,0v(v)j个11v(v)j个0是的概率x个ij公司为0,并且v(v)j个1是的概率x个ij公司为1。

4.2初步方案建设

为了生成初始解,我们使用了一种类似于[25]. 每个初始解都是从一个没有任何边的空图开始,然后当且仅当新图是有向无环图且新图的得分高于前一个图的得分时,将缺少的边逐一添加到当前图中。重复此过程,直到添加的边数达到预定义值。通过使用上述方法,生成了一定数量的初始解。

4.3带变异算子的双速离散PSO

4.3.1更新规则

为了将原始粒子群优化算法的概念保持在连续搜索空间中,在双速离散粒子群优化中提出了不同的更新规则,具体描述如下:

  1. 速度=职位1–职位2:假设X(X)1=(x个11,x个12,⋯,x个1D类)在中职位1和X(X)2=(x个21,x个22,⋯,x个2D类)在中职位2,职位1比职位2,然后X(X)2必须学习X(X)1. Thej个的第个维度V(V)根据以下两者之间的差值计算x个1j个x个2j个,如果x个1j个b条,但是x个2j个不是(b条为0或1),这意味着j个第个维度X(X)2与的不同X(X)1,X(X)2从中学习X(X)1,所以v(v)j个b条=1和v(v)j个1b条= 1. 如果x个2j个等于x个1j个,表示不需要X(X)2向…学习X(X)1j个因此,v(v)j个1=v(v)j个0= 1.

    例如,如果X(X)1=(1,1,0,0,1,0,0,0)和X(X)2=(1,0,1,1,0,0,0,0,1),则,V(V)=X(X)1X(X)2=0011000101001000.

  2. 速度=系数×速度:该等式表示速度乘以ωc×第页。因为速度是位置为0或1的可能性,因此大于1的元素设置为1。

    例如,c×第页= (1.2, 0.8, 0.3, 1.5, 0.5, 0.2, 1.3, 0.7),V(V)=0011000101001000,然后(c×第页V(V)=000.31.50000.700.8000.5000,最终速度V(V)=000.310000.700.8000.5000..

  3. 速度=速度1 +速度2:假设V(V)1Veloctiy公司1和V(V)2速度2,V(V)=V(V)1+V(V)2,的j个th维v(v)j个b条在速度上V(V)两者之间的值越大v(v)1j个b条v(v)2j个b条,其中b条=1或b条= 1.

    例如,V(V)1=000.310000.700.8000.5000,V(V)2=0.100.50000100.300.20.8000.1,然后,V(V)=V(V)1+V(V)2=0.100.51000100.800.20.8000.1.

在连续搜索空间中,通过将更新后的速度添加到当前位置来计算粒子的新位置。然而,在离散搜索空间中可能无法直接添加位置和速度。为了解决离散问题,提出了一种新的更新方法,如等式。(10)[31]

x个j个=第页n个d日(0,1),(f)v(v)j个0α,v(v)j个1α0,(f)v(v)j个0α,v(v)j个1<α1,(f)v(v)j个0<α,v(v)j个1αx个j个,(f)v(v)j个0α,v(v)j个1α,(10)

在哪儿α是[0,1]中的随机值。

4.3.2突变操作

当实施粒子群优化算法时,每个粒子都会向其过去的最佳位置和迄今为止发现的全局最佳位置移动,从而增强了挖掘能力。然而,根据速度和粒子位置更新规则pbest测试X(X)gbest标准X(X)随着迭代次数的增加,减少甚至等于零。在这种情况下,如果当前的全局最佳位置不是全局最优位置,则群中的粒子可能被困在局部最优位置。为了防止早熟收敛,提高搜索能力,采用变异策略对每个新粒子进行变异。变异概率取决于问题维度,换句话说,它由BN结构学习问题中的节点数决定,因为BN结构由n个×n个其对角元素都为零的连通矩阵,根据连通矩阵将粒子的位置编码为二进制字符串。因此,我们定义了变异概率第页= 1/(n个2n个),其中n个是节点数。粒子的变异算子X(X)=(x个1,x个2,⋯,x个身份证件)定义为

x个j个=1x个j个,(f)第页n个d日第页n个d日j个1+(1)(n个+1)x个j个,否则,(11)

在哪儿,= 1,⋯,n个.

4.4 BN结构学习的拟议算法步骤

基于上述描述,BVD-MPSO-BN的伪码如所示算法1。它从中描述的方法生成的初始解开始第4.2节。群中的每个粒子都被编码为对应于有向非循环图的二进制字符串,并使用k个2公制。在迭代过程中,每个粒子根据中提供的更新规则更新其速度和位置第4.3.1小节为了增加逃离局部最优的概率,对每个新粒子执行变异操作。因为每个解决方案都应该是一个直接无圈图,所以如果新粒子是无效的解决方案,则会从新粒子中删除直接圈。为了检测和删除循环,我们首先使用深度优先搜索算法检测所有后边缘,然后反转或删除它们。去除循环后,执行该算法以改进每个粒子过去的最佳位置和种群的全局最佳位置。在算法的主循环中,粒子的速度和位置会被迭代更新,直到满足停止标准。

算法1
基于变异算子双速离散PSO的贝叶斯网络学习(BVD-MPSO-BN)
要求:
输入:数据库
确保:
  输出:贝叶斯网络

  1. 初始化:

    1. 设置参数:

      最大迭代次数:最大迭代次数。

      种群大小:人口规模。

      t吨:迭代索引。

    2. 生成初始填充:

      生成初始种群,并根据等式计算适应值。(3).

  2. 设置pbest测试=X(X)(= 1, 2, -,种群大小),(f)(pbest测试) =(f)(X(X)),查找gbest公司也就是说pbest测试,t吨= 0.

  3. 虽然t吨最大迭代次数

  4. 对于= 1:种群大小

  5.   更新速度V(V)根据速度更新规则。

  6.   更新粒子的位置X(X)根据公式。(10).

  7.   突变X(X)根据公式。(11).

  8.   如果X(X)是直接循环图然后

  9.    删除循环。

  10.   如果结束

  11.   通过等式。(3),计算粒子的适应值X(X).

  12.   如果(f)(X(X)) >(f)(pbest公司)然后

  13.    pbest测试=X(X).

  14.    (f)(pbest公司) =(f)(X(X)).

  15.    如果(f)(X(X)) >(f)(gbest标准)然后

  16.     gbest标准=X(X).

  17.     (f)(gbest标准) =(f)(X(X)).

  18.    如果结束

  19.   如果结束

  20. 结束

  21. t吨=t吨+ 1.

  22. 结束while

  23. 返回gbest标准

5实验结果

在本节中,我们使用几个网络来测试BVD-MPSO-BN的行为。这些网络在软件GeNie中可用[1]此外,我们将该算法与基准网络上的其他算法进行了比较。实验是在一台配有奔腾(R)双核CPU、2.0GB内存和Windows7的个人计算机上进行的,所有算法都是用Matlab语言实现的。

5.1算法的数据库和参数设置

在我们的实验中,选择了三个基准网络,即Alarm、Asia和Credit网络。为重症监护病房患者在线监测开发的报警网络[33]包含37个节点和46个圆弧;亚洲网络有助于在诊断中演示贝叶斯网络的基本概念[34],它是一个简单的图形模型,有8个节点和8个圆弧;用于评估个人信用价值的信用网络是由Gerardina Hernandez在匹兹堡大学作为课堂作业开发的,它可以在GeNie软件中使用,由12个节点和12个弧组成。我们实验中使用的数据库是通过概率逻辑抽样从这些基准网络中抽取的。表1、数据库、原始网络、每个数据库中的案例数、每个网络中的节点数、每个网中的弧数以及k个列出了原始网络的2个分数。

表1

实验中使用的数据库

数据库原始网络案例数量节点数量弧的数量分数
警报-500报警5003746-2542.9
报警-1000报警10003746-5044.1
报警-2000报警20003746-9739.4
报警-3000报警30003746-14512.9个
报警-4000报警40003746-19160.6年
警报-5000报警50003746-237秒0.5
亚洲-500亚洲50088-555.秒
亚洲-1000亚洲100088-1101.1
亚洲-3000亚洲300088-3326.3
学分-500信用卡5001212-2741.2
学分-1000信用卡10001212-5360.6
学分-3000信用卡30001212-15S22.3标准

我们将BVD-MPSO-BN与其他算法进行了比较。BNC-PSO:基于粒子群优化的贝叶斯网络结构学习[26],当实施BNC-PSO时,种群规模为50,惯性权重ω加速度系数从0.95线性降低至0.4c1从0.82线性减少至0.5和加速度系数c2从0.4线性增加到0.83。用于学习贝叶斯网络的人工蜂群算法(ABC-B)[24]具有以下参数:信息素的加权系数α=1和启发式信息β=1,信息素蒸发系数ρ=0.1,开采与勘探的切换参数q个0=0.8,最大溶液滞留次数限制=0.3,人口规模等于40。BVD-MPSO-BN的参数选择为:种群规模为50,惯性权重ω=0.1,加速度系数c1=c2= 1.1.

5.2绩效指标

为了衡量所提算法的性能,我们根据k个2分和结构差异(即学习的结构和原始网络之间的差异)。

指标的详细描述定义如下:

  • 香港标准:最高k个所有试验均得2分。

  • LKS:最低k个所有试验得2分。

  • AKS:平均值k个所有试验得2分(包括平均值和标准偏差)。

  • AEA:所有试验中意外添加的平均边数,包含平均值和标准偏差。

  • AED:所有试验中意外删除的平均边数,包含平均值和标准偏差。

  • AEI:所有试验中意外倒置的平均边缘数,包括平均值和标准偏差。

  • LSD:所有试验产生的最大结构差异。

  • SSD:所有试验产生的最小结构差异。

  • ASD:所有试验产生的平均结构差异(包括平均值和标准偏差)。

  • AIt:在所有试验中找到最佳解决方案所需的平均迭代次数,它包含平均值和标准偏差。

  • AET:所有试验的平均执行时间。

5.3实验分析

5.3.1使用带变异算子的双速离散PSO学习BNs

为了研究BVD-MPSO-BN算法在贝叶斯网络学习中的性能,我们使用它从给定的基准网络中采样的数据库中恢复结构。k个采用2分和结构差异作为基本的性能指标来评估学习网络。我们使用具有样本大小的报警网络测试BVD-MPSO-BN算法n个=500、1000、2000、3000、4000、5000,样本量为的亚洲网络n个=500、1000、3000和样本规模的信贷网络n个=500、1000、3000。表2报告以下方面的实验结果k个2分、迭代次数和执行时间。表3显示了基于学习网络和原始网络之间结构差异的实验结果表2表3是BVD-MPSO-BN算法十次独立运行的平均值和标准偏差值。我们用粗体标记最佳值。

表2

这个k个BVD-MPSO-BN在不同网络上的2分、迭代次数和运行时间

数据库香港特别行政区LKS公司AKS公司AIt(人工智能)AET公司
警报-500-2527.9-2554.9-2536.6±10.1275.6±71.7210
报警-1000-5032.2条-5054.9-5038.4±7.1157.8±34.5108.3
报警-2000-9721.8-9727.2-9723.1±1.8201±34.4187.8
报警-3000-14510.2-14515.0-14511.3±1.5182.1±57.7192.3
报警-4000-19149.9-19154.2-19151.2±1.2213.2±37.7248.9
警报-5000-23769.1个-23773.2-23770.9±1.9208.2±43.2243.8
亚洲-500-555.2-555.2-555.2±0.015.3±10.813
亚洲-1000-1100.8-1101.2-1100.8±0.213.4±10.811.8
亚洲-3000-3325.9-3326.3条-3326.0±0.29.5±5.711
学分-500-2707.3-2716.5-2709.9±3.914.1±6.018
学分-1000-5333.9-5338.7-5335.9±2.214±9.619.2
学分-3000-15806.2-15808.2-15806.4±0.714.6±5.628.1

表3

不同网络上BVD-MPSO-BN的结构差异

数据库LSD公司固态硬盘ASD公司澳大利亚能源局AED公司AEI公司
报警-50014712.6±2.87.4±1.6(5)2.8±0.90)2.4±1.7(0)
报警-10001468.5±2.54.6±1.4 (2)2.5±0.5 (2)1.4±1.2 (0)
报警-2000946±1.42.6±0.7 (1)2±0 (2)1.4±1.1 (0)
报警-3000925.9±1.93.2±1.1(1)1±0(1)1.4±1.0 (0)
报警-4000723.6±1.71.7±0.7 (1)1±0(1)0.9±1.1 (0)
警报-500054.5±0.72.3±0.5 (2)1±0(1)1±1.2 (0)
亚洲-50043.5±0.52.5±0.5(2)1±0(1)0±0 (0)
亚洲-1000411.9±0.90.1±0.3 (0)1.1±0.3(1)0.7±0.5 (0)
亚洲-3000201.1±0.60±0 (0)0.9±0.3 (0)0.2±0.4(o(o))
学分-500211.8±0.40±0 (0)1±0(1)0.8±0.4(0)
学分-1000211.6±0.50±0 (0)1±0(1)0.6±0.5 (0)
信贷3000211.1±0.30±0 (0)0±0 (0)1.1±0.3 (0)

如所示表2,在数据库Alarm-2000、Alarm-3000、Alarm-4000和Alarm-5000上,HKS和LKS之间的差异很小,Alarm-500和Alarm-1000除外,它们没有足够的样本来正确学习报警网络。该算法还返回较小的标准偏差,这表明BVD-MPSO-BN算法对于具有足够样本的网络是稳定的。对于亚洲网络,HKS和LKS之间的差异在数据库Asia-1000上小于0.6,在数据库Asa-3000上小于0.4,算法返回相同的结果k个数据库Asia-500得2分。此外,AKS与原始网络的得分之差小于0.6,这意味着BVD-MPSO-BN算法获得的亚洲网络的得分与原始网络非常接近。对于Credit网络,该算法获得了较小的标准偏差值以及HKS与LKS之间的差值,这表明BVD-MPSO-BN算法在信用网络中也表现良好。

从结构差异来看,如所示表3从Alarm、Asia和Credit网络采集的数据库中,ASD、AEA、AED和AEI的平均值和标准值相对较小。对于报警网络,数据库Alarm-3000和Alarm-4000上的SSD值等于2,这意味着只需两次合法操作即可将学习的网络更改为最佳情况下的原始网络。在数据库Alarm-2000、Alarm-3000、Alarm-4000和Alarm-5000上,AED的标准偏差值等于零,这意味着所提出的算法学习报警网络,在十次运行中意外删除一个或两个边。Alarm-500数据库的平均结构差异大于12,这意味着该算法在小型数据库上的性能较差。对于亚洲和信贷网络,AEA的平均和标准偏差值接近于零,并且它们在数据库Asia-3000、Credit-500、Credit-1000和Credit-3000上等于零,这意味着,当该算法学习样本量为3000的亚洲网络和样本量为500、1000和3000的信用网络时,不会意外添加边缘。在最好的情况下,基准网络生成的数据库上的AEI值等于零,也就是说,在最佳情况下没有意外倒置的边。

与Alarm、Asia和Credit网络相关的结果表明,该算法对于大型网络是稳定的,并且能够找到与小型网络的原始结构非常接近的结构。该算法的性能随着样本量的增加而提高。

5.3.2使用不同算法学习BN

接下来,我们将BVD-MPSO-BN算法与BNC-PSO和ABC-B算法进行了比较。实验结果如所示表4,表5表6每个条目是不同算法十次独立运行的平均值和标准偏差值。根据AKS、AEA、AED、AEI和AIt的准确性评估算法的性能。不同指标的最佳值用粗体标记。

表4

三种算法在报警网络上的实验结果

数据库算法AKS公司ASD公司澳大利亚能源局AED公司AEI公司AIt(人工智能)
警报-500BVD-MPSO-BN公司-2536.6±10.112.6±2.87.4±1.62.8±0.92.4±1.7276.5±71.7
BNC-PSO公司-2548.6±10.021±2.612±2.34±0.95±1.6308.2±64.6
ABC-B公司-2532.7±4.410.1±1.64.7±0.83.3±0.82.1±0.7272±25.6
报警-1000BVD-MPSO-BN公司-5038.4±7.18.5±2.54.6±1.42.5±0.51.4±1.3157.8±34.5
BNC-PSO公司-5040.0±2.710.4±2.25.6±1.02.7±0.52.1±1.7276±45.7
ABC-B型-5043.6±8.19.1±3.23.4±1.53.2±0.62.5±1.7176.8±37.5
报警-3000BVD-MPSO-BN公司-14511.3±1.55.6±1.93.2±1.11±01.4±1182.1±57.7
BNC-PSO公司-14516.2±5.38.2±1.94.5±1.11±02.7±1.1272±55.3
ABC-B公司-14516.5±7.56.0±1.92±0.91±03.0±1.3162.4±49.6
警报-5000BVD-MPSO-BN公司-23770.9±1.94.5±0.72.3±0.51±01.2±0.6208.4±43.2
BNC-PSO公司-23770.9±6.54.5±2.62.3±1.21±01.2±1.7208.4±59.4
ABC-B公司-23771.2±5.33.7±2.52±1.41±01.3±1.6153.9±42.7

表5

三种算法在亚洲网络上的实验结果

数据库算法AKS公司ASD公司澳大利亚能源局AED公司AEI公司AIt(人工智能)
亚洲-500BVD-MPSO-BN公司-555.2±03.5±0.52.5±0.51±00±015.3±10.7
BNC-PSO公司-555.2±03.3±0.52.3±0.51±00±018.1±6.6
ABC-B型-555.3±0.53.1±0.51.3±0.51±00.8±0.48.7±2.6
亚洲-1000BVD-MPSO-BN公司-1100.8±0.21.9±0.80.1±0.31.1±0.30.7±0.513.4±10.9
BNC-PSO公司-1100.8±0.21.9±0.80.1±0.31.1±0.30.7±0.517.3±11.4
ABC-B公司-1100.9±0.31.4±0.80.2±0.41.2±0.40±024.1±19.5
亚洲-3000BVD-MPSO-BN公司-3325.9±0.11.1±0.50±00.9±0.30.2±0.49.5±5.7
BNC-PSO公司-3325.9个±01.2±0.40±01±00.2±0.413.5±9.9
ABC-B公司-3326.0±0.51.3±0.90.2±0.61.1±0.30±025.7±13.6

表6

三种算法在信用网络上的实验结果

数据库算法AKS公司ASD公司澳大利亚能源局AED公司AEI公司AIt(人工智能)
学分-500BVD-MPSO-BN公司-2709.9±3.91.8±0.40±01±00.8±0.414.1±6
BNC-PSO粒子群-2708.2±2.71.9±0.30±01±00.9±0.317.4±6.0
ABC-B公司-2705.32±03±00±01±02±014.6±1.3
学分-1000BVD-MPSO-BN公司-5335.9±2.21.6±0.50±01±00.6±0.514±9.6
BNC-PSO公司-5335.8±2.12.0±0.70±01±01±0.723.5±16.4
ABC-B公司-5354.9±10.72.0±0.60.1±0.31.9±0.60±025.9±10.1
学分-3000BVD-MPSO-BN公司-15806.4±0.71.1±0.30±00±01.1±0.314.6±5.6
BNC-PSO公司-15813.0±5.71.1±0.70±00.5±0.50.6±0.726.0±11.0
ABC-B公司-15815.7±01±00±01±00±014.6±3.2

表4显示了三种不同算法在从Alarm网络采样的数据库上的实验结果k个2分,BVD-MPSO-BN在数据库Alarm-3000和Alarm-5000上达到AKS的最佳值。虽然,BVD-MPSO-BN获得了更高的k个与BNC-PSO相比,Alarm-1000数据库的得分为2分,标准偏差大于BNC-PS0获得的标准偏差。ABC-B算法返回最佳值k个小数据库Alarm-500得2分。从结构差异来看,三种算法中,数据库Alarm-1000和Alarm-3000上的BVD-MPSO-BN的ASD值最小。ABC-B算法在Alarm-500和Alarm-5000数据库上返回的ASD值小于其他算法返回的值。虽然ABC-B在数据库Alarm-5000上实现了ASD的最小平均值,但标准偏差大于BVD-MPSO-BN。很明显,BNC-PSO在数据库Alrm-500上获得的网络与原始网络相比具有更多错误边。在三种算法中,ABC-B在Alarm network的不同数据库样本上返回的AEA值最好。BVD-MPSO-BN在数据库Alarm-500和Alarm-1000上实现AED的最小值,数据库Alarm-3000和Alarm-5000上BNC-PSO和ABC-B的AED值与BVD-MPOSO-BN相同,且等于1,这意味着三种算法中的每一种都学习BN结构,在每次试验中都会意外删除一条边。BVD-MPSO-BN在数据库Alarm-1000、Alarm-500和Alarm-5000上获得AEI的最佳值。从迭代次数来看,与数据库Alarm-500、Alarm-3000和Alarm-5000上的BVD-MPSO-BN相比,ABC-B通常需要更少的迭代次数。

从亚洲网络的实验结果来看n个=500、1000、3000英寸表5,我们观察到BVD-MPSO-BN和BNC-PSO算法达到了同样的效果k个在数据库Asia-500和Asia-1000上有2个分数和结构差异,他们从数据库Asia-3000中学习BN,在10次执行中没有意外添加边。与使用ABC-B算法相比,BVD-MPSO-BN算法可以获得更高的k个2分,而ABC-B算法在数据库Asia-500和Asia-1000上返回的ASD值是三种算法中最小的。在数据库Asia-500上,没有BVD-MPSO-BN和BNC-PSO算法生成的意外倒置边。然而,在Asia-1000和Asia-3000数据库上的三种算法中,BVD-MPSO-BN算法的平均迭代次数最小。

三种算法在信用网络上的实验结果如所示表6。对于k个2分,BVD-MPSO-BN算法在Credit-500和Credit-1000数据库上表现不佳,但在Credit-3000数据库上仍取得了较好的结果。从结构差异的角度来看,我们观察到BVD-MPSO-BN在Credit-500和Credit-1000数据库上获得了最佳的ASD结果。BVD-MPSO-BN和BNC-PSO在三个数据库上获得了相同的AEA结果,而BVD-MSSO-BN在三个数据库上获得了最佳的AED结果。ABC-B在Credit-1000和Credit-5000数据库上获得最佳AEI结果,BVD-MPSO-BN在Credit-500数据库上获得最好的AEI结果。BVD-MPSO-BN算法的平均迭代次数小于或至少不大于其他两种算法。

为了测试该算法的时间性能,我们使用样本大小在Alarm网络上评估了三种算法n个=1000、3000、5000,亚洲网络,样本量n个=1000、3000和信贷网络,样本量n个= 1000, 3000.图(2)显示了三种算法在不同网络上的平均运行时间。很明显,所提出的算法的搜索时间是三种算法中最小的。对于BNC-PSO算法,原因是BVD-MPSO-BN保持了经典PSO收敛速度快的优点,而BNC-PSO:PSO是将PSO与遗传算法相结合而提出的。对于ABC-B算法,在每次迭代过程中,每只蜜蜂都会通过测试和比较k个四个操作符的2分(添加、删除、还原和移动)。此外,每个旁观者通过执行两个有知识指导的操作符或四个简单操作符并比较它们来确定一个新的解决方案k个2分,因此计算k个2分。虽然ABC-B的迭代次数通常小于BVD-MPSO-BN,但ABC-B需要花费大量时间才能达到近最优解。同时,我们分析了时间需求随着样本量的变化而变化。图(3)显示了BVD-MPSO-BN与ABC-B和BNC-PSO算法在从Alarm network采样的数据库上的平均结果。三种算法通常需要花费大量时间从大型数据库中学习BN。很明显,该算法的执行时间随着样本量的增加而缓慢增加,而ABC-B和BNC-PSO算法对样本容量很敏感。总体结果表明,BVD-MPSO-BN算法在执行时间方面优于ABC-B和BNC-PSO算法。

图2三种不同网络的时间性能。
图2

三种不同网络上的时间性能。

图3三种算法在报警网络上的时间性能。
图3

三种算法在报警网络上的时间性能。

图4显示了数据库Alarm-5000上三种启发式算法的收敛特性。很明显,这三种算法的最终解非常接近。然而,与BNC-PSO和ABC-B算法相比,该算法收敛到最优解的速度更快。由于粒子群优化算法中的粒子从更好和最好的解中学习,因此种群很快收敛到最优解,因此在一开始,BNC-PSO的性能优于ABC-B。一旦粒子接近最佳解,收敛速度就会变慢。然而,在变异算子的帮助下,该算法中的粒子很容易跳出可能的局部最优解,因此在整个进化过程中可以保持较快的收敛速度。

图4三种算法在Alarm-5000上的得分收敛情况。
图4

Alarm-5000上三种算法的分数收敛。

基于上述观察,我们得出结论,BVD-MPSO-BN可以保证学习到高质量的网络。BVD-MPSO-BN不仅在寻找最优解时保持了强大的搜索能力,而且防止了群中粒子陷入局部最优解。

6结论

本文提出了一种新的基于分数的BNs学习算法。粒子群优化算法是一种群体智能的全球化搜索算法,具有计算简单、收敛速度快的优点。然而,随着迭代次数的增加,解的质量无法提高,算法收敛到局部最优解。换句话说,粒子群算法很容易陷入早熟收敛。为了克服粒子群算法的不足,并从数据中学习BN结构,提出了一种基于变异算法的双速离散粒子群算法。我们在该算法的探索和开发能力之间进行了适当的平衡。在基准网络生成的数据库上的实验结果证明了该方法的有效性。与用于BNs学习的BNC-PSO算法相比,我们的算法的优点不仅在于其计算时间更少,还在于其学习结构与原始网络之间的错误率更低,该算法性能良好,平均精度较高。实验结果表明了该算法在从数据中学习神经网络方面的优越性。在本文中,数据库是完全观测到的,但在实际中可能存在缺失数据或带有隐藏变量的数据。扩展基于群的算法来学习不完全数据的BN结构是我们未来的工作。此外,所提出的算法的性能随着样本量的减少而降低。因此,未来的工作将考虑在小型数据库上进行结构学习的方法。

确认

本研究得到了国家自然科学基金(批准号:61373174)和(批准号:11401454)的资助。

工具书类

[1]Jayech K.,Mahjoub M.A.,Ghanmi N.,贝叶斯网络在模式识别中的应用:字符识别案例,第六届电子科学、信息与通信技术国际会议论文集,2012年,IEEE,第748–757页10.1109/SETIT.2012.6482008在谷歌学者中搜索

[2]王琦,高霞,陈丹,基于贝叶斯网络的船舶模式识别,第四届模糊系统与知识发现国际会议论文集,2007年,第4卷,IEEE,第684-688页2007年10月10日/FSKD.447在谷歌学者中搜索

[3]Nikovski D.,从不完全和部分正确的统计数据构建医学诊断贝叶斯网络,IEEE知识与数据工程汇刊,2000,12(4),509–51610.1109/69.868904在谷歌学者中搜索

[4]AlObaidi A.T.S.,Mahmood N.T.,用于医疗诊断的改进的完全贝叶斯网络分类器,高级计算机科学应用和技术国际会议论文集,2013年,IEEE,第5-12页10.1109/ACSAT.2013.10在谷歌学者中搜索

[5]Bonafede C.E.,Giudici P.,企业风险评估贝叶斯网络,《物理学A:统计力学及其应用》,2007年,382(1),22–2810.1016/j.physa.2007.02.065在谷歌学者中搜索

[6]Liu Q.,Pérès F.,Tchangani A.,面向对象的复杂系统风险评估贝叶斯网络,IFAC-PapersOnLine,2016,49(28),31-362016年10月10日/j.ifacol.2016.11.006在谷歌学者中搜索

[7]Li Y.,Ngom A.,用于从时间序列微阵列数据中识别基因调控网络的最大-最小高阶动态贝叶斯网络学习,IEEE生物信息学和计算生物学计算智能研讨会(CIBCB),2013年,IEEE,第83–90页10.1109/CIBCB.2013.6595392号在谷歌学者中搜索

[8]Tamada Y.、Imoto S.、Araki H.、Nagasaki M.、Print C.、Charnock-Jones D.S.、Miyano S.,在大规模并行计算机上使用非参数贝叶斯网络模型估计全基因组基因网络,IEEE/ACM计算生物学和生物信息学汇刊,2011,8(3),683-69710.1109/TCBB.2010.68在谷歌学者中搜索公共医学

[9]王明,陈忠,克劳蒂尔·S,构建基因网络的混合贝叶斯网络学习方法,计算生物学与化学,2007,31(5-6),361-37210.1016/j.compbiochem.2007.08.005在谷歌学者中搜索公共医学

[10]Margaritis D.,从数据中学习贝叶斯网络模型结构(博士论文),技术代表,卡内基梅隆大学匹兹堡PA计算机科学学院,2003年在谷歌学者中搜索

[11]Tsamardinos I.,Aliferis C.F.,Statnikov A.R.,Statnikov E.,大规模马尔可夫覆盖层发现算法,FLAIRS会议论文集,2003年,第2卷,第376–380页在谷歌学者中搜索

[12]Tsamardinos I.,Aliferis C.F.,Statnikov A.,马尔可夫毯和直接因果关系的时间和样本有效发现,第九届ACM SIGKDD知识发现和数据挖掘国际会议论文集,2003年,ACM,第673–678页10.1145/956750.956838在谷歌学者中搜索

[13]Pena J.M.,Nilsson R.,Björkegren J.,TegnéR J.,迈向马尔可夫边界的可扩展和数据高效学习,国际近似推理杂志,2007,45(2),211-2322016年10月10日/j.ijar.2006.06.008在谷歌学者中搜索

[14]Cooper G.F.,Herskovits E.,从数据中归纳概率网络的贝叶斯方法,机器学习,1992,9(4),309–3472007年10月10日/BF00994110在谷歌学者中搜索

[15]AlcobéJ.R.,用于贝叶斯网络结构学习的增量爬山搜索,第15届欧洲机器学习会议论文集,2004年,IEEE Pisa,意大利,第1-10页在谷歌学者中搜索

[16]Chickering D.M.,贪婪搜索的最优结构识别,机器学习研究杂志,2002,3(11),507–554在谷歌学者中搜索

[17]Chickering D.M.、Geiger D.、Heckerman D.等人,学习贝叶斯网络是np-hard,技术代表,Citeser,1994年在谷歌学者中搜索

[18]Tonda A.P.、Lutton E.、Reuillon R.、Squillero G.、Wuillemin P.H.,通过图进化从有限数据集学习贝叶斯网络结构,《欧洲遗传编程会议论文集》,2012年,第254-265页10.1007/978-3-642-29139-5_22在谷歌学者中搜索

[19]Tonda A.,Lutton E.,Squillero G.,Wuillemin P.H.,贝叶斯网络结构学习的模因方法,计算机科学讲义,2013,7835,102–11110.1007/978-3-642-37192-9_11在谷歌学者中搜索

[20]纪J.,杨C.,刘J.,刘J.,尹B.,群智能在贝叶斯网络结构学习中的比较研究,软计算,2017,21(22),6713-67382007年10月10日/200500-016-2223-x在谷歌学者中搜索

[21]De Campos L.M.,Fernandez-Luna J.M.,Gámez J.A.,Puerta J.M.,学习贝叶斯网络的蚁群优化,国际近似推理杂志,2002,31(3),291–31110.1016/S0888-613X(02)00091-9在谷歌学者中搜索

[22]Daly R.,Shen Q.,et al.,用蚁群优化学习贝叶斯网络等价类,人工智能研究杂志,2009,35(1),391–44710.1613/jair.2681在谷歌学者中搜索

[23]Jun-Zhong J.,Zhang H.X.,Ren-Bing H.,Chun-Nian L.,基于独立性测试和蚁群优化的贝叶斯网络学习算法,自动化学报,2009,35(3),281-28810.3724/SP.J.1004.2009.00281在谷歌学者中搜索

[24]纪杰,魏宏,刘川,用于学习贝叶斯网络的人工蜂群算法,软计算,2013,17(6),983–9942007年10月7日/00500-012-0966-6在谷歌学者中搜索

[25]杨C.,季J.,刘J.,刘J.,尹B.,基于细菌觅食优化的贝叶斯网络结构学习,国际近似推理杂志,2016,69,147–1672016年10月10日/j.jar.2015年11月11日在谷歌学者中搜索

[26]Gheisari S.、Meybodi M.R.、Bnc-pso:基于粒子群优化的贝叶斯网络结构学习,信息科学,2016,348,272–28910.1016/j.ins.2016.01.090在谷歌学者中搜索

[27]王涛,杨杰,用离散粒子群优化学习贝叶斯网络的启发式方法,知识与信息系统,2010,24(2),269-2812007年10月10日/10115-009-0239-6在谷歌学者中搜索

[28]邢振华,郑强,雷涛,李萍S.,用离散粒子群优化算法学习贝叶斯网络结构,IEEE计算智能基础研讨会,2007,IEEE,第47–52页10.1109/FOCI.2007.372146在谷歌学者中搜索

[29]Aouay S.、Jamoussi S.、Ayed Y.B.,基于粒子群优化的贝叶斯网络结构学习方法,第五届建模、仿真和应用优化国际会议论文集,2013年,IEEE,第1-6页10.1109/IMSAO.2013.6552569在谷歌学者中搜索

[30]钟伟林,黄杰,张杰,图中steiner树问题的新型粒子群优化算法,IEEE进化计算大会(IEEE计算智能世界大会),2008,IEEE,第2460–2467页在谷歌学者中搜索

[31]沈M.,詹振华,陈文南,龚勇杰,张杰,李勇,双速离散粒子群优化及其在通信网络组播路由问题中的应用,IEEE工业电子学报,2014,61(12),7141–715110.1109/TIE.2014.2314075在谷歌学者中搜索

[32]Larrañaga P.,Poza M.,Yurramendi Y.,Murga R.H.,Kuijpers C.M.H.,用遗传算法学习贝叶斯网络的结构:控制参数的性能分析,IEEE P模式分析和机器智能汇刊,1996,18(9),912–92610.1109/34.537345在谷歌学者中搜索

[33]Beinlich I.A.,Suermondt H.J.,Chavez R.M.,Cooper G.F.,警报监测系统:信念网络的两种概率推理技术的案例研究,AIME 89,施普林格,1989,第247-256页10.1007/978-3-642-93437-7_28在谷歌学者中搜索

[34]Lauritzen S.L.、Spiegelhalter D.J.,《图形结构概率的局部计算及其在专家系统中的应用》,《皇家统计学会杂志》。B系列(方法学),1988年,157-22410.1111/j.2517-6161.1988.tb01721.x在谷歌学者中搜索

收到:2017-05-21
认可的:2018-06-13
在线发布:2018-08-24

©2018 Wang和Liu,由De Gruyter出版

本作品是根据Creative Commons Attribution-NonCommercial-NoDerivatives 4.0许可证授权的。

于2024年6月6日从下载https://www.degruyter.com/document/doi/10.1515/math-2018-0086/html
滚动到顶部按钮