正在加载图片...
第3期 郑文萍,等:基于稠密子图的社区发现算法 ·429. 1V(U:)1表示子图U:中的顶点个数。元素M:= |V(U)nV(U)|,i≠j,表示子图U,和U,的公共顶 4实验与结果分析 点数。对2个不同稠密子图,若M:> 为了分析研究BDSG算法在真实网络中社区发 min(U:l,U) 现的有效性,将BDSG算法分别应用于空手道俱乐 则合并2个子图为一个新社区 部(Karate)[]、海豚社交网络(Dolphin)[24]、大学生 U'=[V(U)UV(U)]c,此过程迭代进行,直到不产 足球网络(Football)[2]、电子邮件网络(Email)[] 生新的社区。得到的社区称为初始中心社区,社区 和合作网络(NetScience)I]等5个数据集。实验所 个数k为算法的聚类个数。图2中4个稠密子图的 用计算机配置为Inter Core i5CPU2.5GHz,6GB内 存,Windows7操作系统。程序采用java编程语言 重叠矩阵表示为 并在Eclipse环境下运行。依经验选择密度阈值d= [42007 0.9,调节参数a=0.8。 240 0 M= 图3~5分别给出了本文BDSG算法在空手道 0054 俱乐部、海豚社交网络和大学生足球网络的聚类结 L0045 果。表2给出了BDSG算法与CPM、k-dense算法分 进行稠密子图合并操作后可得到2个初始中心社 别在聚类个数、未聚类结点数、社区模块性(Q)【测 区:C,=[UUU2]c,C2=[U3UU]c,聚类个数k=2。 以及运行时间等方面的比较结果。 算法确定了聚类个数和初始中心社区数之后, 不属于任何中心社区的结点就是未聚类结点。由于 初始中心社区寻找过程中关注于网络中相对稠密的 子图,网络中存在大量未聚类结点,需要设计合理的 中心社区扩展策略,对未聚类结点进一步处理。 3.2中心社区扩展策略 设聚类个数为k,当前中心社区分别为C1,C2,…, Ck,则当前未聚类结点集合T=V(G)-U,V(C:)。根 图3BDSG算法在空手道俱乐部得到的聚类结果 据式(2)给出的结点对社区的归属度定义,计算T Fig.3 Clustering results on zachary's karate club ob- 中结点与中心社区C:的归属度,并对相关中心社区 tained by BDSG 进行扩展,具体过程如算法1。 算法1中心社区扩展算法(core community extended strategy,CE) 输入图G=(V,E),聚类个数k,初始中心社区 集合Co)={Co),C),…,C)},其中CoSV。 输出社区集合C={C,C2,…,C4}。 1)令集合To=V(G)-UV(Co),B。=0.7, t=0。 2)令t=t+1,对每个社区C),C-),…, 图4BDSG算法在海豚社交网络上得到的聚类结果 CD,执行下列操作: Fig.4 Clustering results on dolphins social network ob- tained by BDSG ①Co=C-)(1≤i≤k),Ne(C,)= {ulu∈Ne(x)Ax∈C,-D}。 ②对任意元素vETONc(C)(1≤i≤k),如 果b(u,C-))≥B1,则C0=C0U{}。 ③令B.=B--0.1,T=V(G)-U(C), 若B,≥0.3,且T≠☑,返回步骤2)。 3)结束,输出社区集合C= {C0,C,…,C}。 图3给出了BDSG算法在空手道俱乐部数据集 图5BDSG算法在大学生足球网络上得到的聚类结果 上的聚类结果,共得到2个社区,空白结,点表示未聚 Fig.5 Clustering results on college football network ob- 类结点。 tained by BDSG| V(Ui) |表示子图 Ui 中的顶点个数。 元素 Mi,i = V Ui ( ) ∩V Uj ( ) ,i≠j,表示子图 Ui 和 Uj 的公共顶 点 数。 对 2 个 不 同 稠 密 子 图, 若 Mi,i > min Ui , Uj ( ) 2 ,则合并 2 个子图为一个新社区 U′= [V(Ui)∪V Uj ( ) ] G ,此过程迭代进行,直到不产 生新的社区。 得到的社区称为初始中心社区,社区 个数 k 为算法的聚类个数。 图 2 中 4 个稠密子图的 重叠矩阵表示为 M = 4 2 0 0 2 4 0 0 0 0 5 4 0 0 4 5 é ë ê ê ê ê ê ù û ú ú ú ú ú 进行稠密子图合并操作后可得到 2 个初始中心社 区:C1 = [U1∪U2 ] G ,C2 = [U3∪U4 ] G ,聚类个数k = 2。 算法确定了聚类个数和初始中心社区数之后, 不属于任何中心社区的结点就是未聚类结点。 由于 初始中心社区寻找过程中关注于网络中相对稠密的 子图,网络中存在大量未聚类结点,需要设计合理的 中心社区扩展策略,对未聚类结点进一步处理。 3.2 中心社区扩展策略 设聚类个数为 k,当前中心社区分别为 C1,C2,…, Ck,则当前未聚类结点集合 T =V(G)-∪k i=1V(Ci)。 根 据式(2) 给出的结点对社区的归属度定义,计算 T 中结点与中心社区 Ci 的归属度,并对相关中心社区 进行扩展,具体过程如算法 1。 算法 1 中心社区扩展算法 ( core community extended strategy,CE) 输入 图 G= (V,E) ,聚类个数 k,初始中心社区 集合 C (0 ) = C (0 ) 1 ,C (0 ) 2 ,…,C (0 ) k { } ,其中 C (0 ) i ⊆V。 输出 社区集合 C = C1 ,C2 ,…,Ck { } 。 1)令集合 T (0 ) = V(G) -∪k i = 1V C (0 ) i ( ) ,β0 = 0.7, t = 0。 2) 令 t = t + 1,对每个社区 C (t-1 ) 1 ,C (t-1 ) 2 ,…, C (t-1 ) k ,执行下列操作: ① C (t) i = C (t-1 ) i (1≤i≤k) , NG C (t-1 ) i ( ) = {u | u∈NG (x) ∧x∈C (t-1 ) i }。 ②对任意元素 v∈T∩NG C (t-1 ) i ( ) (1≤i≤k) ,如 果 b(v,C (t-1 ) i )≥βt-1 ,则 C (t) i =C (t) i ∪{v} 。 ③令 βt = βt-1 -0.1,T (t) = V (G) -∪k i = 1V C (t) i ( ) , 若 βt≥0.3,且 T (t) ≠∅,返回步骤 2)。 3 ) 结 束, 输 出 社 区 集 合 C = C (t) 1 ,C (t) 2 ,…,C (t) k { } 。 图 3 给出了 BDSG 算法在空手道俱乐部数据集 上的聚类结果,共得到 2 个社区,空白结点表示未聚 类结点。 4 实验与结果分析 为了分析研究 BDSG 算法在真实网络中社区发 现的有效性,将 BDSG 算法分别应用于空手道俱乐 部(Karate) [23] 、海豚社交网络(Dolphin) [24] 、大学生 足球网络( Football) [25] 、电子邮件网络( Email) [26] 和合作网络(NetScience) [27]等 5 个数据集。 实验所 用计算机配置为 Inter Core i5 CPU 2.5 GHz,6 GB 内 存,Windows 7 操作系统。 程序采用 java 编程语言 并在 Eclipse 环境下运行。 依经验选择密度阈值 d = 0.9,调节参数 α= 0.8。 图 3 ~ 5 分别给出了本文 BDSG 算法在空手道 俱乐部、海豚社交网络和大学生足球网络的聚类结 果。 表 2 给出了 BDSG 算法与 CPM、k⁃dense 算法分 别在聚类个数、未聚类结点数、社区模块性(Q) [28] 以及运行时间等方面的比较结果。 图 3 BDSG 算法在空手道俱乐部得到的聚类结果 Fig.3 Clustering results on zachary􀆳s karate club ob⁃ tained by BDSG 图 4 BDSG 算法在海豚社交网络上得到的聚类结果 Fig.4 Clustering results on dolphins social network ob⁃ tained by BDSG 图 5 BDSG 算法在大学生足球网络上得到的聚类结果 Fig.5 Clustering results on college football network ob⁃ tained by BDSG 第 3 期 郑文萍,等:基于稠密子图的社区发现算法 ·429·
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有