WO2019184325A1 - 基于平均互信息的社区划分质量评价方法及系统 - Google Patents
基于平均互信息的社区划分质量评价方法及系统 Download PDFInfo
- Publication number
- WO2019184325A1 WO2019184325A1 PCT/CN2018/111945 CN2018111945W WO2019184325A1 WO 2019184325 A1 WO2019184325 A1 WO 2019184325A1 CN 2018111945 W CN2018111945 W CN 2018111945W WO 2019184325 A1 WO2019184325 A1 WO 2019184325A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- community
- edge
- mutual information
- division
- result
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 34
- 238000013441 quality evaluation Methods 0.000 title claims abstract description 21
- 238000000638 solvent extraction Methods 0.000 claims description 48
- 238000005192 partition Methods 0.000 claims description 30
- 238000004364 calculation method Methods 0.000 claims description 25
- 238000012217 deletion Methods 0.000 claims description 9
- 230000037430 deletion Effects 0.000 claims description 9
- 230000011218 segmentation Effects 0.000 claims description 5
- 238000005457 optimization Methods 0.000 claims description 3
- 238000011156 evaluation Methods 0.000 description 7
- 239000011159 matrix material Substances 0.000 description 5
- 238000010586 diagram Methods 0.000 description 3
- 238000001303 quality assessment method Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- G06Q10/063—Operations research, analysis or management
- G06Q10/0631—Resource planning, allocation, distributing or scheduling for enterprises or organisations
- G06Q10/06315—Needs-based resource requirements planning or analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- G06Q10/063—Operations research, analysis or management
- G06Q10/0639—Performance analysis of employees; Performance analysis of enterprise or organisation operations
- G06Q10/06395—Quality analysis or management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/901—Indexing; Data structures therefor; Storage structures
- G06F16/9024—Graphs; Linked lists
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/04—Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q50/00—Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
- G06Q50/01—Social networking
Landscapes
- Business, Economics & Management (AREA)
- Human Resources & Organizations (AREA)
- Engineering & Computer Science (AREA)
- Economics (AREA)
- Strategic Management (AREA)
- Entrepreneurship & Innovation (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Development Economics (AREA)
- General Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- Marketing (AREA)
- Tourism & Hospitality (AREA)
- Educational Administration (AREA)
- Game Theory and Decision Science (AREA)
- Quality & Reliability (AREA)
- Operations Research (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Primary Health Care (AREA)
- Information Transfer Between Computers (AREA)
Abstract
一种基于平均互信息的社区划分质量评价方法及系统,在经典GN社区划分系统的基础上,加入了基于平均互信息的社区划分质量评价方法,首先通过计算每次社区划分的平均互信息值从而选出平均互信息最大值所对应的最优社区划分,然后分别计算最优社区划分前后社区结构的信息熵从而确定优化的社区结构,紧接着对优化后的社区结构中的所有节点进行遍历,找到与多个社区的链接数相同的节点,最后分别计算将该节点放到不同社区时网络中总的信息熵,输出总信息熵最小值所对应的社区结构即为最优的社区结构,有效地提高了社区划分结果的准确性。
Description
本发明涉及社区划分质量评价领域,具体涉及一种基于平均互信息的社区划分质量评价方法及系统。
随着互联网、物联网技术的快速发展,事物之间的联系更加紧密,错综复杂的联系形成了多样、多变、规模庞大的网络,这样的网络被称为复杂网络。所谓社区是指具有关联的个体所组成的集合,复杂网络由若干社区组成。社区划分涉及计算机、物理、生物、社会学以及复杂性系统科学等多学科,近年来成为多个学科的研究热点之一。在社区划分中,社区划分系统通常会构造并评判多种社区结构,并从一种社区结构演变到另一种社区结构。优化社区划分系统的关键是找到一种社区划分质量评价方法,通过该评价方法优化社区划分系统,从而提高社区划分系统的准确性。但是,目前对社区划分质量评价方法的思路主要还是集中在模块度评价方法,而模块度评价方法存在Resolution limit的问题。虽然也有社区划分质量评价方法是基于信息论的相关知识,但是在使用基于信息论方面的评价方法时,需要知道一些先验条件。
发明内容
本发明的目的是针对现有技术的不足,提供了一种基于平均互信息的社区划分质量评价方法,所述方法针对已有的经典社区划分系统,从社区划分质量评价的角度出发,以平均互信息为基础,可以在无先验条件的情况下,利用该评价方法从多个社区划分候选解中找出最优的社区划分,有效地提高了社区划分结果的准确性。同时本发明还公开了一种基于平均互信息的社区划分质量评价系统。
本发明具体的技术方案为:一种基于平均互信息的社区划分质量评价方法,所述方法包括以下步骤:
S1、服务器接收社区划分请求;
S2、采用边介数算法对社区划分请求进行边介数计算,得到边介数计算结果;
S3、根据边介数计算结果,对边介数最大的边进行删除,得到删除边前后的社区划分结果,服务器查看删除边后的社区是否已经发生分裂,若是则进行步骤S4,若否,则返回步骤S2重新对删除边后的社区根据社区划分请求进行边介数计算;
S4、对步骤S3得到的所有删除边前后的社区划分结果计算平均互信息值,得到互信息结果,服务器查看本次删除边后的互信息结果是否为最大的互信息结果,若是则修改最大互信息结果并且记录最大互信息结果所对应的社区划分前后的社区结构,然后再进行步骤S5,若否,则直接进行步骤S5;
S5、判断当前社区是否还存在边,若是,则返回步骤S2重新对删除边后的社区根据社区划分请求进行边介数计算,若否则进行步骤S6;
S6、判断步骤S4中最大互信息结果对应社区划分前的社区结构的信息熵是否大于最大互信息结果对应社区划分后的社区结构的信息熵,若否,则记录最大互信息结果对应社区划分前的社区结构为社区划分结果,若是,则记录最大互信息结果对应社区划分后的社区结构为社区划分结果;
S7、根据步骤S6中的社区划分结果,利用与多个社区链接数相同的节点进一步优化社区划分结果,得到最终的社区划分结果;
S8、将最终的社区划分结果发送给客户端。
进一步地,步骤S2中所述采用边介数算法对社区划分请求进行边介数计算的具体操作为:对社区划分请求进行最短路径的计算从而得到边介数的计算结果。
进一步地,步骤S3的具体过程为:首先对边介数按从大到小排序,删除边介数最大的边,然后将删除前后的结果存入社区划分结果中。
进一步地,步骤S4中所述删除边前后的社区划分结果的平均互信息值的计算公式为:QI=E[I(X
i;Y
j)]=Σ
iΣ
jP(X
i,Y
j)I(X
i;Y
j),其中X
i表示社区划分前的第i个社区,Y
j表示社区划分后的第j个社区,QI为平均互信息值。
进一步地,步骤S6中所述信息熵值的计算公式为:H(X)=-Σ
x(P(x=1)log
2P(x=1)+P(x=0)log
2P(x=0)),其中P(x=1)表示节点被划分到社区x的概率,P(x=0)表示节点未被划分到社区x的概率,H(X)为信息熵值。
进一步地,步骤S7的具体过程为:首先找到与多个社区相连的节点,然后分别将该节点放入多个相连的社区,分别计算将该节点放到不同社区时网络中总的信息熵,输出总信息熵最小值所对应的社区结构即为最终的社区划分结果。
同时,本发明公开了一种应用于上述基于平均互信息的社区划分质量评价方法的系统,所述系统包括客户端和服务器,其中服务器包括以下模块:
请求接收模块:用于接收客户端发送的社区划分请求;
计算边介数模块:用于计算边介数,得到边介数计算结果;
删除边介数模块:用于根据边介数计算结果,对边介数最大的边进行删除,得到 删除边介数前后的社区划分结果;
计算平均互信息值模块:用于计算平均互信息值,得到互信息结果;
计算信息熵值模块:用于计算划分前后的信息熵值,得到信息熵值最小的社区划分结果;
优化模块:用于根据社区划分结果,利用与多个社区链接数相同的节点进一步优化社区划分结果,得到最终的社区划分结果;
输出模块:用于将最终的社区划分结果发送至客户端。
本发明与现有技术相比,具有如下优点和有益效果:
1、本发明通过在社区划分系统中引入基于平均互信息的社区划分质量评价方法,该评价方法在每次社区划分过程中计算社区划分的平均互信息值,找出平均互信息最大值所对应的社区划分,进一步对平均互信息最大值所对应社区划分前后的社区结构进行信息熵的比较,得到信息熵最小的社区划分结构,最后利用与多个社区链接数相同的节点进一步优化社区划分结果,得到最终的社区划分结果,从而达到了提高社区划分结果准确性的目的。
2、本发明采用基于平均互信息的社区划分质量评价方法,该评价方法相对于其它基于信息论的评价方法来说,可以在不需要先验条件的前提下使用。
图1为本发明实施例基于平均互信息的社区划分质量评价方法的流程图。
图2(a)为本发明实施例中社区没有发生分裂的示意图,图2(b)为本发明实施例中社区分裂成其他两个社区的示意图。
图3为本发明实施例中与多个社区的链接数相同的节点的示例图。
下面结合实施例及附图对本发明作进一步详细的描述,但本发明的实施方式不限于此。
实施例:
本发明实施例在经典GN社区划分系统的基础上,加入了基于平均互信息的社区划分质量评价方法。基于平均互信息的社区划分质量评价方法是本发明的核心内容。加入基于平均互信息的社区划分质量评价方法后的社区划分系统首先通过计算每次社区划分的平均互信息值从而选出平均互信息最大值所对应的最优社区划分,然后分别计算最优社区划分前后社区结构的信息熵从而确定优化的社区结构,紧接着对优化后 的社区结构中的所有节点进行遍历,找到与多个社区的链接数相同的节点,最后分别计算将该节点放到不同社区时网络中总的信息熵,输出总信息熵最小值所对应的社区结构即为最优的社区结构。
本发明实施例另外提供了一种基于平均互信息的社区划分质量评价系统,所述系统包括客户端和服务器,其中服务器包括以下模块:请求接收模块:用于接收客户端发送的社区划分请求;计算边介数模块:用于计算边介数,得到边介数计算结果;删除边介数模块:用于根据边介数计算结果,对边介数最大的边进行删除,得到删除边介数前后的社区划分结果;计算平均互信息值模块:用于计算平均互信息值,得到互信息结果;计算信息熵值模块:用于计算划分前后的信息熵值,得到信息熵值最小的社区划分结果;优化模块:用于根据社区划分结果,利用与多个社区链接数相同的节点进一步优化社区划分结果,得到最终的社区划分结果;输出模块:用于将最终的社区划分结果发送至客户端。
下面对本发明实施例提供的基于平均互信息的社区划分质量评价方法及系统做详细说明。
首先,对本发明实施例提供的方法及系统中所涉及到的相关术语,我们给出如下定义,并结合定义说明该发明的基本原理:
定义1:社区结构X表示社区划分前的社区结构,X
i表示社区结构X中的第i个社区。社区结构Y表示经过社区划分后的社区结构,Y
j表示社区结构Y中的第j个社区。n
xi表示社区X
i中的节点总数,n
yj表示社区Y
j中的节点总数,n表示网络中的节点总数。
定义2:(平均互信息)平均互信息是一个随机变量包含另一个随机变量信息量的度量。对于两个随机变量X和Y,它们的联合概率密度函数为P(x,y),其边际概率密度函数分别是P(x)和P(y)。平均互信息I(X;Y)为联合分布P(x,y)和乘积分布P(x)P(y)之间的相对熵,其计算公式如下:
I(X;Y)=Σ
xΣ
yP(x,y)log
2[P(x,y)/(P(x)*P(y))] (1)
定义3:(信息熵)信息熵是信息论中用于度量信息量的一个概念。H(X)表示信息熵,P(x)表示一个概率密度函数,信息熵的计算公式如下:
H(X)=-Σ
xP(x)log
2P(x) (2)
定义4:(边介数)边介数定义为网络中所有最短路径中经过该边的路径数目占最短路径总数的比例。边介数越大,则这条边作为社区间连接边的概率就越大,所以通过不断删除边介数最大的边可以达到分离社区的目的。
定义5:(社区划分的平均互信息)对于每次社区划分,平均互信息表示本次社区划分后的社区结构Y包含本次社区划分前的社区结构X信息量的度量。根据平均互信息具有相加性,我们进一步将2个社区结构的平均互信息值近似为2个社区结构中社区之间平均互信息值的权重和,具体计算公式如下:
QI=E[I(X
i;Y
j)]=Σ
iΣ
jP(X
i,Y
j)I(X
i;Y
j) (3)
其中,I(X
i;Y
j)表示社区X
i与社区Y
j的平均互信息值,P(X
i,Y
j)=P(Y
j|X
i)×P(X
i),P(Y
j|X
i)表示在社区X
i的点被划分到社区Y
j的概率,P(X
i)表示网络中的点被划分到社区X
i的概率。
定义6:(社区划分的两种情况)因为经典GN社区划分系统是基于分裂的社区划分系统。所以,针对经典GN社区划分系统只需考虑如下两种情况:
1.在社区划分中,某社区没有发生分裂;
2.在社区划分中,某社区分裂成其它两个社区。
图2(a)和图2(b)是社区划分中出现的两种情况示例。
于是,针对上述两种情况,分别计算P(Y
j|X
i)。
对于第一种情况:
对于第二种情况:
其中,n
xi表示社区X
i中的节点总数,n
yj表示社区Y
j中的节点总数。
定义7:P(X
i)表示网络中的点被划分到社区X
i的概率,所以P(X
i)的计算公式如下:
P(X
i)=n
xi/n (6)
定义8:p(X
i=0)表示节点不属于社区X
i的概率,p(X
i=1)表示节点属于社区X
i的概率,其计算公式如下:
p(X
i=0)=(n-n
xi)/n (7)
p(X
i=1)=n
xi/n (8)
定义9:p(Y
j=1|X
i=1)表示在节点属于社区X
i的条件下,该节点也属于社区Y
j的概率,则p(Y
j=1|X
i=1)的计算公式如下:
p(Y
j=1|X
i=1)=n
yj/n
xi (9)
本实施例提供的基于平均互信息的社区划分质量评价方法的流程图如图1所示,具体包括以下步骤:
步骤101:用户以点和边的形式输入待社区划分的网络数据。
输入的网络数据格式为每一行输入两个数字,中间用空格分隔开,两个数字分别表示两个节点,比如“1 2”表示节点1和节点2中间有一条链接。
步骤102:计算网络中所有边的介数。边介数定义见定义4。
计算边介数的算法如下:
CalEdgeBetweeness Algorithm:
输入:网络中的邻接矩阵E
输出:边AB的边介数
(1)初始化二维动态矩阵shortPath
(2)计算网络中所有最短路径,并将所有最短路径存入shortPath
(3)FOR(i in shortPath)DO:
(4) FOR(edge in shortPath[i])DO:
(5) IF AB与edge是同一条边
(6) edgeNumber++;//edgeNumber表示经过该边的最短路径的数目
(7) Break;
(8) END IF
(9)END FOR
(10)ABEdgeBetweeness=(double)edgeNumber/shortPath.size();
(11)Output(ABEdgeBetweeness)
计算网络中最短路径的算法如下:
CalShortPath Algorithm:
输入:网络中无权重的邻接矩阵E
输出:包含最短路径长度的距离矩阵D
(1)D<-E
(2)FOR k=1to n DO:
(3) FOR i=1to n DO:
(4) FOR j=1to n DO:
(5) D[i,j]=min{D[i,j],D[i,k]+D[k,j]}
(6) END FOR
(7) END FOR
(8)END FOR
(9)Output(D)
步骤103:删除网络中边介数最大的边。
本步骤在删除网络中某一条边后,网络中总的最短路径数也会发生变化,所以接下来要重新计算剩余边的介数。
步骤104:网络中是否有社区发生了分裂。在经典GN的社区划分系统中,如果有社区发生了分裂才开始进行步骤105,或者会跳回步骤102。
步骤105:计算本次社区划分的平均互信息值I(X;Y)。平均互信息的定义见定义2,I(X;Y)的计算公式为:I(X;Y)=Σ
iΣ
jP(X
i,Y
j)I(X
i;Y
j),其中I(X
i;Y
j)=Σ
aΣ
bP(X
i=a,Y
j=b)[log
2P(X
i=a,Y
j=b)-(log
2P(X
i=a)+log
2P(Y
j=b))]。如图2(a)和图2(b)所示,在计算平均互信息时,需要对每次社区划分考虑两种情况:1)在社区划分中,某社区没有发生分裂。2)在社区划分中,某社区分裂成其它两个社区。计算I(X;Y)的算法如下:
CalAverageMutualInformation Algorithm:
输入:前一次社区划分结果X和本次社区划分结果Y
输出:I(X;Y)的值
(12)FOR i=1to clubNum DO://clubNum表示社区的个数
(13) IF在本次社区划分,社区i发生了分裂THEN
(14) IF社区i内的节点既不属于X
i社区也不属于Y
i社区THEN
(15)//maxnum表示网络中的节点总数,last[i]表示前一次社区划分结果中社区i中的节点总
数,now[i]表示本次社区划分结果中社区i中的节点总数
(16) P(X
i=0)=(double)(maxnum-last[i])/maxnum;
(17) P(Y
i=0)=(double)(maxnum-now[i])/maxnum;
(18) P(X
i=0,Y
i=0)=P(X
i=0);
(19) I(X
i;Y
i)+=P(X
i=0,Y
i=0)*(log
2P(X
i=0,Y
i=0)-log
2P(X
i=0)-log
2P(Y
i=0));
(20) END IF
(21) IF社区i内的节点属于X
i社区但不属于Y
i社区THEN
(22) P(X
i=1)=(double)last[i]/maxnum;
(23) P(Y
i=0)=(double)(maxnum-now[i])/maxnum;
(24) P(X
i=1,Y
i=0)=(double)(last[i]-now[i])/maxnum;
(25) I(X
i;Y
i)+=P(X
i=1,Y
i=0)*(log
2P(X
i=1,Y
i=0)-log
2P(X
i=1)-log
2P(Y
i=0));
(26) END IF
(27) IF社区i内的节点既属于X
i社区也属于Y
i社区THEN
(28) P(X
i=1)=(double)last[i]/maxnum;
(29) P(Y
i=1)=(double)now[i]/maxnum;
(30) P(X
i=1,Y
i=1)=P(Y
i=1);
(31) I(X
i;Y
i)+=P(X
i=1,Y
i=1)*(log
2P(X
i=1,Y
i=1)-log
2P(X
i=1)-log
2P(Y
i=1));
(32) END IF
(33) I(X;Y)=I(X;Y)+I(X
i;Y
i)*P(X
i=1,Y
i=1);
(34) ELSE IF在本次社区划分,社区i没有发生了分裂
(35) IF社区i内的节点既不属于X
i社区也不属于Y
i社区THEN
(36) P(X
i=0)=(double)(maxnum-last[i])/maxnum;
(37) P(Y
i=0)=(double)(maxnum-now[i])/maxnum;
(38) P(X
i=0,Y
i=0)=P(X
i=0);
(39) I(X
i;Y
i)+=P(X
i=0,Y
i=0)*(log
2P(X
i=0,Y
i=0)-log
2P(X
i=0)-log
2P(Y
i=0));
(40) END IF
(41) IF社区i内的节点既属于X
i社区也属于Y
i社区THEN
(42) P(X
i=1)=(double)last[i]/maxnum;
(43) P(Y
i=1)=(double)now[i]/maxnum;
(44) P(X
i=1,Y
i=1)=P(Y
i=1);
(45) I(X
i;Y
i)+=P(X
i=1,Y
i=1)*(log
2P(X
i=1,Y
i=1)-log
2P(X
i=1)-log
2P(Y
i=1));
(46) END IF
(47) END IF
(48) I(X;Y)=I(X;Y)+I(X
i;Y
i)*P(X
i=1,Y
i=1);
(49)END FOR
(50)Output(I(X;Y))
步骤106:判断I(X;Y)是否大于I(X;Y)的最大值。如果是大于I(X;Y)的最大值才开始进行步骤107,否则则直接进行步骤108。
步骤107:I(X;Y)的最大值等于I(X;Y)并记录本次社区划分前后的社区结构。并进行步骤108。
本步骤Max_I(X;Y)表示的就是I(X;Y)的最大值。
步骤108:判断网络数据中是否还存在边。如果存在边则继续进行社区划分,即返回执行步骤102,如果已经没有边可以分裂了,则说明整体社区划分已经结束了,则开始进行步骤109。
步骤109:计算并记录Max_I(X;Y)所对应的社区划分前后社区结构的信息熵。信息熵的定义见定义3。计算信息熵H(X)的算法如下:
CalInformationEntropy Algorithm:
输入:社区结构X
输出:H(X)的值
(1)FOR i=1 to clubNum DO: //clubNum表示社区的个数
(2) P(X
i=1)=(double)shetuan[i]/maxnum;//shetuan[i]表示第i个社区内的节点数
(3) P(X
i=0)=(double)(maxnum-shetuan[i])/maxnum;
(4) H(X
i)=-P(X
i=1)*log
2P(X
i=1)+(-P(X
i=0)*log
2P(X
i=0))
(5) H(X)+=H(X
i);
(6)END FOR
(7)Output(H(X))
步骤110:判断划分前社区结构的信息熵是否大于划分后社区结构的信息熵。如果划分前社区结构的信息熵是大于划分后社区结构的信息熵才开始进行步骤111,否则进行步骤112。
步骤111:记录社区划分后的社区结构。
本步骤是记录最小信息熵所对应的社区结构。因为信息熵越小,社区结构中的不确定性就越小,即社区结构更稳定。
步骤112:记录社区划分前的社区结构。
本步骤是记录最小信息熵所对应的社区结构。因为信息熵越小,社区结构中的不确定性就越小,即社区结构更稳定。
步骤113:在最终的社区划分结果中,遍历所有节点,然后找出与多个社区链接数相同的节点。
本步骤中,与多个社区的链接数相同的节点示例见图3中的节点A,找出与多个社区链接数相同节点的算法如下:
SameLinkNumber Algorithm:
输入:网络中的邻接矩阵E
输出:与多个社区链接数相同的节点
(1)初始化一维数组Edge;
(2)FOR i=1to nodeNumber DO: //nodeNumber表示网络中总的节点数量
(3) FOR j=1to clubNum DO: //clubNum表示社区的个数
(4) FOR(node in j)DO:
(5) Edge[j]=Edge[j]+E[i][node];
(6) END FOR
(7) END FOR
(8) IF Edge数组中有相同的值THEN
(9) Output(节点i);
(10)END FOR
步骤114:分别计算将链接数相同的点放到不同社区时网络中总的信息熵,输出信息熵最小值所对应的社区结构。
本步骤中计算信息熵的算法可参照步骤109中的CalInformationEntropy Algorithm。
综上所述,本发明实施例是为基于平均互信息的社区划分质量评价方法及系统提供的一种改进社区划分系统,该优化社区划分系统通过计算每次社区划分的平均互信息值从而选出平均互信息最大值所对应的最优社区划分,然后分别计算最优社区划分前后社区结构的信息熵从而确定最优的社区结构。从而大幅度提高社区划分系统的准确性,使得改进社区划分系统成为一种新的社区划分系统。
以上所述,仅为本发明专利较佳的实施例,但本发明专利的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明专利所公开的范围内,根据本发明专利的技术方案及其发明专利构思加以等同替换或改变,都属于本发明专利的保护范围。
Claims (7)
- 一种基于平均互信息的社区划分质量评价方法,其特征在于,所述方法包括以下步骤:S1、服务器接收社区划分请求;S2、采用边介数算法对社区划分请求进行边介数计算,得到边介数计算结果;S3、根据边介数计算结果,对边介数最大的边进行删除,得到删除边前后的社区划分结果,服务器查看删除边后的社区是否已经发生分裂,若是则进行步骤S4,若否,则返回步骤S2重新对删除边后的社区根据社区划分请求进行边介数计算;S4、对步骤S3得到的所有删除边前后的社区划分结果计算平均互信息值,得到互信息结果,服务器查看本次删除边后的互信息结果是否为最大的互信息结果,若是则修改最大互信息结果并且记录最大互信息结果所对应的社区划分前后的社区结构,然后再进行步骤S5,若否,则直接进行步骤S5;S5、判断当前社区是否还存在边,若是,则返回步骤S2重新对删除边后的社区根据社区划分请求进行边介数计算,若否则进行步骤S6;S6、判断步骤S4中最大互信息结果对应社区划分前的社区结构的信息熵是否大于最大互信息结果对应社区划分后的社区结构的信息熵,若否,则记录最大互信息结果对应社区划分前的社区结构为社区划分结果,若是,则记录最大互信息结果对应社区划分后的社区结构为社区划分结果;S7、根据步骤S6中的社区划分结果,利用与多个社区链接数相同的节点进一步优化社区划分结果,得到最终的社区划分结果;S8、将最终的社区划分结果发送给客户端。
- 根据权利要求1所述的一种基于平均互信息的社区划分质量评价方法,其特征在于,步骤S2中所述采用边介数算法对社区划分请求进行边介数计算的具体操作为:对社区划分请求进行最短路径的计算从而得到边介数的计算结果。
- 根据权利要求1所述的一种基于平均互信息的社区划分质量评价方法,其特征在于,步骤S3的具体过程为:首先对边介数按从大到小排序,删除边介数最大的边,然后将删除前后的结果存入社区划分结果中。
- 根据权利要求1所述的一种基于平均互信息的社区划分质量评价方法,其特征 在于,步骤S4中所述删除边前后的社区划分结果的平均互信息值的计算公式为:QI=E[I(X i;Y j)]=Σ iΣ jP(X i,Y j)I(X i;Y j),其中X i表示社区划分前的第i个社区,Y j表示社区划分后的第j个社区,QI为平均互信息值。
- 根据权利要求1所述的一种基于平均互信息的社区划分质量评价方法,其特征在于,步骤S6中所述信息熵值的计算公式为:H(X)=-Σ x(P(x=1)log 2P(x=1)+P(x=0)log 2P(x=0)),其中P(x=1)表示节点被划分到社区x的概率,P(x=0)表示节点未被划分到社区x的概率,H(X)为信息熵值。
- 根据权利要求1所述的一种基于平均互信息的社区划分质量评价方法,其特征在于,步骤S7的具体过程为:首先找到与多个社区相连的节点,然后分别将该节点放入多个相连的社区,分别计算将该节点放到不同社区时网络中总的信息熵,输出总信息熵最小值所对应的社区结构即为最终的社区划分结果。
- 一种用于实现权利要求1-6任一所述的基于平均互信息的社区划分质量评价方法的系统,其特征在于,所述系统包括客户端和服务器,其中服务器包括以下模块:请求接收模块:用于接收客户端发送的社区划分请求;计算边介数模块:用于计算边介数,得到边介数计算结果;删除边介数模块:用于根据边介数计算结果,对边介数最大的边进行删除,得到删除边介数前后的社区划分结果;计算平均互信息值模块:用于计算平均互信息值,得到互信息结果;计算信息熵值模块:用于计算划分前后的信息熵值,得到信息熵值最小的社区划分结果;优化模块:用于根据社区划分结果,利用与多个社区链接数相同的节点进一步优化社区划分结果,得到最终的社区划分结果;输出模块:用于将最终的社区划分结果发送至客户端。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/041,747 US20210125127A1 (en) | 2018-03-28 | 2018-10-25 | Community division quality evaluation method and system based on average mutual information |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810263538.X | 2018-03-28 | ||
CN201810263538.XA CN108470251B (zh) | 2018-03-28 | 2018-03-28 | 基于平均互信息的社区划分质量评价方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2019184325A1 true WO2019184325A1 (zh) | 2019-10-03 |
Family
ID=63264850
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/CN2018/111945 WO2019184325A1 (zh) | 2018-03-28 | 2018-10-25 | 基于平均互信息的社区划分质量评价方法及系统 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20210125127A1 (zh) |
CN (1) | CN108470251B (zh) |
WO (1) | WO2019184325A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113205117A (zh) * | 2021-04-15 | 2021-08-03 | 索信达(北京)数据技术有限公司 | 社区划分方法、装置、计算机设备及存储介质 |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108470251B (zh) * | 2018-03-28 | 2021-09-21 | 华南理工大学 | 基于平均互信息的社区划分质量评价方法及系统 |
CN111464343B (zh) * | 2020-03-22 | 2021-10-26 | 华南理工大学 | 一种基于平均互信息的最大派系贪心扩展社区发现方法及系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105389736A (zh) * | 2015-12-17 | 2016-03-09 | 南京信息工程大学 | 基于网络社区划分和少量样本朋友的隐私策略推荐方法 |
CN106599187A (zh) * | 2016-12-14 | 2017-04-26 | 北京航空航天大学 | 一种基于边不稳定度的社区发现系统及方法 |
CN107784327A (zh) * | 2017-10-27 | 2018-03-09 | 天津理工大学 | 一种基于gn的个性化社区发现方法 |
CN108470251A (zh) * | 2018-03-28 | 2018-08-31 | 华南理工大学 | 基于平均互信息的社区划分质量评价方法及系统 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105915376A (zh) * | 2016-04-13 | 2016-08-31 | 华南理工大学 | 基于p2p点播系统的日志信息网络结构化方法及其系统 |
CN106971205A (zh) * | 2017-04-06 | 2017-07-21 | 哈尔滨理工大学 | 一种基于k近邻互信息估计的嵌入式动态特征选择方法 |
CN107103053A (zh) * | 2017-04-10 | 2017-08-29 | 南京信息工程大学 | 基于重叠节点的复杂网络社区发现方法 |
CN107784598A (zh) * | 2017-11-21 | 2018-03-09 | 山西大学 | 一种网络社区发现方法 |
-
2018
- 2018-03-28 CN CN201810263538.XA patent/CN108470251B/zh active Active
- 2018-10-25 US US17/041,747 patent/US20210125127A1/en not_active Abandoned
- 2018-10-25 WO PCT/CN2018/111945 patent/WO2019184325A1/zh active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105389736A (zh) * | 2015-12-17 | 2016-03-09 | 南京信息工程大学 | 基于网络社区划分和少量样本朋友的隐私策略推荐方法 |
CN106599187A (zh) * | 2016-12-14 | 2017-04-26 | 北京航空航天大学 | 一种基于边不稳定度的社区发现系统及方法 |
CN107784327A (zh) * | 2017-10-27 | 2018-03-09 | 天津理工大学 | 一种基于gn的个性化社区发现方法 |
CN108470251A (zh) * | 2018-03-28 | 2018-08-31 | 华南理工大学 | 基于平均互信息的社区划分质量评价方法及系统 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113205117A (zh) * | 2021-04-15 | 2021-08-03 | 索信达(北京)数据技术有限公司 | 社区划分方法、装置、计算机设备及存储介质 |
CN113205117B (zh) * | 2021-04-15 | 2023-07-04 | 索信达(北京)数据技术有限公司 | 社区划分方法、装置、计算机设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN108470251B (zh) | 2021-09-21 |
CN108470251A (zh) | 2018-08-31 |
US20210125127A1 (en) | 2021-04-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Xu et al. | Pc-darts: Partial channel connections for memory-efficient architecture search | |
CN111309824B (zh) | 实体关系图谱显示方法及系统 | |
WO2020135048A1 (zh) | 知识图谱的数据融合方法和装置 | |
Chen et al. | General functional matrix factorization using gradient boosting | |
CN110880019B (zh) | 通过无监督域适应训练目标域分类模型的方法 | |
WO2019184325A1 (zh) | 基于平均互信息的社区划分质量评价方法及系统 | |
WO2022257436A1 (zh) | 基于无线通信网络数据仓库构建方法、系统、设备及介质 | |
US9535954B2 (en) | Join processing device, data management device, and string similarity join system | |
CN113255895B (zh) | 基于图神经网络表示学习的结构图对齐方法和多图联合数据挖掘方法 | |
WO2022179384A1 (zh) | 一种社交群体的划分方法、划分系统及相关装置 | |
CN104573130A (zh) | 基于群体计算的实体解析方法及装置 | |
CN112364242B (zh) | 针对上下文感知型的图卷积推荐系统 | |
CN105045806B (zh) | 一种面向分位数查询的概要数据动态分裂与维护方法 | |
CN113868474A (zh) | 一种基于自注意力机制和动态图的信息级联预测方法 | |
Garg et al. | Direct federated neural architecture search | |
CN110442800B (zh) | 一种融合节点属性和图结构的半监督社区发现方法 | |
KR20180137386A (ko) | 커뮤니티 검출 방법 및 커뮤니티 검출 프레임워크 장치 | |
CN111639230A (zh) | 一种相似视频的筛选方法、装置、设备和存储介质 | |
CN112508181A (zh) | 一种基于多通道机制的图池化方法 | |
CN112765313A (zh) | 一种基于原文和评论信息分析算法的虚假信息检测方法 | |
CN113343100B (zh) | 一种基于知识图谱的智慧城市资源推荐方法和系统 | |
CN114529096A (zh) | 基于三元闭包图嵌入的社交网络链路预测方法及系统 | |
Wang et al. | Community detection in dynamic networks using constraint non-negative matrix factorization | |
CN110704515A (zh) | 基于MapReduce模型的两阶段在线化采样方法 | |
Cavoretto et al. | Node-bound communities for partition of unity interpolation on graphs |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 18911821 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
32PN | Ep: public notification in the ep bulletin as address of the adressee cannot be established |
Free format text: NOTING OF LOSS OF RIGHTS PURSUANT TO RULE 112(1) EPC (EPO FORM 1205A DATED 19/01/2021) |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 18911821 Country of ref document: EP Kind code of ref document: A1 |