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

边缘分布获取方法、装置、设备及其存储介质与流程

2022-02-25 18:20:15 来源:中国专利 TAG:


1.本发明涉及计算机应用技术领域,尤其涉及一种边缘分布获取方法、装置、设备及其存储介质。


背景技术:

2.随着计算机技术的发展,使用网络结构和条件概率分布两个要素定义一个贝叶斯网络,以便于通过贝叶斯网络满足有关海量数据应用场景的贝叶斯网络的边缘分布的计算需求。比如,满足在数据处理场景中,对某个数值在一定条件下发生概率的估算需求,比如,满足在图像处理场景中对满足某种图像特征的图像中,出现某个主体的可能性估算的需求等。
3.然而,在使用联合概率分布算法等进行离散贝叶斯网络的结构学习和参数学习后,仅仅保留每个节点的条件概率分布作为参数,而不保留原有数据,导致当前技术查询某个节点的概率时需要对该贝叶斯网络的全部节点进行遍历检索,查询效率较低,当网络结构较大时会产生查询时效低甚至无法运行的情况,无法满足海量数据的应用场景中的边缘分布计算需求。


技术实现要素:

4.本发明旨在至少在一定程度上解决相关技术中的技术问题之一。
5.为此,本发明的第一个目的在于提出一种边缘分布获取方法,以实现对边缘概率的计算效率的提高。
6.本发明的第二个目的在于提出一种边缘分布获取装置。
7.本发明的第三个目的在于提出一种计算机设备。
8.本发明的第四个目的在于提出一种非临时性计算机可读存储介质。
9.本发明的第五个目的在于提出一种计算机程序产品。
10.为达上述目的,本发明第一方面实施例提出了一种边缘分布获取方法,包括:
11.获取与贝叶斯网络的目标节点的条件概率分布对应的事件发生数量矩阵;
12.根据所述条件概率分布对应的事件发生数量矩阵确定与所述目标节点的多个离散值对应的事件发生数量,以及所述目标节点的事件发生总数量;
13.根据所述事件发生总数量以及所述多个离散值对应的事件发生数量,采用预设的事件数量算法获取所述目标节点的边缘分布。
14.为达上述目的,本发明第二方面实施例提出了一种边缘分布获取装置,包括:
15.第一获取模块,用于获取与贝叶斯网络的目标节点的条件概率分布对应的事件发生数量矩阵;
16.确定模块,用于根据所述条件概率分布对应的事件发生数量矩阵确定与所述目标节点的多个离散值对应的事件发生数量,以及所述目标节点的事件发生总数量;
17.第二获取模块,用于根据所述事件发生总数量以及所述多个离散值对应的事件发
生数量,采用预设的事件数量算法获取所述目标节点的边缘分布。
18.为达上述目的,本发明第三方面实施例提出了一种计算机设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时,实现如上述第一方面实施例所述的边缘分布获取方法。
19.为了实现上述目的,本发明第四方面实施例提出了一种非临时性计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上述第一方面实施例所述的边缘分布获取方法。
20.为了实现上述目的,本发明第五方面实施例提出了一种计算机程序产品,当所述计算机程序产品中的指令处理器执行时,实现如上述第一方面实施例所述的边缘分布获取方法。
21.本发明的实施例,至少具有如下附加的技术效果:
22.获取与贝叶斯网络的目标节点的条件概率分布对应的事件发生数量矩阵,,根据条件概率分布对应的事件发生数量矩阵确定与目标节点的多个离散值对应的事件发生数量,以及目标节点的事件发生总数量,进而,根据事件发生总数量以及多个离散值对应的事件发生数量,采用预设的事件数量算法获取目标节点的边缘分布。由此,降低贝叶斯网络中的节点计算边缘概率时的计算量,提高了边缘概率的计算效率,为满足海量数据应用场景中的边缘分布计算需求提供了技术支撑。
23.本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
24.本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
25.图1为本发明实施例所提供的一种贝叶斯网络结构示意图;
26.图2为本发明实施例所提供的一种边缘分布获取方法的流程示意图;
27.图3为本发明实施例所提供的一种事件发生数量矩阵示意图;
28.图4是根据本发明实施例所提供的一种贝叶斯网络的训练示意图;
29.图5为本发明实施例所提供的一种边缘分布获取场景的流程示意图;
30.图6为本发明实施例提供的一种边缘分布获取装置的结构示意图;以及
31.图7为本发明实施例提供的另一种边缘分布获取装置的结构示意图。
具体实施方式
32.下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。
33.下面参考附图描述本发明实施例的边缘分布获取方法、装置、设备及其存储介质。
34.其中,本发明实施例的边缘分布获取指的是在贝叶斯网络中的边缘获取,贝叶斯网络是一种概率图模型,为有向无环图,由网络结构和各个节点的条件概率分布决定,使用网络结构和条件概率分布两个要素定义一个贝叶斯网络。在实现本发明实施例的过程中,
发明人发现基于离散贝叶斯网络的边缘分布查询可以使用联合概率分布结合贝叶斯网的链式法则的方法进行,即在贝叶斯网络中,基于离散贝叶斯网络的边缘分布查询目前常使用联合概率分布结合贝叶斯网的链式法则的思路进行,对于图1中的网络结构来说,计算方式如下:p(a,b,c,d,e)=p(e|b)
×
p(b|c,a)
×
p(d|a)
×
p(c)
×
p(a)。
35.或者,根据精确推断算法进行概率查询的有关需求的满足,常见的精确推断算法包括:变量消除算法,团树算法,信念传播算法等,其中,变量消除算法指的是在计算边缘分布的时候对联合概率分布中的变量遍历求和将其消去,使用的是动态规划的思想。
36.图树算法指的是使用团树表示联合概率分布,使用团树算法对贝叶斯网络进行概率查询的时候需要先将贝叶斯网络转化为团树结构(树状聚类图)再进行概率推理。它和变量消除算法在理论推导是等价的,消除变量算法将联合概率分布转化为局部各个因子,然后对因子之间的乘积进行求和,而团树算法则是将联合概率分布利用变量消除算法转化为团树,然后再对团树之间进行信息传递。
37.信念传播算法指的是将变量的概率求和的过程看作是信息传递,对于每一个节点,将该节点的概率分布传递给下一个节点,来改变下一个节点的概率分布,通过迭代收敛得到各个节点的边缘分布。
38.然而,发明人发现,在上述边缘分布的算法中,在进行离散贝叶斯网络的结构学习和参数学习后仅仅保留每个节点的条件概率分布作为参数,而不保留原有数据,导致当前技术查询某个节点的概率时需要对该贝叶斯网络的全部节点进行遍历检索,查询效率较低,当网络结构较大时会产生查询时效低甚至无法运行的情况。
39.比如,当使用变量消除算法进行离散贝叶斯网推理查询的时候,寻找最优消元顺序困难。变量消除算法在于计算新的向量同时进行变量消除,假设拥有n个变量以及每个变量拥有b种不同的取值,当计算一个拥有k个变量的新向量时,算法复杂度为o(n2bk)。另外,当需要多次进行变量消除算法时,中间结果常常可以复用,但变量消除算法却计算多次,产生了大量冗余计算,效率低下。相较之下,团树算法只需要将信息在叶子节点和根节点之间进行传递,可以大幅降低计算规模,但是依旧无法避免需要遍历整个图来计算联合概率分布。信念传播算法避免了变量消除算法产生的重复计算问题,与团树算法的区别在于团树算法时首先进行团树构造,再在团树上传播信息;而信念传播算法不需要先进行团树的构造,可以在因子图上进行计算,相较于团树算法更为高效,但是信念传播算法并非适用于任意图,它仅仅确保可以在树状图上收敛,且信念传播算法依旧需要遍历所有节点才能完成边缘分布的查询。
40.为了解决上述背景技术中提到的技术问题,本发明提出的一种边缘分布获取方法中,聚焦于贝叶斯网络某节点边缘分布的查询效率,跳过联合概率分布的复杂算法以及算法复杂度较高的变量消除算法,使用事件发生数量的思路进行边缘分布的查询,从而解决贝叶斯网络节点边际概率查询时效低的问题。主要思路在于将原有技术仅仅使用条件分布概率导致的不必要计算取缔,使用样本发生数量(support)为概率信息添加额外的样本信息,简化计算,提高运行效率。
41.图2为本发明实施例所提供的一种边缘分布获取方法的流程示意图。其中,边缘分布是对于联合概率分布的降维操作,得到只关于一个变量的概率分布,例如,对于一个关于两个变量的相关的概率分布p(x,y),关于节点x的边缘分布为p(x)=∑yp(x,y)=∑yp(x|y)
p(y)。
42.条件概率分布是对于x,y两个变量来说,变量y在条件{x=x}的条件概率分布指的是已知变量x取值为x时,y的概率分布,即p(y|x=x)等。另外,本实施例中提到的贝叶斯网络指的是一种概率图模型,为有向无环图,由网络结构和各个节点的条件概率分布决定。
43.如图2所示,该边缘分布获取方法包括以下步骤:
44.步骤101,获取与贝叶斯网络的目标节点的条件概率分布对应的事件发生数量矩阵。
45.步骤102,根据条件概率分布对应的事件发生数量矩阵确定与目标节点的多个离散值对应的事件发生数量,以及目标节点的事件发生总数量。
46.其中,目标节点可以理解为贝叶斯网络中待计算边缘分布概率的节点,其中,目标节点的多个离散值可以理解为目标节点相关联的具有数据传递关系的其他节点之间的传递发生概率的概率值,其中,多个离散值对应的事件可以理解为目标节点相关联的具有数据传递关系的其他节点之间的传递事件,事件的发生数量指的是多个离散值对应的事件发生在总事件的数量中,可能出现的事件的总数量。
47.在本实施例中,获取与目标节点的多个离散值对应的事件发生数量,以及目标节点的事件发生总数量,显而易见的是,基于发生数量和发生总数量可以获知每个离散值对应的事件发生的概率。
48.举例而言,参照图1的贝叶斯网络结构图,当目标节点为节点d时,若要计算条件概率分布p(d|a),则获取的离散值为p(d|a)发生的各种可能性,比如,p(d1|a1)、p(d2|a2)等,事件发生数量为p(d1|a1)发生的数量以及p(d2|a2)发生的数量等,目标节点的事件发生总数量为所有可能的d和所有可能的a发生的所有事件发生的总数量。
49.需要说明的是,在不同的应用场景中,获取与目标节点的多个离散值对应的事件发生数量,以及目标节点的事件发生总数量的方式不同,在本示例中,获取与目标节点的条件概率分布对应的事件发生数量矩阵。
50.在本实施例中,预先存储目标节点的条件概率分布对应的事件发生数量矩阵,该事件发生数量矩阵中包括与每个离散值对应的事件发生数量,以及目标节点的事件发生总数量。
51.在一些可能的实施例中,可以在预设的应用数据库中存储大量的节点标识与每个节点标识对应的事件发生矩阵,由此,可以获取与所述目标节点对应的应用数据库,根据目标节点的节点标识查询应用数据库,获取与目标节点的条件概率分布对应的事件发生数量矩阵。
52.因此,从条件概率分布对应的事件发生数量矩阵中,获取与每个离散值匹配的目标条件概率分布对应的事件发生数量,进而,对目标条件概率分布对应的事件发生数量求和,获取每个离散值对应的事件发生数量。
53.进而,根据条件概率分布对应的事件发生数量矩阵确定与目标节点的多个离散值对应的事件发生数量,以及目标节点的事件发生总数量。
54.在本实施例中,由于该事件发生数量矩阵中包括与每个离散值对应的事件发生数量,以及目标节点的事件发生总数量,由此,可以直接根据条件概率分布对应的事件发生数量矩阵确定与目标节点的多个离散值对应的事件发生数量,以及目标节点的事件发生总数
量。
55.在本示例中,事件发生数量矩阵包含与每个事件对应的发生数量,举例而言,如图3所示,条件概率分布p(d|a),当a,d取值均为m种不同取值时的储存形式,事件发生数量矩阵为m*m的矩阵。
56.当然,在一些可能的实施例中,还可以采用深度学习等技术获取多个离散值对应的事件发生数量求和得到对应的事件发生总数量,在本示例中,预先根据深度学习技术,通过样本节点与每个离散值对应的事件发生概率训练得到深度模型,从而,将目标节点输入训练好的深度模型,得到与目标节点与每个离散值对应的事件发生概率,基于预设的事件发生的发生概率和对应场景中所有可能的事件的总数量的乘积,得到与目标节点的多个离散值对应的事件发生数量,进而,对多个离散值对应的事件发生数量求和得到对应的事件发生总数量。步骤103,根据事件发生总数量以及多个离散值对应的事件发生数量,采用预设的事件数量算法获取目标节点的边缘分布。
57.在本实施例中,根据事件发生总数量以及多个离散值对应的事件发生数量,获取目标节点的边缘分布。
58.在一些可能的示例中,计算每个离散值对应的事件发生数量与事件发生总数量的比值,根据每个离散值对应的比值获取目标节点的边缘分布。
59.举例而言,结合该目标节点的条件概率分布以及对应事件发生的数量计算该节点对应的边缘分布,对应节点的边缘分布为该节点各个离散值对应发生的数量除以该事件出现的总次数,例如对于图1中的贝叶斯网络中的节点d来说,获取p(d|a)以及c(d,a)后,其中,定义c(d=m)为事件d=m出现的次数。对于更为复杂的条件概率分布则以相同的思路处理。
60.在另一些可能的示例中,预先训练卷积神经网络,将事件发生总数量以及多个离散值对应的事件发生数量输入该卷积神经网络,得到目标节点的边缘分布。在还一些可能的实施例中,根据实验数据确定每个离散值对应的权重值,将离散值对应的事件发生数量与对应的权值乘积后,计算离散值对应的事件发生数量对应的乘积值与事件发生总数量的比值,得到目标节点的边缘分布。
61.由此,如图4所示,本发明实施例的边缘分布获取方法中,提前学习贝叶斯网络,贝叶斯网络参数学习时计算并保留各个事件发生的数量,生成包含数量数据的贝叶斯网络。
62.从而,如图5所示,在计算贝叶斯网络边缘概率时,获取该目标节点各个离散值对应的时间的发生数量,以及目标节点的事件发生总数量,根据事件发生总数量以及多个离散值对应的事件发生数量,获取目标节点的边缘分布。
63.进一步的,在本发明的一个实施例中,可以根据目标节点的边缘分布满足场景中对目标节点的对应的有关事件的查询,比如,查询目标节点的智商,该则对应的多个离散值为目标节点的成绩、学历等,得到的边缘分布可以作为目标节点的智商可能值。
64.综上,本发明实施例的边缘分布获取方法,在查询离散贝叶斯网络的边缘分布时,为了能够提升查询效率,改进了原有的贝叶斯网络参数储存的方式,增加了各个节点条件概率分布对应的事件发生数量。此外,在离散贝叶斯网络查询时,摒弃了原有计算复杂度更
高的联合概率分布结合变量消除算法的计算方式,使用了事件发生次数来计算,从而实现了更高效的节点边缘分布查询方法。
65.为了实现上述实施例,本发明还提出一种边缘分布获取装置。
66.图6为本发明实施例提供的一种边缘分布获取装置的结构示意图。
67.如图6所示,该边缘分布获取装置包括:第一获取模块710、确定模块720和第二获取模块730。
68.其中,第一获取模块710,用于获取与贝叶斯网络的目标节点的条件概率分布对应的事件发生数量矩阵;
69.确定模块720,用于根据所述条件概率分布对应的事件发生数量矩阵确定与所述目标节点的多个离散值对应的事件发生数量,以及所述目标节点的事件发生总数量;
70.第二获取模块730,用于根据所述事件发生总数量以及所述多个离散值对应的事件发生数量,采用预设的事件数量算法获取所述目标节点的边缘分布。进一步地,在本发明实施例的一种可能的实现方式中,如图7所示,第一获取模块710,包括:第一获取单元711和确定单元712。
71.其中,第一获取单元711,用于获取与所述目标节点对应的应用数据库;
72.确定单元712,用于根据所述目标节点的节点标识查询所述应用数据库,获取与所述目标节点的条件概率分布对应的事件发生数量矩阵。
73.在本发明实施例的一种可能的实现方式中,第二获取模块730包括:第二获取单元731和第三获取单元732,其中,
74.第二获取单元731,用于从所述条件概率分布对应的事件发生数量矩阵中,获取与每个所述离散值匹配的目标条件概率分布对应的事件发生数量;
75.第三获取单元732,用于对所述目标条件概率分布对应的事件发生数量求和,获取每个所述离散值对应的事件发生数量。
76.在本发明实施例的一种可能的实现方式中,第二获取模块730包括:计算单元733和第四获取单元734,其中,
77.计算单元733,用于计算每个所述离散值对应的事件发生数量与所述事件发生总数量的比值;
78.第四获取单元734,用于根据每个所述离散值对应的比值获取所述目标节点的边缘分布。
79.需要说明的是,前述对边缘分布获取方法实施例的解释说明也适用于该实施例的边缘分布获取装置,此处不再赘述。
80.为了实现上述实施例,本发明还提出一种计算机设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时,实现如上述实施例所描述的边缘分布获取方法。
81.为了实现上述实施例,本发明还提出一种非临时性计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上述实施例所描述的边缘分布获取方法。
82.为了实现上述实施例,本发明还提出一种计算机程序产品,当所述计算机程序产品中的指令处理器执行时,实现如上述实施例所描述的边缘分布获取方法。
83.在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
84.此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
85.流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现定制逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。
86.在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,"计算机可读介质"可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(ram),只读存储器(rom),可擦除可编辑只读存储器(eprom或闪速存储器),光纤装置,以及便携式光盘只读存储器(cdrom)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
87.应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。如,如果用硬件来实现和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(pga),现场可编程门阵列(fpga)等。
88.本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
89.此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模
块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
90.上述提到的存储介质可以是只读存储器,磁盘或光盘等。尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。
再多了解一些

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

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

相关文献