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

一种复杂网络中社区个数估计方法与流程

2022-04-25 05:10:11 来源:中国专利 TAG:


1.本发明涉及复杂网络社区发现技术领域,更具体地说,特别涉及一种复杂网络中社区个数估计方法。


背景技术:

2.复杂网络一般指节点数目众多、连接关系复杂的网络。复杂网络是计算机科学、统计物理、系统科学等学科交叉研究的重要分支,同时也是分析和研究许多实际系统的交互事件不可缺少的工具。在复杂网络中,通常将系统中独立的个体数据称为节点,各节点相互之间的连接称为边,紧密连接的节点集称为社区。网络中的社区是现实世界社会关系的一种映射已成为复杂网络的一个重要特征,如何有效地发现社区已吸引了众多领域学者的研究。社区发现是一个揭示复杂网络中潜在社区结构的过程,具有很多现实意义,在现实生活中具有非常重要的应用价值,例如,在社交网络中挖掘具有共同兴趣或相似社会背景的社会群体进行准确的内容推广或广告宣传;在疾病传播网络中建立动态模型用于预测疫情发展趋势,以便于进行准确的疫情防控行动。
3.社区数量的估计对社区发现算法的应用有着重要的影响。目前,很多学者都提出了社区数量的估计算法,其中最著名的是模块度优化方法和拓扑势法。在估计含有大量社区结构的复杂网络中的社区数量时,通过模块度优化方法通常可以得到少量的社区,其与实际社区的数量有着很大的不同。拓扑势法是一种典型的社区数量估计算法,其主要原理是将物理学中的势场概念推广到复杂网络中,通过高、低势值对网络进行分割,从而实现社区数量估计的目的。
4.对于社区数量的估计,虽然模块度优化方法和拓扑势法能够满足一定的使用需求,但是其都不能得出准确度较高的社区估计数量,因此,一些学者开始从生成网络图模型出发,通过最大化数据似然算法来推导真实社区的数量。而newman等人则提出了一种基于随机块模型统计推断的社区数量估计算法,其通过蒙特卡罗抽样方法来推断社区数量。然而,最大化数据似然算法和基于随机块模型统计推断的社区数量估计算法在使用的过程中,都需要假设先验概率分布,由于在实际应用当中很难确定合适的概率分布,导致在社区数量估计的过程中难以得到高准确度的社区估计数量。
5.如何解决上述技术问题,成为亟待解决的技术难题。


技术实现要素:

6.本发明的目的在于提供一种能够有效提高社区个数估计的准确度的复杂网络中社区个数估计方法,该方法使用时,通过计算最大平均互信息与最小信息熵的差值来确定复杂网络中包含的社区个数。
7.为了达到上述目的,本发明采用的技术方案如下:
8.1.一种复杂网络中社区个数估计方法,该方法包括如下步骤:
9.1.1、给服务器输入网络数据d用于社区个数估计;
10.1.2、服务器对网络数据d采用第一算法进行网络嵌入,然后使用第二算法将网络嵌入聚成指定数量的类簇,其中,每一个类簇分别对应一个社区,重复对本步骤n次,以得到社区数为1到n为序列号的一系列社区划分h;
11.1.3、计算任意两个相邻社区之间的平均互信息,并最终获得序列号1到n中的相邻社区划分中的所有平均互信息i的结果列表;
12.1.4、计算每个社区划分中社区的每个节点的访问概率以及不同社区之间的跳转概率,从而得到对应社区划分的所有信息熵e的结果列表;
13.1.5、根据如下公式计算社区个数k即可,公式如下:
14.k=argmax{[ik(d;h)]-ek[i(h)]}
ꢀꢀꢀꢀꢀꢀꢀꢀꢀ
公式(1)
[0015]
在公式(1)中,ik(d;h)为i的结果列表的序列号为k时的最大平均互信息,ek[i(h)]为e的结果列表的序列号为k时的最小信息熵。
[0016]
优选地,在步骤1.2中,预先定义初始化计数为i,聚类结果集为p,并且,初始化计数值i=0,聚类次数为n,所述步骤1.2还包括:
[0017]
1.2.1、将初始化计数值i与聚类次数n进行比对,当i大于或者等于n时,执行步骤1.3;当i小于n时,执行如下步骤:
[0018]
1.2.2、服务器对网络数据d采用第一算法进行网络嵌入;
[0019]
1.2.3、通过第二算法将步骤1.2.2的网络嵌入聚成i 1类的类簇,从而得到数量为i 1的聚类结果集p,并以此循环,进而得到社区数为1到n为序列号的一系列社区划分h的聚类结果集p。
[0020]
优选地,在步骤1.3中,令i=0,准备计算社区数为1到n为序列号的一系列社区划分h的相邻划分间的平均互信息i的结果列表i1、i2......in,将i与n-1进行比对:
[0021]
1.3.1、当i大于或者等于n-1时,得到最终的平均互信息i的结果列表,执行步骤1.4;
[0022]
1.3.2、当i小于n-1时,计算相邻两个社区划分之间的平均互信息,并以此循环,进而获得序列号1到n的社区划分h的最终平均互信息i的结果列表,再执行步骤1.4。
[0023]
优选地,在步骤1.3中,从社区数为1到n为序列号的一系列社区划分h的聚类结果集p提取任意节点数据,通过如下公式计算平均互信息i:
[0024][0025]
ω
ij
=p(xi,yj)
ꢀꢀ
公式(3)
[0026][0027]
其中,i(xi;yj)为社区xi和社区yj的互信息,p(xi,yj)为社区xi和社区yj的关联性,n为网络中节点总数,为社区xi和社区yj共同节点的数量。
[0028]
优选地,在步骤1.4中,其还包括如下步骤:
[0029]
1.4.1、通过预设的随机游走算法来计算每个划分社区h的每个节点的转移概率矩阵m;
[0030]
1.4.2、令i=0,准备利用各转移概率矩阵m内的每个划分社区的每个节点的访问
概率以及不同划分社区之间的跳转概率进行计算,从而得到序列号1到n的划分社区h的信息熵e的结果列表e1、e2......en;
[0031]
1.4.3、将i与n进行比对,当i大于或者等于n时,执行步骤1.5,反之,当i小于n时,计算每个社区划分h的信息熵,以此循环,进而获得序列号1到n的划分社区h的最终信息熵e结果列表,再执行步骤1.5。
[0032]
优选地,在步骤1.4.1中,其还包括如下步骤:
[0033]
1.4.1.1、给定网络g=(v,e),将网络中的边表示为(u,e)∈e,其中节点u,v∈v;
[0034]
1.4.1.2、定义节点u的邻居为n(u)={v|v∈v且(u,v)∈e};
[0035]
1.4.1.3、设源节点为u,目标节点为v,从节点u跳转到节点v的转移概率矩阵m为如果v∈n(u),则否则
[0036]
优选地,在步骤1.4.2中,其还包括如下步骤:
[0037]
1.4.2.1、分别以网络g=(v,e)中的每个节点为源节点作n次长度为l的随机游走,设节点u的游走序列集合为其中,表示第i次随机游走所得的节点序列,则网络g=(v,e)总的随机游走序列集合为s={su|u∈v};
[0038]
1.4.2.2、设节点u在中出现的次数为则节点u在s中出现的次数为因此,节点u的访问概率被定义为
[0039]
1.4.2.3、以社区i为例,社区跳转概率定义为
[0040]
优选地,在步骤1.4.3中,从社区数为1到n为序列号的一系列社区划分h的聚类结果集p提取任意节点数据,通过如下公式计算信息熵e:
[0041][0042][0043][0044][0045][0046]
其中,p
α
为在网络中进行充分的随机游走过后节点α的出现概率,即在所有游走序列中节点α出现的次数与序列中所有节点出现次数的总和之比;为网络中社区i的出现概率,m为社区个数,为所有社区的出现概率和,h(q)为对所有社区进行编码所需的最短平均编码长度,h(p
l
)为每个社区i内节点的最短平均编码长度,为社区i中节点的概率
之和与社区i出现的概率的叠加值。
[0047]
优选地,通过如下公式计算网络中社区i的出现概率以及所有社区的出现概率和
[0048][0049]
p
α

β
=1/d
α
ꢀꢀ
公式(11)
[0050]
其中,p
α

β
为从节点α转移到节点β的概率,d
α
为节点α的邻居数。
[0051]
优选地,在步骤1.5中,其还包括如下步骤:
[0052]
1.5.1、舍弃社区个数n=1的社区划分结果,令i=1,准备计算平均互信息i的结果列表与信息熵e的结果列表相对应数据的差值,从而得到社区个数估计所需要的i-e结果列表;
[0053]
1.5.2、将i与n-1进行比对,当i小于n-1时,将平均互信息i的结果列表的各个平均互信息数据与信息熵e的结果列表的各个信息熵数据分别代入社区个数计算公式中,通过步骤1.5的公式(1)对各平均互信息数据以及相应的信息熵数据进行计算得出i-e的结果列表;
[0054]
1.5.3、当i大于或者等于n时,则在步骤1.5.2的i-e结果列表数据中得到i-e的最大值i
k-ek,对应的序列号k即为社区个数k。
[0055]
优选地,所述的第一算法为nodo2vec算法;所述的第二算法为k-means聚类算法。
[0056]
与现有技术相比,本发明具有的有益效果如下:
[0057]
本发明针对目前在复杂网络中对于社区个数估计准确度差的问题,提供一种复杂网络中社区个数估计方法,采用计算最大平均互信息与最小信息熵的差值的方法来确定复杂网络中包含的社区个数,能够有效提高社区个数估计的准确度。本发明在使用的过程中,通过给服务器输入网络数据d即可实现社区个数的估计操作;利用服务器对网络数据d采用第一算法进行节点嵌入,然后使用第二算法将节点嵌入聚成指定数量的类簇,其中,每一个类簇分别对应一个社区,重复对网络数据d采用本步骤进行类簇n次,以得到社区数为1到n为序列号的一系列社区划分h;再计算任意两个相邻社区之间的平均互信息,并最终获得序列号1到n中的相邻社区中平均互信息i结果列表;计算每个划分社区的每个节点的访问概率以及不同划分社区之间的跳转概率,从而得到信息熵e结果列表;最后根据计算公式计算最大平均互信息i与最小信息熵e的差值获取差值结果序列中的序列号,即可得到较高准确度的社区个数k,因此,本发明具有能够通过计算最大平均互信息与最小信息熵的差值来确定复杂网络中包含的社区个数、能够有效提高社区个数估计的准确度的优点。
附图说明
[0058]
下面结合附图和实施例对本发明作进一步说明。
[0059]
图1是本发明所述的一种复杂网络中社区个数估计方法的方框图;
[0060]
图2是本发明所述的一种复杂网络中社区个数估计方法的应用流程方框图。
具体实施方式
[0061]
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。
[0062]
参阅图1-图2所示,一种复杂网络中社区个数估计方法,该方法包括如下步骤:
[0063]
1.1、给服务器输入网络数据d用于社区个数估计;
[0064]
1.2、服务器对网络数据d采用第一算法进行网络嵌入,然后使用第二算法将网络嵌入聚成指定数量的类簇,其中,每一个类簇分别对应一个社区,重复对本步骤n次,以得到社区数为1到n为序列号的一系列社区划分h;
[0065]
1.3、计算任意两个相邻社区之间的平均互信息,并最终获得序列号1到n中的相邻社区划分中的所有平均互信息i的结果列表;
[0066]
1.4、计算每个社区划分中社区的每个节点的访问概率以及不同社区之间的跳转概率,从而得到对应社区划分的所有信息熵e的结果列表;
[0067]
1.5、根据如下公式计算社区个数k即可,公式如下:
[0068]
k=argmax{[ik(d;h)]-ek[i(h)]}
ꢀꢀꢀꢀꢀꢀꢀꢀꢀ
公式(1)
[0069]
在公式(1)中,ik(d;h)为i的结果列表的序列号为k时的最大平均互信息,ek[i(h)]为e的结果列表的序列号为k时的最小信息熵。
[0070]
在步骤1.2中,预先定义初始化计数为i,聚类结果集为p,并且,初始化计数值i=0,聚类次数为n,所述步骤1.2还包括:
[0071]
1.2.1、将初始化计数值i与聚类次数n进行比对,当i大于或者等于n时,执行步骤1.3;当i小于n时,执行如下步骤:
[0072]
1.2.2、服务器对网络数据d采用第一算法进行网络嵌入;
[0073]
1.2.3、通过第二算法将步骤1.2.2的网络嵌入聚成i 1类的类簇,从而得到数量为i 1的聚类结果集p,并以此循环,进而得到社区数为1到n为序列号的一系列社区划分h的聚类结果集p。
[0074]
在步骤1.3中,令i=0,准备计算社区数为1到n为序列号的一系列社区划分h的相邻划分间的平均互信息i的结果列表i1、i2......in,将i与n-1进行比对:
[0075]
1.3.1、当i大于或者等于n-1时,得到最终的平均互信息i的结果列表,执行步骤1.4;
[0076]
1.3.2、当i小于n-1时,计算相邻两个社区划分之间的平均互信息,并以此循环,进而获得序列号1到n的社区划分h的最终平均互信息i的结果列表,再执行步骤1.4。
[0077]
在步骤1.3中,从社区数为1到n为序列号的一系列社区划分h的聚类结果集p提取任意节点数据,通过如下公式计算平均互信息i:
[0078][0079]
ω
ij
=p(xi,yj)
ꢀꢀ
公式(3)
[0080][0081]
其中,i(xi;yj)为社区xi和社区yj的互信息,p(xi,yj)为社区xi和社区yj的关联性,
n为网络中节点总数,为社区xi和社区yj共同节点的数量。使用时,i(xi;yj)能够根据互信息的定义计算获得,属于现有技术,在此不再赘述。
[0082]
在步骤1.4中,其还包括如下步骤:
[0083]
1.4.1、通过预设的随机游走算法来计算每个划分社区h的每个节点的转移概率矩阵m;
[0084]
1.4.2、令i=0,准备利用各转移概率矩阵m内的每个划分社区的每个节点的访问概率以及不同划分社区之间的跳转概率进行计算,从而得到序列号1到n的划分社区h的信息熵e的结果列表e1、e2......en;
[0085]
1.4.3、将i与n进行比对,当i大于或者等于n时,执行步骤1.5,反之,当i小于n时,计算每个社区划分h的信息熵,以此循环,进而获得序列号1到n的划分社区h的最终信息熵e结果列表,再执行步骤1.5。
[0086]
在步骤1.4.1中,其还包括如下步骤:
[0087]
1.4.1.1、给定网络g=(v,e),将网络中的边表示为(u,e)∈e,其中节点u,v∈v;
[0088]
1.4.1.2、定义节点u的邻居为n(u)={v|v∈v且(u,v)∈e};
[0089]
1.4.1.3、设源节点为u,目标节点为v,从节点u跳转到节点v的转移概率矩阵m为如果v∈n(u),则否则
[0090]
在步骤1.4.2中,其还包括如下步骤:
[0091]
1.4.2.1、分别以网络g=(v,e)中的每个节点为源节点作n次长度为l的随机游走,设节点u的游走序列集合为其中,表示第i次随机游走所得的节点序列,则网络g=(v,e)总的随机游走序列集合为s={su|u∈v};
[0092]
1.4.2.2、设节点u在中出现的次数为则节点u在s中出现的次数为因此,节点u的访问概率被定义为
[0093]
1.4.2.3、以社区i为例,社区跳转概率定义为
[0094]
在步骤1.4.3中,从社区数为1到n为序列号的一系列社区划分h的聚类结果集p提取任意节点数据,通过如下公式计算信息熵e:
[0095][0096][0097][0098]
[0099][0100]
其中,p
α
为在网络中进行充分的随机游走过后节点α的出现概率,即在所有游走序列中节点α出现的次数与序列中所有节点出现次数的总和之比;为网络中社区i的出现概率,m为社区个数,为所有社区的出现概率和,h(q)为对所有社区进行编码所需的最短平均编码长度,h(pi)为每个社区i内节点的最短平均编码长度,为社区i中节点的概率之和与社区i出现的概率的叠加值。
[0101]
通过如下公式计算网络中社区i的出现概率以及所有社区的出现概率和
[0102][0103]
p
α

β
=1/d
α
ꢀꢀ
公式(11)
[0104]
其中,p
α

β
为从节点α转移到节点β的概率,d
α
为节点α的邻居数。
[0105]
在步骤1.5中,其还包括如下步骤:
[0106]
1.5.1、舍弃社区个数n=1的社区划分结果,令i=1,准备计算平均互信息i的结果列表与信息熵e的结果列表相对应数据的差值,从而得到社区个数估计所需要的i-e结果列表;
[0107]
1.5.2、将i与n-1进行比对,当i小于n-1时,将平均互信息i的结果列表的各个平均互信息数据与信息熵e的结果列表的各个信息熵数据分别代入社区个数计算公式中,通过步骤1.5的公式(1)对各平均互信息数据以及相应的信息熵数据进行计算得出i-e的结果列表;
[0108]
1.5.3、当i大于或者等于n时,则在步骤1.5.2的i-e结果列表数据中得到i-e的最大值i
k-ek,对应的序列号k即为社区个数k。
[0109]
其中,所述的第一算法为nodo2vec算法;所述的第二算法为k-means聚类算法。
[0110]
本实施例具体使用时,第一算法采用nodo2vec算法,第二算法采用k-means聚类算法。首先,将网络数据d输入至服务器内用于社区个数估计操作;其次,预先定义初始化计数为i,聚类结果集为p,并且,初始化计数值i=0,聚类次数为n,再将初始化计数值i与聚类次数n进行比对,当i小于n时,通过nodo2vec算法进行网络嵌入,再利用k-means聚类算法将各网络嵌入聚成i 1类的类簇,从而得到数量为i 1的聚类结果集p,并以此循环,进而得到社区数为1到n为序列号的一系列社区划分h的聚类结果集p,当i大于或者等于n时,令i=0,准备计算社区数为1到n为序列号的一系列社区划分h的相邻划分间的平均互信息i结果列表i1、i2......in;在计算过程中,将i与n-1进行比对,当i小于n-1时,计算相邻两个社区划分之间的平均互信息结果列表,并以此循环,进而获得序列号1到n的社区划分h的最终平均互信息i结果列表,当i大于或者等于n-1时,得到最终的平均互信息i结果列表,再通过预设的随机游走算法来计算每个划分社区h的每个节点的转移概率矩阵m,并令i=0,准备对各转移概率矩阵m内的每个划分社区的每个节点的访问概率以及不同划分社区之间的跳转概率进行计算,从而得到序列号1到n的划分社区h的信息熵e结果列表e1、e2......en,在计算过程中,将i与n进行比对,当i小于n时,计算相邻每个社区划分h的信息熵,以此循环,进而获得序列号1到n的划分社区h的最终信息熵e结果列表,当i大于或者等于n时,舍弃社区个数n
=1的社区划分结果,令i=1,准备通过计算平均互信息i结果列表与信息熵e结果列表相对应数据的差值,从而得到i-e结果列表,为此将i与n-1进行比对,当i小于n-1时,将平均互信息i结果列表中的各个平均互信息数据与信息熵e结果列表中对应的各个信息熵数据分别代入公式(1)中,得出i-e的差值结果序列,当i大于或者等于n时,则从i-e结果列表中获得最大值i
k-ek,该值所对应的序列号k即为社区个数k。
[0111]
综上所述,本发明采用上述的方法,具有能够通过计算最大平均互信息与最小信息熵的差值来确定复杂网络中包含的社区个数、能够有效提高社区个数估计准确度的优点。
[0112]
对于本领域的技术人员来说,可根据以上描述的技术方案以及构思,做出其它各种相应的改变以及形变,而所有的这些改变以及形变都应该属于本发明权利要求的保护范围之内。
再多了解一些

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

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

相关文献