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个我(日志((第页1−1)!(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第页1我j个(t吨)[第页b条e(电子)秒t吨我j个(t吨)−x个我j个(t吨)]+c2第页2我j个(t吨)[克b条e(电子)秒t吨j个(t吨)−x个我j个(t吨)],(5)
x个我j个(t吨+1)=x个我j个(t吨)+v(v)我j个(t吨+1),(6)
哪里ω是惯性重量,c1和c2是正加速度系数,第页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个,一21,一2n个,⋯,一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).
一我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)我20⋯v(v)我j个0⋯v(v)我D类0v(v)我11v(v)我21⋯v(v)我j个1⋯v(v)我D类1,(9)
哪里D类=n个2,x个我j个=0o(o)第页1,0≤v(v)我j个0≤1,0≤v(v)我j个1≤1v(v)我j个0是的概率x个ij公司为0,并且v(v)我j个1是的概率x个ij公司为1。
4.2初步方案建设
为了生成初始解,我们使用了一种类似于[25]. 每个初始解都是从一个没有任何边的空图开始,然后当且仅当新图是有向无环图且新图的得分高于前一个图的得分时,将缺少的边逐一添加到当前图中。重复此过程,直到添加的边数达到预定义值。通过使用上述方法,生成了一定数量的初始解。
4.3带变异算子的双速离散PSO
4.3.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个1−b条= 1. 如果x个2j个等于x个1j个,表示不需要X(X)2向…学习X(X)1在j个因此,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)1−X(X)2=0011000101001000.
速度=系数×速度:该等式表示速度乘以ω或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..
速度=速度1 +速度2:假设V(V)1是Veloctiy公司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个2–n个),其中n个是节点数。粒子的变异算子X(X)我=(x个我1,x个我2,⋯,x个身份证件)定义为
x个我j个=1−x个我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) |
---|
要求: |
输入:数据库 |
确保: |
输出:贝叶斯网络 |
初始化: 设置参数: 最大迭代次数:最大迭代次数。 种群大小:人口规模。 t吨:迭代索引。 生成初始填充: 生成初始种群,并根据等式计算适应值。(3).
设置pbest测试我=X(X)我(我= 1, 2, -,种群大小),(f)(pbest测试我) =(f)(X(X)我),查找gbest公司也就是说pbest测试我,t吨= 0. 如果(f)(X(X)我) >(f)(pbest公司我)然后 (f)(pbest公司我) =(f)(X(X)我). 如果(f)(X(X)我) >(f)(gbest标准)然后 (f)(gbest标准) =(f)(X(X)我).
|
5实验结果
在本节中,我们使用几个网络来测试BVD-MPSO-BN的行为。这些网络在软件GeNie中可用此外,我们将该算法与基准网络上的其他算法进行了比较。实验是在一台配有奔腾(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 | 报警 | 500 | 37 | 46 | -2542.9 |
报警-1000 | 报警 | 1000 | 37 | 46 | -5044.1 |
报警-2000 | 报警 | 2000 | 37 | 46 | -9739.4 |
报警-3000 | 报警 | 3000 | 37 | 46 | -14512.9个 |
报警-4000 | 报警 | 4000 | 37 | 46 | -19160.6年 |
警报-5000 | 报警 | 5000 | 37 | 46 | -237秒0.5 |
亚洲-500 | 亚洲 | 500 | 8 | 8 | -555.秒 |
亚洲-1000 | 亚洲 | 1000 | 8 | 8 | -1101.1 |
亚洲-3000 | 亚洲 | 3000 | 8 | 8 | -3326.3 |
学分-500 | 信用卡 | 500 | 12 | 12 | -2741.2 |
学分-1000 | 信用卡 | 1000 | 12 | 12 | -5360.6 |
学分-3000 | 信用卡 | 3000 | 12 | 12 | -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分和结构差异(即学习的结构和原始网络之间的差异)。
指标的详细描述定义如下:
AKS:平均值k个所有试验得2分(包括平均值和标准偏差)。
AEA:所有试验中意外添加的平均边数,包含平均值和标准偏差。
AED:所有试验中意外删除的平均边数,包含平均值和标准偏差。
AEI:所有试验中意外倒置的平均边缘数,包括平均值和标准偏差。
ASD:所有试验产生的平均结构差异(包括平均值和标准偏差)。
AIt:在所有试验中找到最佳解决方案所需的平均迭代次数,它包含平均值和标准偏差。
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.1 | 275.6±71.7 | 210 |
报警-1000 | -5032.2条 | -5054.9 | -5038.4±7.1 | 157.8±34.5 | 108.3 |
报警-2000 | -9721.8 | -9727.2 | -9723.1±1.8 | 201±34.4 | 187.8 |
报警-3000 | -14510.2 | -14515.0 | -14511.3±1.5 | 182.1±57.7 | 192.3 |
报警-4000 | -19149.9 | -19154.2 | -19151.2±1.2 | 213.2±37.7 | 248.9 |
警报-5000 | -23769.1个 | -23773.2 | -23770.9±1.9 | 208.2±43.2 | 243.8 |
亚洲-500 | -555.2 | -555.2 | -555.2±0.0 | 15.3±10.8 | 13 |
亚洲-1000 | -1100.8 | -1101.2 | -1100.8±0.2 | 13.4±10.8 | 11.8 |
亚洲-3000 | -3325.9 | -3326.3条 | -3326.0±0.2 | 9.5±5.7 | 11 |
学分-500 | -2707.3 | -2716.5 | -2709.9±3.9 | 14.1±6.0 | 18 |
学分-1000 | -5333.9 | -5338.7 | -5335.9±2.2 | 14±9.6 | 19.2 |
学分-3000 | -15806.2 | -15808.2 | -15806.4±0.7 | 14.6±5.6 | 28.1 |
表3
数据库 | LSD公司 | 固态硬盘 | ASD公司 | 澳大利亚能源局 | AED公司 | AEI公司 |
---|
报警-500 | 14 | 7 | 12.6±2.8 | 7.4±1.6(5) | 2.8±0.90) | 2.4±1.7(0) |
报警-1000 | 14 | 6 | 8.5±2.5 | 4.6±1.4 (2) | 2.5±0.5 (2) | 1.4±1.2 (0) |
报警-2000 | 9 | 4 | 6±1.4 | 2.6±0.7 (1) | 2±0 (2) | 1.4±1.1 (0) |
报警-3000 | 9 | 2 | 5.9±1.9 | 3.2±1.1(1) | 1±0(1) | 1.4±1.0 (0) |
报警-4000 | 7 | 2 | 3.6±1.7 | 1.7±0.7 (1) | 1±0(1) | 0.9±1.1 (0) |
警报-5000 | 5 | 三 | 4.5±0.7 | 2.3±0.5 (2) | 1±0(1) | 1±1.2 (0) |
亚洲-500 | 4 | 三 | 3.5±0.5 | 2.5±0.5(2) | 1±0(1) | 0±0 (0) |
亚洲-1000 | 4 | 1 | 1.9±0.9 | 0.1±0.3 (0) | 1.1±0.3(1) | 0.7±0.5 (0) |
亚洲-3000 | 2 | 0 | 1.1±0.6 | 0±0 (0) | 0.9±0.3 (0) | 0.2±0.4(o(o)) |
学分-500 | 2 | 1 | 1.8±0.4 | 0±0 (0) | 1±0(1) | 0.8±0.4(0) |
学分-1000 | 2 | 1 | 1.6±0.5 | 0±0 (0) | 1±0(1) | 0.6±0.5 (0) |
信贷3000 | 2 | 1 | 1.1±0.3 | 0±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(人工智能) |
---|
警报-500 | BVD-MPSO-BN公司 | -2536.6±10.1 | 12.6±2.8 | 7.4±1.6 | 2.8±0.9 | 2.4±1.7 | 276.5±71.7 |
BNC-PSO公司 | -2548.6±10.0 | 21±2.6 | 12±2.3 | 4±0.9 | 5±1.6 | 308.2±64.6 |
ABC-B公司 | -2532.7±4.4 | 10.1±1.6 | 4.7±0.8 | 3.3±0.8 | 2.1±0.7 | 272±25.6 |
报警-1000 | BVD-MPSO-BN公司 | -5038.4±7.1 | 8.5±2.5 | 4.6±1.4 | 2.5±0.5 | 1.4±1.3 | 157.8±34.5 |
BNC-PSO公司 | -5040.0±2.7 | 10.4±2.2 | 5.6±1.0 | 2.7±0.5 | 2.1±1.7 | 276±45.7 |
ABC-B型 | -5043.6±8.1 | 9.1±3.2 | 3.4±1.5 | 3.2±0.6 | 2.5±1.7 | 176.8±37.5 |
报警-3000 | BVD-MPSO-BN公司 | -14511.3±1.5 | 5.6±1.9 | 3.2±1.1 | 1±0 | 1.4±1 | 182.1±57.7 |
BNC-PSO公司 | -14516.2±5.3 | 8.2±1.9 | 4.5±1.1 | 1±0 | 2.7±1.1 | 272±55.3 |
ABC-B公司 | -14516.5±7.5 | 6.0±1.9 | 2±0.9 | 1±0 | 3.0±1.3 | 162.4±49.6 |
警报-5000 | BVD-MPSO-BN公司 | -23770.9±1.9 | 4.5±0.7 | 2.3±0.5 | 1±0 | 1.2±0.6 | 208.4±43.2 |
BNC-PSO公司 | -23770.9±6.5 | 4.5±2.6 | 2.3±1.2 | 1±0 | 1.2±1.7 | 208.4±59.4 |
ABC-B公司 | -23771.2±5.3 | 3.7±2.5 | 2±1.4 | 1±0 | 1.3±1.6 | 153.9±42.7 |
表5
数据库 | 算法 | AKS公司 | ASD公司 | 澳大利亚能源局 | AED公司 | AEI公司 | AIt(人工智能) |
---|
亚洲-500 | BVD-MPSO-BN公司 | -555.2±0 | 3.5±0.5 | 2.5±0.5 | 1±0 | 0±0 | 15.3±10.7 |
BNC-PSO公司 | -555.2±0 | 3.3±0.5 | 2.3±0.5 | 1±0 | 0±0 | 18.1±6.6 |
ABC-B型 | -555.3±0.5 | 3.1±0.5 | 1.3±0.5 | 1±0 | 0.8±0.4 | 8.7±2.6 |
亚洲-1000 | BVD-MPSO-BN公司 | -1100.8±0.2 | 1.9±0.8 | 0.1±0.3 | 1.1±0.3 | 0.7±0.5 | 13.4±10.9 |
BNC-PSO公司 | -1100.8±0.2 | 1.9±0.8 | 0.1±0.3 | 1.1±0.3 | 0.7±0.5 | 17.3±11.4 |
ABC-B公司 | -1100.9±0.3 | 1.4±0.8 | 0.2±0.4 | 1.2±0.4 | 0±0 | 24.1±19.5 |
亚洲-3000 | BVD-MPSO-BN公司 | -3325.9±0.1 | 1.1±0.5 | 0±0 | 0.9±0.3 | 0.2±0.4 | 9.5±5.7 |
BNC-PSO公司 | -3325.9个±0 | 1.2±0.4 | 0±0 | 1±0 | 0.2±0.4 | 13.5±9.9 |
ABC-B公司 | -3326.0±0.5 | 1.3±0.9 | 0.2±0.6 | 1.1±0.3 | 0±0 | 25.7±13.6 |
表6
数据库 | 算法 | AKS公司 | ASD公司 | 澳大利亚能源局 | AED公司 | AEI公司 | AIt(人工智能) |
---|
学分-500 | BVD-MPSO-BN公司 | -2709.9±3.9 | 1.8±0.4 | 0±0 | 1±0 | 0.8±0.4 | 14.1±6 |
BNC-PSO粒子群 | -2708.2±2.7 | 1.9±0.3 | 0±0 | 1±0 | 0.9±0.3 | 17.4±6.0 |
ABC-B公司 | -2705.32±0 | 3±0 | 0±0 | 1±0 | 2±0 | 14.6±1.3 |
学分-1000 | BVD-MPSO-BN公司 | -5335.9±2.2 | 1.6±0.5 | 0±0 | 1±0 | 0.6±0.5 | 14±9.6 |
BNC-PSO公司 | -5335.8±2.1 | 2.0±0.7 | 0±0 | 1±0 | 1±0.7 | 23.5±16.4 |
ABC-B公司 | -5354.9±10.7 | 2.0±0.6 | 0.1±0.3 | 1.9±0.6 | 0±0 | 25.9±10.1 |
学分-3000 | BVD-MPSO-BN公司 | -15806.4±0.7 | 1.1±0.3 | 0±0 | 0±0 | 1.1±0.3 | 14.6±5.6 |
BNC-PSO公司 | -15813.0±5.7 | 1.1±0.7 | 0±0 | 0.5±0.5 | 0.6±0.7 | 26.0±11.0 |
ABC-B公司 | -15815.7±0 | 1±0 | 0±0 | 1±0 | 0±0 | 14.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算法。
图4显示了数据库Alarm-5000上三种启发式算法的收敛特性。很明显,这三种算法的最终解非常接近。然而,与BNC-PSO和ABC-B算法相比,该算法收敛到最优解的速度更快。由于粒子群优化算法中的粒子从更好和最好的解中学习,因此种群很快收敛到最优解,因此在一开始,BNC-PSO的性能优于ABC-B。一旦粒子接近最佳解,收敛速度就会变慢。然而,在变异算子的帮助下,该算法中的粒子很容易跳出可能的局部最优解,因此在整个进化过程中可以保持较快的收敛速度。
基于上述观察,我们得出结论,BVD-MPSO-BN可以保证学习到高质量的网络。BVD-MPSO-BN不仅在寻找最优解时保持了强大的搜索能力,而且防止了群中粒子陷入局部最优解。
6结论
本文提出了一种新的基于分数的BNs学习算法。粒子群优化算法是一种群体智能的全球化搜索算法,具有计算简单、收敛速度快的优点。然而,随着迭代次数的增加,解的质量无法提高,算法收敛到局部最优解。换句话说,粒子群算法很容易陷入早熟收敛。为了克服粒子群算法的不足,并从数据中学习BN结构,提出了一种基于变异算法的双速离散粒子群算法。我们在该算法的探索和开发能力之间进行了适当的平衡。在基准网络生成的数据库上的实验结果证明了该方法的有效性。与用于BNs学习的BNC-PSO算法相比,我们的算法的优点不仅在于其计算时间更少,还在于其学习结构与原始网络之间的错误率更低,该算法性能良好,平均精度较高。实验结果表明了该算法在从数据中学习神经网络方面的优越性。在本文中,数据库是完全观测到的,但在实际中可能存在缺失数据或带有隐藏变量的数据。扩展基于群的算法来学习不完全数据的BN结构是我们未来的工作。此外,所提出的算法的性能随着样本量的减少而降低。因此,未来的工作将考虑在小型数据库上进行结构学习的方法。