CN103810288B - 基于聚类算法对异构社会网络进行社区检测的方法 - Google Patents

基于聚类算法对异构社会网络进行社区检测的方法 Download PDF

Info

Publication number
CN103810288B
CN103810288B CN201410064395.1A CN201410064395A CN103810288B CN 103810288 B CN103810288 B CN 103810288B CN 201410064395 A CN201410064395 A CN 201410064395A CN 103810288 B CN103810288 B CN 103810288B
Authority
CN
China
Prior art keywords
community
class
represent
node
individual
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CN201410064395.1A
Other languages
English (en)
Other versions
CN103810288A (zh
Inventor
刘静
焦李成
曾玉洁
马文萍
马晶晶
侯彪
公茂果
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Xidian University
Original Assignee
Xidian University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Xidian University filed Critical Xidian University
Priority to CN201410064395.1A priority Critical patent/CN103810288B/zh
Publication of CN103810288A publication Critical patent/CN103810288A/zh
Application granted granted Critical
Publication of CN103810288B publication Critical patent/CN103810288B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/958Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/01Social networking

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Business, Economics & Management (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Health & Medical Sciences (AREA)
  • Economics (AREA)
  • General Health & Medical Sciences (AREA)
  • Human Resources & Organizations (AREA)
  • Marketing (AREA)
  • Primary Health Care (AREA)
  • Strategic Management (AREA)
  • Tourism & Hospitality (AREA)
  • General Business, Economics & Management (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

一种基于聚类算法对异构社会网络进行社区检测的方法,实现步骤为:构建邻接矩阵;社区结构初始化;计算局部模块度;获得参与融合社区标号集合;获得候选融合集合;计算模块度差;判断第一、第二模块度差是否符合融合标准,如果符合标准,则统一参与融合社区和候选社区的社区标号,否则返回计算局部模块度;记录新的社区结构;如果当前循环没有社区合并,输出最佳社区结构。本发明采用了聚类方法、相似度向量方法和局部模块度方法,能够有效应用于异构社会网络社区的检测,提高了异构网络社区结构检测结果的准确度。

Description

基于聚类算法对异构社会网络进行社区检测的方法
技术领域
本发明属于计算机技术领域,更进一步涉及社会网络计算技术领域中的一种基于聚类算法对异构社会网络进行社区检测的方法。本发明可用于复杂社会系统和大规模社会网络的社区检测。
背景技术
在现有社会网络的社区检测方法中,主要针对只有一种节点的传统网络。而实际生活中,社会网络的构成比传统网络更复杂,节点种类可能超过一种。包含一种以上节点的社会网络称为异构社会网络。比如在一个电影评价标签系统中,电影、标签、用户三种类型的实体构成了整个系统,一个用户对一部电影评分并且添加了一个标签,这样这三种实体之间就有联系,相应的节点之间有连边;而不同用户之间,不同电影之间,不同标签之间,则是没有联系的,所以同类节点之间没有连边。
西安电子科技大学提出的专利申请“基于进化计算对社会系统进行社区检测的方法”(专利号:201210158332,公开号:CN102722639A)采用了图分割方法解决社会系统的社区检问题。该方法的实施步骤为:首先,通过统计社会系统的个体种类,记录个体相互间关系的属性分布;其次,依据这些统计信息构建能够描述社会系统层次结构的加权无向图,把复杂符号网络的社区检测问题转化为相应的图分割问题;然后,选取修正模块度作为图分割质量评价准则,并通过进化算法优化该修正模块度来对加权无向图进行分割;最后,将图分割结果作为该网络的社区检测结果。该方法存在的不足是:只能解决一种节点组成的社会网络社区检测问题,没有考虑到在实际应用中社会系统中可能有多种实体的情况,因此,该方法无法应用于异构社会网络的社区检测问题。
发明内容
本发明的目的在于针对上述已有技术的不足,提出一种基于聚类算法对异构社会网络进行社区检测的方法,对异构社会网络数据进行聚类,得到能够满足一定正确率的社区结构,进而实现对社区功能的探测和预测。
为实现上述目的,本发明的技术方案包括如下步骤:
(1)构建邻接矩阵:
(1a)输入所要检测的异构社会网络数据;
(1b)分别统计异构社会网络数据中的节点种类数和每类节点的个数;
(1c)用每类节点的个数和异构社会网络数据中节点之间的联系信息,构建异构社会网络的邻接矩阵;
(2)社区结构初始化:
给异构社会网络中的每一个节点赋予一个唯一的社区标号,使异构社会网络中的每个节点对应一个社区;
(3)计算局部模块度:
采用局部模块度方法,计算每个社区的局部模块度;
(4)获得参与融合社区标号集合:
(4a)按照下式,计算第t类节点的概率转移矩阵中的每个元素,得到概率转移矩阵;
P t ( i 1 , i 2 , ... i k ) = A ( i 1 , i 2 , ... i k ) Σ i t = 1 n t A ( i 1 , i 2 , ... i k ) , Σ i t = 1 n t A ( i 1 , i 2 , ... i k ) ≠ 0 1 / n t , Σ i t = 1 n t A ( i 1 , i 2 , ... i k ) = 0
其中,Pt(i1,i2,…ik)表示第t类节点的概率转移矩阵中的元素,t表示类别,1≤t≤k,k表示节点种类数,nt表示第t类节点的个数,A(i1,i2,…,ik)表示邻接矩阵中的元素,i1的取值范围为1≤i1≤n1,i2的取值范围为1≤i2≤n2,…,ik的取值范围为1≤ik≤nk,n1,n2,…,nk表示每类节点的个数;
(4b)由概率转移矩阵按照相似度方法,计算相似度矩阵;
(4b1)按照先验概率分布向量构建方法,构建每类先验概率分布向量;
(4b2)按照相似度向量方法,计算每个社区的相似度向量;
(4b3)按照下式,计算相似度矩阵中的每个元素,得到相似度矩阵:
s i m ( i , j ) = Σ v = 1 k Σ q = 1 n i v x j v ( v q i ) + Σ v = 1 k Σ q = 1 n j v x i v ( v q j ) n i + n j
其中,sim(i,j)表示相似度矩阵中的元素,表示第i个社区中v类节点的个数,表示第i个社区中的第q个v类节点,表示第j个社区的第v类相似度中对应的第个元素,表示第j个社区中v类节点的个数,表示第j个社区中的第q个v类节点,表示第i个社区的第v类相似度中对应的第个元素,ni和nj分别表示第i个社区和第j个社区中的总节点个数;
(4c)将相似度矩阵中的相似度值按降序排列;
(4d)依次选取相似度值排序为1到40对应的社区标号,由这些社区标号组成参与融合社区标号集合;
(5)获得候选融合矩阵:
将参与融合社区标号集合中的每一个社区标号对应的相似度值,按降序排列,记录排列在1到40的社区标号,将所记录的社区标号组成候选融合社区集合;
(6)计算模块度差:
(6a)采用局部模块度方法,计算每个参与融合社区与对应的候选融合集合中的每个候选社区合并之后的局部模块度;
(6b)由合并后的局部模块度减去参与融合社区的局部模块度,得到第一模块度差;
(6c)由合并后的局部模块度减去候选社区的局部模块度,得到第二模块度差;
(7)判断第一、第二模块度差是否符合融合标准:
比较第一模块度差、第二模块度差与局部模块度增量阈值的大小,如果第一模块度差和第二模块度差都大于局部模块度增量阈值,则执行步骤(8);否则,执行步骤(6);
(8)统一参与融合社区和候选社区的社区标号;
(9)记录新的社区结构:
记录异构社会网络中的每个节点所在的社区标号,得到当前循环的社区结构;
(10)判断是否有社区合并:
判断当前循环中是否有社区统一标号,如果当前循环中有社区统一标号,则执行步骤(3);否则,执行步骤(11);
(11)输出最佳社区结构:
在循环得到的所有社区结构中,找出社区局部模块度之和最大的社区结构,作为最终得到的社区结构输出。
本发明与现有的技术相比具有以下优点:
第一,由于本发明采用了聚类方法和相似度向量方法,克服了现有技术无法应用于异构网络社区检测领域的缺点,使得本发明能够有效应用于异构社会网络社区检测问题。
第二,由于本发明采用了局部模块度方法,使得本发明能够从局部角度衡量社区结构的质量,提高了异构网络社区结构检测结果的准确度。
附图说明
图1是本发明的实现流程图;
图2是本发明仿真使用的用户-商品网络拓扑图;
图3是根据用户-商品网络构建的邻接矩阵示意图;
图4是用本发明对用户-商品网络检测出的社区结构示意图。
具体实施方式
下面结合附图对本发明做进一步的描述。
参照图1,实现本发明的具体步骤如下:
步骤1,构建邻接矩阵。
输入所要检测的异构社会网络数据。本发明的实施例中使用的异构社会网络如图2所示,图2是一个用户-商品异构网络。
分别统计异构社会网络数据中的节点种类数和每类节点的个数。这个网络中有2种节点,即节点类别数k=2,其中第1类节点代表用户,第2类节点表示商品,即图2中的方形表示第1类节点,共有10个,即n1=10,圆形表示第2类节点,共有10个,即n2=10,网络中的节点总个数为20个,即n=20。
用每类节点的个数和异构社会网络数据中节点之间的联系信息,构建异构社会网络的邻接矩阵,具体步骤如下:
第一步,将邻接矩阵A初始化为n1×n2…×nk的零矩阵;
第二步,判断异构社会网络数据中所有节点之间的连接情况,如果第i1个1类节点、第i2个2类节点、…、第ik个k类节点之间相互都有连接,执行第三步;如果第i1个1类节点、第i2个2类节点、…、第ik个k类节点之间不是相互都有连接,判断下一组节点的连接情况,其中,vi1表示第i1个1类节点,vi2表示第i2个2类节点,vik表示第ik个第k类节点;
第三步,将第i1个1类节点、第i2个2类节点、…、第ik个k类节点在邻接矩阵A中对应的元素A(i1,i2,…,ik)改变为1。
本实例的异构网络中,初始化邻接矩阵A为10×10的零矩阵,如果用户-商品异构网络中的第i1个用户对第i2个商品有一条购买记录,则A(i1,i2)=1,其中1≤i1≤10,1≤i2≤10。由用户-商品网络构建出的邻接矩阵示意图如图3所示。图3中横坐标表示第1类节点标号,纵坐标表示第2类节点标号,图中黑点表示横纵坐标对应的元素取值为1。
步骤2,初始化社区结构。
给异构社会网络中的每一个节点赋予一个唯一的社区标号,使异构社会网络中的每个节点对应一个社区。
步骤3,计算局部模块度。
采用局部模块度方法,计算每个社区的局部模块度。局部模块度方法具体步骤如下:
第一步,找出异构社会网络的每个社区中与该社区外的其他节点有连接的所有节点,得到边缘点集合;
第二步,按照如下规则,构建边缘邻接矩阵:
将边缘邻接矩阵b初始化为n1×n2…×nk的零矩阵;判断异构社会网络社区中节点之间的连接情况,如果邻接矩阵中的元素A(i1,i2,…ik)=1,并且第i1个1类节点、第i2个2类节点、…、第ik个k类节点中有一个以上的节点在边缘点集合中,将第i1个1类节点、第i2个2类节点、…、第ik个k类节点在边缘邻接矩阵b中对应的元素b(i1,i2,…ik)改变为1;
第三步,按照下式,计算每个社区的局部模块度:
r = Σ i 1 , i 2 ... i k b ( i 1 , i 2 ... i k ) δ ( i 1 , i 2 ... i k ) Σ i 1 , i 2 ... i k b ( i 1 , i 2 ... i k )
其中,r表示每个社区的局部模块度,b(i1,i2,…,ik)表示边缘邻接矩阵中的元素,δ(i1,i2,…,ik)表示邻接条件,邻接条件的取值规则如下:对于每个社区,如果第i1个1类节点,第i2个2类节点,第ik个k类节点中,至少有一个节点处于边缘点集合中,并且那些不处于边缘点集合中的节点处于该社区中,则邻接条件δ(i1,i2,…,ik)=1;其他情况下,邻接条件δ(i1,i2,…,ik)=0;
第四步,重复第一步至第三步,直到计算出异构社会网络中的所有社区的局部模块度。
步骤4,获得参与融合社区标号集合。
按照下式,计算第t类节点的概率转移矩阵中的每个元素,得到概率转移矩阵。
P t ( i 1 , i 2 , ... i k ) = A ( i 1 , i 2 , ... i k ) Σ i t = 1 n t A ( i 1 , i 2 , ... i k ) , Σ i t = 1 n t A ( i 1 , i 2 , ... i k ) ≠ 0 1 / n t , Σ i t = 1 n t A ( i 1 , i 2 , ... i k ) = 0
其中,Pt(i1,i2,…ik)表示第t类节点的概率转移矩阵中的元素,t表示类别,1≤t≤k,k表示节点种类数,nt表示第t类节点的个数,A(i1,i2,…,ik)表示邻接矩阵中的元素,i1的取值范围为1≤i1≤n1,i2的取值范围为1≤i2≤n2,…,ik的取值范围为1≤ik≤nk,n1,n2,…,nk表示每类节点的个数。
由概率转移矩阵按照相似度方法,计算得到相似度矩阵。相似度方法具体步骤如下:
第一步,按照先验概率分布向量构建方法,构建每类先验概率分布向量。先验概率分布向量构建方法具体规则如下:
判断每个v类节点和每个社区的关系,如果第w个v类节点处于第i个社区中,则其中zv(w)表示先验概率分布向量中第w个v类节点对应的第w个元素,w的取值范围为1≤w≤nv,nv表示整个异构社会网络中第v类节点的个数,v的取值范围为v=1,2,…,k,表示第i个社区中v类节点的个数;如果第w个v类节点不处于第i个社区中,则先验概率分布向量中的第w个元素zv(w)=0;如果第i个社区中没有第v类节点,则先验概率分布向量中的每个元素zv(w)=1/nv
第二步,按照相似度向量方法,计算得到每个社区的相似度向量。相似度向量方法具体步骤如下:
(a)按照下式,初始化第i个社区的v类相似度向量:
( x i v ) 0 = ( 1 , 0 , ... , 0 )
其中,表示初始第i个社区的v类相似度向量;
(b)按照下式,计算第m次迭代的第i个社区的中间向量中的每个元素,得到第m次迭代的第i个社区的中间向量:
L m ( x ) = Σ i 1 = 1 n 1 ... Σ i v - 1 = 1 n v - 1 Σ i v + 1 = 1 n v + 1 ... Σ i k = 1 n k P v ( i 1 , i 2 , ... i k ) · [ x i 1 ( i 1 ) ] m ... [ x i v - 1 ( i v - 1 ) ] m [ x i v + 1 ( i v + 1 ) ] m ... [ x i k ( i k ) ] m
其中,Lm(x)表示第m次迭代的中间向量中的第x个元素,n1,…nv-1,nv+1,…,nk表示除第v类外每类节点的个数,Pv(i1,i2,…,ik)表示第v类节点的概率转移矩阵中的元素,表示第m次迭代得到的第i个社区的1类相似度向量中的第i1个元素,表示第m次迭代得到的第i个社区的v-1类相似度向量中的第iv-1个元素,表示第m次迭代得到的第i个社区的v+1类相似度向量中的第iv+1个元素,表示第m次迭代得到的第i个社区的k类相似度向量中的第ik个元素;
(c)按照下式,计算第m+1次迭代得到的第i个社区的v类相似度向量
( x i v ) m + 1 = ( 1 - α ) · L m + α · z v
其中,表示第m+1次迭代得到的第i个社区的v类相似度向量,α表示随机跳转因子,0<α<1,Lm表示第m次迭代的中间向量,表示第m次迭代得到的第i个社区的v类相似度向量,zv表示先验概率向量;
(d)按照下式,计算第m+1次迭代得到的相似度向量误差:
e = Σ v = 1 k | | ( x i v ) m + 1 - ( x i v ) m | |
其中,e表示第m+1次迭代得到的相似度向量误差,表示第m+1次迭代得到的第i个社区的v类相似度向量,表示第m次迭代得到的第i个社区的v类相似度向量;
(e)判断第m+1次迭代得到的相似度向量误差是否满足误差要求,如果第m+1次迭代得到的相似度向量误差小于0.0001,则输出 表示第i个社区的v类相似度向量,表示第m+1次迭代得到的第i个社区的v类相似度向量;否则返回步骤(b),进行下一次迭代。
第三步,按照下式,计算相似度矩阵中的每个元素,得到相似度矩阵:
s i m ( i , j ) = Σ v = 1 k Σ q = 1 n i v x j v ( v q i ) + Σ v = 1 k Σ q = 1 n j v x i v ( v q j ) n i + n j
其中,sim(i,j)表示相似度矩阵中的元素,表示第i个社区中v类节点的个数,表示第i个社区中的第q个v类节点,表示第j个社区的第v类相似度中对应的第个元素,表示第j个社区中v类节点的个数,表示第j个社区中的第q个v类节点,表示第i个社区的第v类相似度中对应的第个元素,ni和nj分别表示第i个社区和第j个社区中的总节点个数;
将相似度矩阵中的相似度值按降序排列。
依次选取相似度值排序为1到40对应的社区标号,由这些社区标号组成参与融合社区标号集合。
步骤5,获得候选融合集合。
将参与融合社区标号集合中的每一个社区标号对应的相似度值,按降序排列,记录排列在1到40的社区标号,将所记录的社区标号组成候选融合集合。
步骤6,计算模块度差。
第一步,采用局部模块度方法,计算每个参与融合社区与对应的候选融合集合中的每个候选社区合并之后的局部模块度;
第二步,由合并后的局部模块度减去参与融合社区的局部模块度,得到第一模块度差;
第三步,由合并后的局部模块度减去候选社区的局部模块度,得到第二模块度差。
步骤7,判断第一、第二模块度差是否符合融合标准。
本发明中局部模块度增量阈值取值为0.006;
比较第一模块度差、第二模块度差与局部模块度增量阈值的大小,如果第一模块度差和第二模块度差都大于局部模块度增量阈值,则执行步骤(8);否则,执行步骤(6)。
步骤8,统一参与融合社区和候选社区的社区标号。
步骤9,记录新的社区结构。
记录异构社会网络中的每个节点所在的社区标号,得到当前循环的社区结构。
步骤10.判断是否有社区合并。
判断当前循环中是否有社区统一标号,如果当前循环中有社区统一标号,则执行步骤3;否则,执行步骤11。
步骤11.输出最佳社区结构。
在循环得到的所有社区结构中,找出社区局部模块度之和最大的社区结构,作为最终得到的社区结构输出。
下面结合仿真图对本发明的效果做进一步说明。
1.仿真实验条件:
本发明的硬件测试平台是:处理器为Intel(R)Core(TM)2Duo CPU E6550@2.33GHz,内存为1.99GB,硬盘为120G;软件平台为:Microsoft windows 7操作系统和MATLAB 7.13。本发明的输入数据为一个用户-商品网络,网络中共有20个节点,其中10个为用户节点,10个为商品节点。
2.仿真内容:
用本发明方法对图2所示的用户-商品网络进行社区结构检测,检测结果如图4所示,图4中所标示不同颜色的节点代表在不同社区内,黑色虚线框中的节点表示在同一社区内。
从图4中可以看出,在用户-商品异构社会网络中检测到了黑色、白色和灰色3个社区。从图4与图2的对比可以看出,实验得到的社区结构能够使连接紧密的非同类节点划分在同一社区内,而使连接稀疏的非同类节点划分在不同社区内。
3.仿真结果分析:
本实验选择归一化互信息NMI作为社区结构的评价标准来评价实验方法检测到的社区结构质量:
N M I = H ( C 0 ) + H ( C e ) - H ( C 0 , C e ) H ( C 0 ) H ( C e )
其中,C0表示真实的社区结构,Ce表示实验检测得到的社区结构,H(C)表示社区结构C的香农信息熵。如果实验找到的社区结构和真实社区结构是完全一致的,则NMI的取值为最大值1;如果实验找到的社区结构和真实社区结构是完全独立的,则NMI的取值为最小值0。归一化互信息值越大,则表示实验结果越理想。
利用上述评价标准计算本发明检测到社区结构对应的归一化互信息值NMI,得到NMI=0.7548,即本发明检测到的社区结构具有较高的准确性。可见,本发明是一种有效的社区检测方法。

Claims (6)

1.一种基于聚类算法对异构社会网络进行社区检测的方法,包括如下步骤:
(1)构建邻接矩阵:
(1a)输入所要检测的异构社会网络数据;
(1b)分别统计异构社会网络数据中的节点种类数和每类节点的个数;
(1c)用每类节点的个数和异构社会网络数据中节点之间的联系信息,构建异构社会网络的邻接矩阵;
(2)社区结构初始化:
给异构社会网络中的每一个节点赋予一个唯一的社区标号,使异构社会网络中的每个节点对应一个社区;
(3)计算局部模块度:
采用局部模块度方法,计算每个社区的局部模块度;
(4)获得参与融合社区标号集合:
(4a)按照下式,计算第t类节点的概率转移矩阵中的每个元素,得到概率转移矩阵;
其中,Pt(i1,i2,…ik)表示第t类节点的概率转移矩阵中的元素,t表示类别,1≤t≤k,k表示节点种类数,nt表示第t类节点的个数,A(i1,i2,…,ik)表示邻接矩阵中的元素,i1的取值范围为1≤i1≤n1,i2的取值范围为1≤i2≤n2,…,ik的取值 范围为1≤ik≤nk,n1,n2,…,nk表示每类节点的个数;
(4b)由概率转移矩阵按照相似度方法,计算相似度矩阵;
(4b1)按照先验概率分布向量构建方法,构建每类先验概率分布向量;
(4b2)按照相似度向量方法,计算每个社区的相似度向量;
(4b3)按照下式,计算相似度矩阵中的每个元素,得到相似度矩阵:
其中,sim(i,j)表示相似度矩阵中的元素,表示第i个社区中v类节点的个数,表示第i个社区中的第q个v类节点,表示第j个社区的第v类相似度中对应的第个元素,表示第j个社区中v类节点的个数,表示第j个社区中的第q个v类节点,表示第i个社区的第v类相似度中对应的第个元素,ni和nj分别表示第i个社区和第j个社区中的总节点个数;
(4c)将相似度矩阵中的相似度值按降序排列;
(4d)依次选取相似度值排序为1到40对应的社区标号,由这些社区标号组成参与融合社区标号集合;
(5)获得候选融合矩阵:
将参与融合社区标号集合中的每一个社区标号对应的相似度值,按降序排列,记录排列在1到40的社区标号,将所记录的社区标号组成候选融合社区集合;
(6)计算模块度差:
(6a)采用局部模块度方法,计算每个参与融合社区与其对应的每个候选社区合并之后的局部模块度;
(6b)由合并后的局部模块度减去参与融合社区的局部模块度,得到第一模块 度差;
(6c)由合并后的局部模块度减去候选社区的局部模块度,得到第二模块度差;
(7)判断第一、第二模块度差是否符合融合标准:
比较第一模块度差、第二模块度差与局部模块度增量阈值的大小,如果第一模块度差和第二模块度差都大于局部模块度增量阈值,则执行步骤(8);否则,执行步骤(6);
(8)统一参与融合社区和候选社区的社区标号;
(9)记录新的社区结构:
记录异构社会网络中的每个节点所在的社区标号,得到当前循环的社区结构;
(10)判断是否有社区合并:
判断当前循环中是否有社区统一标号,如果当前循环中有社区统一标号,则执行步骤(3);否则,执行步骤(11);
(11)输出最佳社区结构:
在循环得到的所有社区结构中,找出社区局部模块度之和最大的社区结构,作为最终得到的社区结构输出。
2.根据权利要求1所述的基于聚类算法对异构社会网络进行社区检测的方法,其特征在于,步骤(1c)中所述构建异构社会网络的邻接矩阵的具体步骤如下:
第一步,将邻接矩阵A初始化为n1×n2…×nk的零矩阵;
第二步,判断异构社会网络数据中所有节点之间的连接情况,如果第i1个1类节点、第i2个2类节点、…、第ik个k类节点之间相互都有连接,执行第三步;如果第i1个1类节点、第i2个2类节点、…、第ik个k类节点之间不是相互都有连接,判断下一组节点的连接情况,其中,vi1表示第i1个1类节点,vi2表示第i2个2类节点,vik表示第ik个第k类节点;
第三步,将第i1个1类节点、第i2个2类节点、…、第ik个k类节点在邻接矩阵A中对应的元素A(i1,i2,…,ik)改变为1。
3.根据权利要求1所述的基于聚类算法对异构社会网络进行社区检测的方法,其特征在于,步骤(3)和步骤(6a)中所述的局部模块度方法的具体步骤如下:
第一步,找出异构社会网络的每个社区中与该社区外的其他节点有连接的所有节点,得到边缘点集合;
第二步,按照如下规则,构建边缘邻接矩阵:
将边缘邻接矩阵b初始化为n1×n2…×nk的零矩阵;判断异构社会网络社区中节点之间的连接情况,如果邻接矩阵中的元素A(i1,i2,…ik)=1,并且第i1个1类节点、第i2个2类节点、…、第ik个k类节点中有一个以上的节点在边缘点集合中,将第i1个1类节点、第i2个2类节点、…、第ik个k类节点在边缘邻接矩阵b中对应的元素b(i1,i2,…ik)改变为1;
第三步,按照下式,计算每个社区的局部模块度:
其中,r表示每个社区的局部模块度,b(i1,i2,…,ik)表示边缘邻接矩阵中的元素,δ(i1,i2,…,ik)表示邻接条件,邻接条件的取值规则如下:对于每个社区,如果第i1个1类节点,第i2个2类节点,第ik个k类节点中,至少有一个节点处于边缘点集合中,并且那些不处于边缘点集合中的节点处于该社区中,则邻接条件δ(i1,i2,…,ik)=1;其他情况下,邻接条件δ(i1,i2,…,ik)=0;
第四步,重复第一步至第三步,直到计算出异构社会网络中的所有社区的局部模块度。
4.根据权利要求1所述的基于聚类算法对异构社会网络进行社区检测的方法,其特征在于,步骤(4b1)中所述的先验概率分布向量构建方法按照如下规则进行:
判断每个v类节点和每个社区的关系,如果第w个v类节点处于第i个社区中,则其中zv(w)表示先验概率分布向量中第w个v类节点对应的第w个元素,w的取值范围为1≤w≤nv,nv表示整个异构社会网络中第v类节点的个数,v的取值范围为v=1,2,…,k,表示第i个社区中v类节点的个数;如果第w个v类节点不处于第i个社区中,则先验概率分布向量中的第w个元素zv(w)=0;如果第i个社区中没有第v类节点,则先验概率分布向量中的每个元素zv(w)=1/nv
5.根据权利要求1所述的基于聚类算法对异构社会网络进行社区检测的方法,其特征在于,步骤(4b2)中所述相似度向量方法的具体步骤如下:
第一步,按照下式,初始化第i个社区的v类相似度向量:
其中,表示初始第i个社区的v类相似度向量;
第二步,按照下式,计算第m次迭代的第i个社区的中间向量中的每个元素,得到第m次迭代的第i个社区的中间向量:
其中,Lm(x)表示第m次迭代的中间向量中的第x个元素,n1,…nv-1,nv+1,…,nk表示除第v类外每类节点的个数,Pv(i1,i2,…,ik)表示第v类节点的概率转移矩阵中的元素,表示第m次迭代得到的第i个社区的1类相似度向量中的第i1个元素,表示第m次迭代得到的第i个社区的v-1类相似度向量中的第iv-1个元素,表示第m次迭代得到的第i个社区的v+1类相似度向量中的第 iv+1个元素,表示第m次迭代得到的第i个社区的k类相似度向量中的第ik个元素;
第三步,按照下式,计算第m+1次迭代得到的第i个社区的v类相似度向量
其中,表示第m+1次迭代得到的第i个社区的v类相似度向量,α表示随机跳转因子,0<α<1,Lm表示第m次迭代的中间向量,表示第m次迭代得到的第i个社区的v类相似度向量,zv表示先验概率向量;
第四步,按照下式,计算第m+1次迭代得到的相似度向量误差:
其中,e表示第m+1次迭代得到的相似度向量误差,表示第m+1次迭代得到的第i个社区的v类相似度向量,表示第m次迭代得到的第i个社区的v类相似度向量;
第五步,判断第m+1次迭代得到的相似度向量误差是否满足误差要求,如果第m+1次迭代得到的相似度向量误差小于0.0001,则输出 表示第i个社区的v类相似度向量,表示第m+1次迭代得到的第i个社区的v类相似度向量;否则返回第二步,进行下一次迭代。
6.根据权利要求1所述的基于聚类算法对异构社会网络进行社区检测的方法,其特征在于,步骤(7)中所述的局部模块度增量阈值取值为0.006。
CN201410064395.1A 2014-02-25 2014-02-25 基于聚类算法对异构社会网络进行社区检测的方法 Expired - Fee Related CN103810288B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410064395.1A CN103810288B (zh) 2014-02-25 2014-02-25 基于聚类算法对异构社会网络进行社区检测的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410064395.1A CN103810288B (zh) 2014-02-25 2014-02-25 基于聚类算法对异构社会网络进行社区检测的方法

Publications (2)

Publication Number Publication Date
CN103810288A CN103810288A (zh) 2014-05-21
CN103810288B true CN103810288B (zh) 2017-01-25

Family

ID=50707058

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410064395.1A Expired - Fee Related CN103810288B (zh) 2014-02-25 2014-02-25 基于聚类算法对异构社会网络进行社区检测的方法

Country Status (1)

Country Link
CN (1) CN103810288B (zh)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104091206B (zh) * 2014-06-18 2017-07-28 北京邮电大学 基于演化博弈论的社交网络信息传播预测方法
CN104484365B (zh) * 2014-12-05 2017-12-12 华中科技大学 一种多源异构在线社会网络中网络主体之间社会关系的预测方法与系统
CN104636454B (zh) * 2015-02-02 2018-04-17 哈尔滨工程大学 一种面向大规模异构数据的联合聚类方法
CN104778205B (zh) * 2015-03-09 2019-02-15 浙江大学 一种基于异构信息网络的移动应用排序和聚类方法
CN104965869A (zh) * 2015-06-09 2015-10-07 浙江大学 一种基于异构信息网络的移动应用排序和聚类方法
CN105447117B (zh) * 2015-11-16 2019-03-26 北京邮电大学 一种用户聚类的方法和装置
CN106446943B (zh) * 2016-09-19 2019-07-30 大连海事大学 一种商品关联大数据稀疏网络快速聚类方法
CN106874931B (zh) * 2016-12-30 2021-01-22 东软集团股份有限公司 用户画像分群方法和装置
CN107240026B (zh) * 2017-04-20 2021-01-29 西安电子科技大学 一种适用于噪音网络的社区发现方法
CN107832964A (zh) * 2017-11-21 2018-03-23 江苏神威云数据科技有限公司 银行客户关系圈分析方法及系统
CN108009915B (zh) * 2017-12-21 2020-01-17 连连银通电子支付有限公司 一种欺诈用户社区的标记方法及相关装置
CN108400887B (zh) * 2018-01-24 2021-06-04 深圳信息职业技术学院 符号网络的结构识别方法及装置
CN109921921B (zh) * 2019-01-26 2021-06-04 复旦大学 一种时变网络中时效稳定社团的检测方法和装置
CN113205117B (zh) * 2021-04-15 2023-07-04 索信达(北京)数据技术有限公司 社区划分方法、装置、计算机设备及存储介质
CN115374191B (zh) * 2022-10-26 2023-01-31 国网湖北省电力有限公司信息通信公司 一种多源数据驱动的数据中心异构设备群聚类方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7958120B2 (en) * 2005-05-10 2011-06-07 Netseer, Inc. Method and apparatus for distributed community finding
CN101916256A (zh) * 2010-07-13 2010-12-15 北京大学 综合行动者兴趣与网络拓扑的社区发现方法

Also Published As

Publication number Publication date
CN103810288A (zh) 2014-05-21

Similar Documents

Publication Publication Date Title
CN103810288B (zh) 基于聚类算法对异构社会网络进行社区检测的方法
Huang et al. Leveraging deep neural networks and knowledge graphs for entity disambiguation
Izakian et al. Anomaly detection and characterization in spatial time series data: A cluster-centric approach
CN103927394B (zh) 一种基于svm的多标签主动学习分类方法及系统
Gustafsson et al. Comparison and validation of community structures in complex networks
CN112711953A (zh) 一种基于注意力机制和gcn的文本多标签分类方法和系统
CN105260738A (zh) 基于主动学习的高分辨率遥感影像变化检测方法及系统
CN104933428A (zh) 一种基于张量描述的人脸识别方法及装置
Zhang et al. Fuzzy analysis of community detection in complex networks
Chen et al. A method for local community detection by finding maximal-degree nodes
Alweshah et al. Solving time series classification problems using support vector machine and neural network
CN108520310A (zh) 基于G-L混合噪声特性v-支持向量回归机的风速预报方法
CN113157678A (zh) 一种多源异构数据关联方法
CN103226825B (zh) 基于低秩稀疏模型的遥感图像变化检测方法
Chen et al. Wafer map failure pattern recognition based on deep convolutional neural network
CN102930291A (zh) 用于图形图像的k近邻局部搜索遗传自动聚类方法
Jokar et al. Overlapping community detection in complex networks using fuzzy theory, balanced link density, and label propagation
Hu et al. Instance difficulty-based noise correction for crowdsourcing
Liu et al. Detecting community structure for undirected big graphs based on random walks
CN109543114A (zh) 异构信息网络链接预测方法、可读存储介质和终端
Ikematsu et al. A fast method for detecting communities from tripartite networks
CN111916143B (zh) 基于多样子结构特征融合的分子活性预测方法
Gao et al. Accelerating graph mining algorithms via uniform random edge sampling
CN103294828B (zh) 数据挖掘模型维度的验证方法和验证装置
Qiao et al. LiteSCANet: An efficient lightweight network based on spectral and channel-wise attention for hyperspectral image classification

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20170125