一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于BRKGA算法的贝叶斯网络结构优化方法及装置与流程

2021-10-24 07:21:00 来源:中国专利 TAG:算法 装置 结构优化 方法 网络

基于brkga算法的贝叶斯网络结构优化方法及装置
技术领域
1.本技术涉及数据处理领域,特别是涉及一种基于brkga算法的贝叶斯网络结构优化方法、装置、计算机设备和存储介质。


背景技术:

2.随着互联网技术的发展,出现了贝叶斯网络,贝叶斯网络广泛应用于各个领域中,根据贝叶斯网络进行任务预测,待预测任务的准确性受到贝叶斯网络结构的影响。贝叶斯网络是一种通用的概率图模型,它可以表示随机变量之间的相关性,是随机变量联合概率分布的一种图形化表示,因此具有很强的可解释性。贝叶斯网络模型包含结构和参数两部分,这意味着bn的学习算法可以分为结构学习和参数学习两部分。作为参数学习的基础,结构学习在贝叶斯网络学习算法中起着重要的作用。贝叶斯网络的结构由有向无环图(dag)表示,仅从数据中学习dag是一个np

hard问题。
3.贝叶斯网络结构学习(bnsl)是一个不易解决的非凸优化问题,目前已有许多相关研究。最近已有一些算法获得的解接近准确解,比如使用参数约束和结构约束来减少搜索空间,并应用分支定界法找到精确解。有一部分人提出了一种将bnsl构造为线性优化问题的方法,并使用分支定界法迭代地缩小了该问题的外部边界。有一部分人提出了一种剪枝方法计算bdeu分数的上限,以获得bnsl的准确解。有一部分人提出了一种正则化cholesky评分,结合模拟退火算法搜索节点顺序以优化bnsl问题。有一部分人提出了一种可以求解大型bn的快速凹惩罚估计算法。有一部分人提出了一种将bnsl问题转换为连续优化问题的方法,从而避免求解组合优化问题。有一部分人提出了dag的惩罚估计方法。有一部分人使用mdl评分的l1正则化方法学习dag。还有人使用局部评分寻找变量集的最佳排序。这些方法中进化算法的准确性很低,限制了它们的广泛应用。


技术实现要素:

4.基于此,有必要针对上述技术问题,提供一种能够提高贝叶斯网络结构学习准确度的基于brkga算法的贝叶斯网络结构优化方法和装置。
5.一种基于brkga算法的贝叶斯网络结构优化方法,方法包括:
6.检测到待预测任务中贝叶斯网络预测精度低于预设值时,生成贝叶斯网络结构优化指令;
7.根据贝叶斯网络结构优化指令,获取贝叶斯网络结构;贝叶斯网络结构为dag图;dag图包括:节点集和边集;节点集中的节点为待预测任务中的随机变量;
8.生成若干个[0,1]之间多个随机数组成的随机键向量;
[0009]
将no tears算法作为解码器对随机键向量进行解码,得到贝叶斯网络结构优化问题的初始解;
[0010]
根据初始解和预先设置的损失函数,计算每个初始解的适应值;
[0011]
对适应值进行排序,得到精英个体集;
[0012]
根据精英个体集,采用遗传算法进行交叉和变异操作,输出贝叶斯网络结构优化问题的全局近似解;全局近似解为连续值矩阵;
[0013]
对连续值矩阵进行离散化,得到全局近似邻接矩阵,根据全局近似邻接矩阵,得到优化后的贝叶斯网络结构。
[0014]
在其中一个实施例中,将no tears算法作为解码器对随机键向量进行解码,得到贝叶斯网络结构优化问题的初始解,包括:
[0015]
根据no tears算法,构建第一寻优模型为:
[0016][0017]
h(w)=tr(e
wow
)

d
[0018]
其中,l表示损失函数,w表示实数矩阵,x表示数据矩阵,n是随机键向量大小;w ow表示hardmard积,e
wow
表示矩阵指数,h(w)表示有向无环图中的无环约束,d表示数据维数;
[0019]
通过带有二次惩罚项的增广拉格朗日方法来优化第一寻优模型,得到第二寻优模型为:
[0020][0021]
根据第二寻优模型的对偶表达式,得到解码器为:
[0022]
d(α)=min l
ρ
(w,α)
[0023][0024][0025]
其中,是初始解,α是拉格朗日乘数,ρ是步长;
[0026]
将随机键向量作为实数矩阵输入到解码器中进行解码,得到贝叶斯网络结构优化问题的初始解。
[0027]
在其中一个实施例中,对适应值进行排序,得到精英个体集,包括:对适应值进行从小到大排序,选择排序后前20%对应的初始解构建精英个体集。
[0028]
在其中一个实施例中,根据精英个体集,采用遗传算法进行交叉和变异操作,输出贝叶斯网络结构优化问题的全局近似解,包括:根据精英个体集,采用遗传算法进行交叉和变异操作,通过变异算子生成变异个体,精英个体集被直接复制到下一代并执行交叉运算,得到交叉个体,将变异个体和交叉个体合并形成新一代个体集,并计算每个个体的适应值,当达到预设的迭代条件时,得到贝叶斯网络结构优化问题的全局近似解。
[0029]
在其中一个实施例中,预设的迭代条件为最大迭代次数。
[0030]
在其中一个实施例中,对连续值矩阵进行离散化,得到全局近似邻接矩阵,包括:若连续值矩阵中的元素大于阈值,则将元素设置为1,若连续值矩阵中的元素小于阈值,则将元素设置为0,得到全局近似邻接矩阵。
[0031]
在其中一个实施例中,根据全局近似邻接矩阵,得到优化后的贝叶斯网络结构,包括:根据全局近似邻接矩阵,计算邻接矩阵中的迹,若邻接矩阵中的迹不等于零,随机选择与邻接矩阵的非零元素相对应的两个节点,删除节点所对应的边或反转两个节点之间的
边,直至邻接矩阵的迹等于零;当前矩阵的迹为零时,计算矩阵的n次幂,使用上述方法继续判断矩阵的迹是否为零并做调整,递归上述过程,直至n等于矩阵的维数,得到优化后的贝叶斯网络结构。
[0032]
一种基于brkga算法的贝叶斯网络结构优化装置,所述装置包括:
[0033]
检测模块,用于检测到待预测任务中贝叶斯网络预测精度低于预设值时,生成贝叶斯网络结构优化指令;根据贝叶斯网络结构优化指令,获取贝叶斯网络结构;贝叶斯网络结构为dag图;dag图包括:节点集和边集;节点集中的节点为待预测任务中的随机变量;
[0034]
数据获取模块,用于生成若干个[0,1]之间多个随机数组成的随机键向量;
[0035]
解码模块,用于将no tears算法作为解码器对随机键向量进行解码,得到贝叶斯网络结构优化问题的初始解;
[0036]
适应值获取模块,用于根据初始解和预先设置的损失函数,计算每个初始解的适应值;对适应值进行排序,得到精英个体集和非精英个体集;
[0037]
交叉和变异模块,用于根据精英个体集,采用遗传算法进行交叉和变异操作,输出贝叶斯网络结构优化问题的全局近似解;全局近似解为连续值矩阵;
[0038]
离散模块,用于对连续值矩阵进行离散化,得到全局近似邻接矩阵,根据全局近似邻接矩阵,得到优化后的贝叶斯网络结构。
[0039]
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
[0040]
检测到待预测任务中贝叶斯网络预测精度低于预设值时,生成贝叶斯网络结构优化指令;
[0041]
根据贝叶斯网络结构优化指令,获取贝叶斯网络结构;贝叶斯网络结构为dag图;dag图包括:节点集和边集;节点集中的节点为待预测任务中的随机变量;
[0042]
生成若干个[0,1]之间多个随机数组成的随机键向量;
[0043]
将no tears算法作为解码器对随机键向量进行解码,得到贝叶斯网络结构优化问题的初始解;
[0044]
根据初始解和预先设置的损失函数,计算每个初始解的适应值;
[0045]
对适应值进行排序,得到精英个体集;
[0046]
根据精英个体集,采用遗传算法进行交叉和变异操作,输出贝叶斯网络结构优化问题的全局近似解;全局近似解为连续值矩阵;
[0047]
对连续值矩阵进行离散化,得到全局近似邻接矩阵,根据全局近似邻接矩阵,得到优化后的贝叶斯网络结构。
[0048]
上述基于brkga算法的贝叶斯网络结构优化方法和装置,brkga是一种解决组合优化问题的通用框架,首先检测到待预测任务中贝叶斯网络预测精度低于预设值时,生成贝叶斯网络结构优化指令;根据贝叶斯网络结构优化指令,获取贝叶斯网络结构;生成若干个[0,1]之间多个随机数组成的随机键向量;随机键向量是解码器的输入,在brkga中添加no tears算法作为解码器对随机键向量进行解码,得到贝叶斯网络结构优化问题的初始解,也是局部最优解;根据预先设置的损失函数,计算每个初始解的适应值;对所有适应值进行从小到大序,选择排序后前20%对应的初始解构建精英个体集;然后在brkga中引入变异和交叉算子对精英个体进项变异和交叉操作,输出贝叶斯网络结构优化问题的全局近似解;从
而对传统的遗传算法做出了改进,其中,全局近似解为连续值矩阵;对连续值矩阵进行离散化,得到全局近似邻接矩阵,对全局近似邻接矩阵进行去环操作得到优化后的贝叶斯网络结构,本发明通过在brkga框架中引入no tears算法作为解码器对随机键向量进行解码,然后引入遗传算法进行贝叶斯网络结构优化问题的全局近似,以此解决传统进化算法中贝叶斯网络结构学习不够准确的问题。
附图说明
[0049]
图1为一个实施例中基于brkga算法的贝叶斯网络结构优化方法的流程示意图;
[0050]
图2为一个实施例中基于brkga算法的贝叶斯网络结构优化装置的结构框图;
[0051]
图3为一个实施例中计算机设备的内部结构图。
具体实施方式
[0052]
为了使本技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本技术进行进一步详细说明。应当理解,此处描述的具体实施例仅用以解释本技术,并不用于限定本技术。
[0053]
在一个实施例中,如图1所示,提供了一种基于brkga算法的贝叶斯网络结构优化方法,包括以下步骤:
[0054]
步骤102,检测到待预测任务中贝叶斯网络预测精度低于预设值时,生成贝叶斯网络结构优化指令;根据贝叶斯网络结构优化指令,获取贝叶斯网络结构。
[0055]
贝叶斯网络结构为dag图;dag图包括:节点集和边集;节点集中的节点为待预测任务中的随机变量。
[0056]
待预测任务可以有多种场景,比如说在医疗诊断领域,根据患者的症状预测病情;或者是推荐系统,根据用户的访问类型预测用户的喜好等;可以反应预测任务的要素都可以作为预测任务中的随机变量,比如在医疗诊断领域,随机变量就是一些病症或者患者信息(比如咳嗽,腰疼,年龄,性别等),dag图也就是有向无环图,贝叶斯网络的结构是用有向无环图表示的,有向无环图由代表变量的节点及连接这些节点有向边构成,即节点集和边集,节点代表随机变量,节点间的有向边代表了节点间的依赖关系(由父节点指向其子节点),用条件概率进行表达关系强度,没有节点的用先验概率进行信息表达。
[0057]
在待预测任务是利用贝叶斯网络实现的系统中,随着时间的推移,或者场景发生较大的变化时,系统中存储的贝叶斯网络的预测精度可能会较大程度的降低,无法满足实际需求,因此,有必要在系统中设置一个预设值,即在检测到待预测任务中贝叶斯网络预测精度低于预设值时,对贝叶斯网络结构进行优化,对于系统而言,可以生成贝叶斯网络结构优化指令,然后根据贝叶斯网络结构优化指令进行结构优化。
[0058]
步骤104,生成若干个[0,1]之间多个随机数组成的随机键向量。
[0059]
随机键向量是由多个随机数组成的向量,随机数是从[0,1]之间进行任意取值,例如,随机数可以是0.3、0.5、0.8、1等,再此不做具体限制,以随机数生成规则为准。
[0060]
步骤106,将no tears算法作为解码器对随机键向量进行解码,得到贝叶斯网络结构优化问题的初始解。
[0061]
no tears算法提供了一种重新审视贝叶斯网络结构问题的方法,该方法首先定义
了损失函数,并提出了一种定义无环约束的新方法。根据特定的优化问题,将no tears算法作为解码器对随机键向量进行解码,解码后的初始解作为贝叶斯网络结构优化问题的初始解。
[0062]
步骤108,根据初始解和预先设置的损失函数,计算每个初始解的适应值。对适应值进行排序,得到精英个体集。
[0063]
在本发明中,通过初始解计算损失函数的值来确定适应值,将适应值从小到大行排序,选择其中一部分初始解作为精英个体集。精英个体是指种群进化到当前为止搜索到的适应度最高的个体。
[0064]
步骤110,根据精英个体集,采用遗传算法进行交叉和变异操作,输出贝叶斯网络结构优化问题的全局近似解。
[0065]
全局近似解为连续值矩阵。
[0066]
交叉运算和变异算子是遗传算法的重要组成部分,其目的是搜索解空间并避免搜索过程陷入局部最小值中。交叉算子的基本原理是根据某些策略在两个染色体之间交换几个基因。变异算子的基本原理是随机选取一条染色体并改变其值。在本发明中,对精英个体进行交叉和变异操作,生成适应度更高的个体集,这些个体集可以表示为贝叶斯网络的全局近似解。
[0067]
步骤112,对连续值矩阵进行离散化,得到全局近似邻接矩阵,根据全局近似邻接矩阵,得到优化后的贝叶斯网络结构。
[0068]
由于采用遗传算法返回的结果是一个连续值矩阵,不是0或1,故需要将连续值转换为离散值,通过离散化处理,得到的矩阵为全局近似邻接矩阵,邻接矩阵不能确保有向图的无环性,对全局近似邻接矩阵进行去环处理后可以得到优化后的贝叶斯网络结构。
[0069]
上述基于brkga算法的贝叶斯网络结构优化方法,brkga是一种解决组合优化问题的通用框架,首先检测到待预测任务中贝叶斯网络预测精度低于预设值时,生成贝叶斯网络结构优化指令;根据贝叶斯网络结构优化指令,获取贝叶斯网络结构;生成若干个[0,1]之间多个随机数组成的随机键向量;随机键向量是解码器的输入,在brkga中添加no tears算法作为解码器对随机键向量进行解码,得到贝叶斯网络结构优化问题的初始解,也是局部最优解;根据预先设置的损失函数,计算每个初始解的适应值;对所有适应值进行从小到大排序,选择排序后前20%对应的初始解构建精英个体集;然后在brkga中引入变异和交叉算子对精英个体进项变异和交叉操作,输出贝叶斯网络结构优化问题的全局近似解,从而对传统的遗传算法做出了改进。其中,全局近似解为连续值矩阵;对连续值矩阵进行离散化,得到全局近似邻接矩阵,对全局近似邻接矩阵进行去环操作得到优化后的贝叶斯网络结构,本发明通过在brkga框架中引入no tears算法作为解码器对随机键向量进行解码,然后引入遗传算法进行贝叶斯网络结构优化问题的全局近似,以此解决传统进化算法中贝叶斯网络结构学习不够准确的问题。
[0070]
在其中一个实施例中,将no tears算法作为解码器对随机键向量进行解码,得到贝叶斯网络结构优化问题的初始解,包括:
[0071]
根据no tears算法,构建第一寻优模型为:
[0072]
[0073]
h(w)=tr(e
wow
)

d
[0074]
其中,l表示损失函数,w表示实数矩阵,x表示数据矩阵,n是随机键向量大小;w ow表示hardmard积,e
wow
表示矩阵指数,h(w)表示有向无环图中的无环约束,d表示数据维数;
[0075]
通过带有二次惩罚项的增广拉格朗日方法来优化第一寻优模型,得到第二寻优模型为:
[0076][0077]
根据第二寻优模型的对偶表达式,得到解码器为:
[0078]
d(α)=min l
ρ
(w,α)
[0079][0080][0081]
其中,是初始解,α是拉格朗日乘数,ρ是步长;
[0082]
其中,实数矩阵是指矩阵中的所有元素都是实数,数据矩阵是指所有实验是数据组成的矩阵,实数矩阵w可以作为邻接矩阵a(w)∈{0,1}
d
×
d
的输入,这个函数的具体含义为:如果w中的元素不为0,则将a(w)中的元素设置为1;否则,将a(w)中的元素设置为0。
[0083]
将所述随机键向量作为实数矩阵输入到解码器进行解码,得到贝叶斯网络结构优化问题的初始解,no tears算法是一个寻优算法,但是贝叶斯结构优化问题是非凸优化问题,所以无法通过上述过程找到准确解。因此,需要用brkga算法找到更多可能的解,上述过程被视为解码器。
[0084]
将得到的初始解输入到预先设置的损失函数中计算出初始解的适应值,根据适应值的大小进行排序,得到精英个体集和非精英个体集。
[0085]
在其中一个实施例中,对适应值进行排序,得到精英个体集,包括:对适应值进行从小到大的排序,选择排序后前20%对应的初始解构建精英个体集。该精英个体可以作为遗传算法中的初始数据,用作遗传算法的输入,新后代继承精英个体集中的元素时也会拥有较好的适应值。具体的,在设置突变个体的数量时,本实施例中设置突变个体的数量与精英个体的数量相同。
[0086]
在其中一个实施例中,根据精英个体集,采用遗传算法进行交叉和变异操作,输出贝叶斯网络结构优化问题的全局近似解,包括:根据精英个体集,采用遗传算法进行交叉和变异操作,通过变异算子生成变异个体,精英个体集被直接复制到下一代并执行交叉运算,得到交叉个体,将变异个体和交叉个体合并形成新一代个体集,并计算每个个体的适应值,当达到预设的迭代条件时,得到贝叶斯网络结构优化问题的全局近似解。
[0087]
采用遗传算法对精英个体集进行交叉和变异操作,每一次操作得到的个体的适应值都比前一次要好,不断迭代此过程,当达到预设的迭代条件时,得到的是适应度最好的个体集,这些个体可以作为贝叶斯网络结构优化问题的全局近似解。
[0088]
在其中一个实施例中,预设的迭代条件为最大迭代次数。最大迭代次数为用户预先定义的数值。
[0089]
在其中一个实施例中,对连续值矩阵进行离散化,得到全局近似邻接矩阵,包括:
若连续值矩阵中的元素大于阈值,则将元素设置为1,若连续值矩阵中的元素小于阈值,则将元素设置为0,得到全局近似邻接矩阵。
[0090]
连续值矩阵为贝叶斯网络的全局近似解,对连续值矩阵进行离散化,将连续值转化为离散值,得到的离散值为全局近似邻接矩阵。
[0091]
在其中一个实施例中,根据全局近似邻接矩阵,得到优化后的贝叶斯网络结构,包括:
[0092]
根据全局近似邻接矩阵,计算邻接矩阵中的迹,若邻接矩阵中的迹不等于零,随机选择与邻接矩阵的非零元素相对应的两个节点,删除节点所对应的边或反转两个节点之间的边,直至邻接矩阵的迹等于零;当前矩阵的迹为零时,计算矩阵的n次幂,使用上述方法继续判断矩阵的迹是否为零并做调整,递归上述过程,直至n等于矩阵的维数,得到优化后的贝叶斯网络结构。
[0093]
经过离散化后得到的邻接矩阵中的元素是0或1。但是这样仍然无法确保有向图的无环性。因此,需要设计一种算法来删除图中包含的环。为了确保贝叶斯网络的无环性,这里使用了dag的一个重要属性:邻接矩阵a
ij
的n次幂表示从i到j要走n步。本实施例中设计算法的第一步是计算邻接矩阵的迹。如果矩阵的迹不等于0,则随机选择与所述邻接矩阵的非零元素相对应的两个节点,删除节点所对应的边或反转两个节点之间的边,直至所述邻接矩阵的迹等于零;当前矩阵的迹为零时,则计算矩阵的n次幂,使用上述方法继续判断矩阵的迹是否为零并做调整,递归上述过程,直至n等于矩阵的维数。以下通过具体实验过程对本发明上述实施例的有益效果进行说明:
[0094]
本文中的实验采用r语言中实现,实验用到的网络从贝叶斯网络存储库下载。表1中列出了本文使用的网络的详细信息。分别从这些网络上进行采样,样本大小为100、500、1000。种群大小p设置为50,最大迭代次数为100。精英个体和突变个体的大小分别为p
m
=0.2*p和p
e
=0.2*p,ρ
e
设置为0.7。所有结果均为10次实验的平均值。shd(结构汉明距离)用于评估算法性能,shd值越小表示两个有向无环图越相似。首先,在表1中列出了在这些贝叶斯网络上进行的算法的实验结果,样本大小分别为100、500和1000。将brkga算法与原始no tears算法和标准遗传算法进行了比较。对于no tears,设置最大迭代t=100,公差∈=1e

8,最低前进率c=0.25。遗传算法的种群大小为50,交叉概率为0.9,变异概率为0.1。实验结果可见于表1,表中最小的shd值加粗显示。从表1可以看出,shd随着网络中边的数量增加而增加。除cancer和earthquake网络外,与其他算法相比,本发明中的brkga算法达到的shd值更小,说明本发明中的brkga算法比这两个算法获得的dag更加接近真实网络结构。该表显示,与标准ga和brkga相比,no tears在cancer网络和earthquake网络上获得的shd值更小。该表还显示,在cancer,earthquake,asia,child和alarm网络上,no tears的性能优于ga。同样,在cancer网络,earthquake网络和样本量为1000的hailfinder网络上,no tears的shd值均优于brkga,与标准ga相比,本发明中的brkga算法在所有网络上均具有更好的性能。当网络较小时,与本发明算法相比,no tears可以达到更好的shd值,这是因为no tears已经找到接近全局精确解的dag。但是,随着节点的增加,no tears取得的解比本发明算法取得的解相差越来越大。本发明中的brkga算法可以获得连续解,并通过指示函数对其离散化。因此,即使通过本发明中的brkga算法获得的最优解实现了较小的损耗值,其邻接矩阵也可能相同。尽管brkga仅添加了一个解码器并生成了随机键向量,但它显着增强了标准ga
的性能。
[0095]
表1实验结果表
[0096][0097]
应该理解的是,虽然图1流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图1中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
[0098]
在一个实施例中,如图2所示,提供了一种基于brkga算法的贝叶斯网络结构优化装置,包括:检测模块201、数据获取模块202、解码模块203、适应值获取模块204、交叉和变异模块205和离散模块206,其中:
[0099]
检测模块201,用于检测到待预测任务中贝叶斯网络预测精度低于预设值时,生成贝叶斯网络结构优化指令;根据贝叶斯网络结构优化指令,获取贝叶斯网络结构;贝叶斯网络结构为dag图;dag图包括:节点集和边集;节点集中的节点为待预测任务中的随机变量。
[0100]
数据获取模块202,用于生成若干个[0,1]之间多个随机数组成的随机键向量。
[0101]
解码模块203,用于将no tears算法作为解码器对随机键向量进行解码,得到贝叶斯网络结构优化问题的初始解。
[0102]
适应值获取模块204,用于根据初始解和预先设置的损失函数,计算每个初始解的适应值;对适应值进行排序,得到精英个体集。
[0103]
交叉和变异模块205,用于根据精英个体集,采用遗传算法进行交叉和变异操作,输出贝叶斯网络结构优化问题的全局近似解;全局近似解为连续值矩阵。
[0104]
离散模块206,用于对连续值矩阵进行离散化,得到全局近似邻接矩阵,根据全局近似邻接矩阵,得到优化后的贝叶斯网络结构。
[0105]
在其中一个实施例中,解码模块203还用于将no tears算法作为解码器对随机键向量进行解码,得到贝叶斯网络结构优化问题的初始解,包括:
[0106]
根据no tears算法,构建第一寻优模型为:
[0107][0108]
h(w)=tr(e
wow
)

d
[0109]
其中,l表示损失函数,w表示实数矩阵,x表示数据矩阵,n是随机键向量大小;w ow表示hardmard积,e
wow
表示矩阵指数,h(w)表示有向无环图中的无环约束,d表示数据维数;
[0110]
通过带有二次惩罚项的增广拉格朗日方法来优化第一寻优模型,得到第二寻优模型为:
[0111][0112]
根据第二寻优模型的对偶表达式,得到解码器为:
[0113]
d(α)=min l
ρ
(w,α)
[0114][0115][0116]
其中,是初始解,α是拉格朗日乘数,ρ是步长;
[0117]
将随机键向量作为实数矩阵输入到解码器进行解码,得到贝叶斯网络结构优化问题的初始解。
[0118]
在其中一个实施例中,适应值获取模块204还用于对适应值进行排序,得到精英个体集,包括:对适应值进行从小到大的排序,选择排序后前20%对应的初始解构建精英个体集。
[0119]
在其中一个实施例中,交叉和变异模块205还用于根据精英个体集,采用遗传算法进行交叉和变异操作,输出贝叶斯网络结构优化问题的全局近似解,包括:根据精英个体集,采用遗传算法进行交叉和变异操作,通过变异算子生成变异个体,精英个体集被直接复制到下一代并执行交叉运算,得到交叉个体,将变异个体和交叉个体合并形成新一代个体集,并计算每个个体的适应值,当达到预设的迭代条件时,得到贝叶斯网络结构优化问题的全局近似解。
[0120]
在另一个实施例中,交叉和变异模块205还用于预设的迭代条件为最大迭代次数。
[0121]
在其中一个实施例中,离散模块206还用于对连续值矩阵进行离散化,得到全局近似邻接矩阵,包括:若连续值矩阵中的元素大于阈值,则将元素设置为1,若连续值矩阵中的元素小于阈值,则将元素设置为0,得到全局近似邻接矩阵。
[0122]
在另一个实施例中,离散模块206还用于根据全局近似邻接矩阵,得到优化后的贝
叶斯网络结构,包括:根据全局近似邻接矩阵,计算邻接矩阵中的迹,若邻接矩阵中的迹不等于零,随机选择与邻接矩阵的非零元素相对应的两个节点,删除节点所对应的边或反转两个节点之间的边,直至邻接矩阵的迹等于零;当前矩阵的迹为零时,计算矩阵的n次幂,使用上述方法继续判断矩阵的迹是否为零并做调整,递归上述过程,直至n等于矩阵的维数,得到优化后的贝叶斯网络结构。
[0123]
关于基于brkga算法的贝叶斯网络结构优化装置的具体限定可以参见上文中对于基于brkga算法的贝叶斯网络结构优化方法的限定,在此不再赘述。上述基于brkga算法的贝叶斯网络结构优化装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
[0124]
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图3所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种基于brkga算法的贝叶斯网络结构优化方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
[0125]
本领域技术人员可以理解,图3中示出的结构,仅仅是与本技术方案相关的部分结构的框图,并不构成对本技术方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
[0126]
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,该存储器存储有计算机程序,该处理器执行计算机程序时实现上述实施例中方法的步骤。
[0127]
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述实施例中方法的步骤。
[0128]
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本技术所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双数据率sdram(ddrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。
[0129]
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛
盾,都应当认为是本说明书记载的范围。
[0130]
以上所述实施例仅表达了本技术的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本技术构思的前提下,还可以做出若干变形和改进,这些都属于本技术的保护范围。因此,本技术专利的保护范围应以所附权利要求为准。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献

  • 日榜
  • 周榜
  • 月榜