一种分层递阶的多粒度社团发现方法

文档序号:9506224阅读:489来源:国知局
一种分层递阶的多粒度社团发现方法
【技术领域】
[0001] 本发明属于复杂网络技术,具体地说是一种分层递阶的多粒度社团发现方法。
【背景技术】
[0002] 经对网络性质的物理意义和数学特性的深入研究,学者们发现许多实际网络中都 存在着社团结构,即整个网络由若干个社团构成。社团结构是指整个网络由若干个社团构 成,社团内的节点连接相对稠密、而社团间的节点连接相对稀疏。近几年,为了寻找复杂网 络中的社团结构,研究者们从不同的角度对网络的社团划分进行了研究,其中部分研究发 现网络中存在分层递阶的社团结构,即大社团中包含小社团。为发现分层递阶的社团结构, 研究者们提出了 2类层次聚类算法:凝聚法和分裂法。
[0003] 现有技术中的凝聚式层次聚类方法,其基本步骤如下:1)假设给定N个节点,将每 个节点归为一粒子,构建N个粒子间NXN的相似度矩阵;2)遍历相似度矩阵,选择相似度 最高的两个粒子合并,于是总的粒子数少了一个;3)计算新的粒子与所有原粒子之间的相 似度,更新相似度矩阵;4)不断重复2)~3),直到最终得到一个包含N个对象的粒子。利用 此聚类过程,可以建立所有对象之间的层次关系且每层存在粒度不同的粒子。典型的代表 算法有单连接 single-linkage、全连接 complete-linkage 和平均连接 average-linkage, 这些方法的共同点在于每次选两个最相似的粒子合并,只是在计算合并后的粒子与原粒子 间相似度时有差异。
[0004] 这些传统的凝聚式层次聚类方法虽然具有广泛的应用,但这些方法仍存在一些问 题:1)每次都是只选择两个具有最高相似度的粒子进行合并;若存在两个或两个以上具有 最高相似度的粒子对时,选择粒子对进行合并的顺序会对最终的社团划分结果产生影响。 2)每次合并后均需重新计算合并后的粒子与原粒子间相似度;这并未保留对象之间的原 始关系,即在合并过程中破坏了网络的原始拓扑结构。3)合并后的粒子与原粒子计算相似 度的方法不同,会得到不同的社团划分结果。

【发明内容】

[0005] 本发明为了克服现有技术存在的不足之处,提供一种分层递阶的多粒度社团发现 方法,以期能在原始网络结构特性的基础上发现所有节点之间的层次关系以及不同粒度的 社团结构,从而确保社团划分结果的准确性和层次的唯一性。
[0006] 本发明为解决技术问题采用如下技术方案:
[0007] 本发明一种分层递阶的多粒度社团发现方法的特点是按如下步骤进行:
[0008] 步骤1、定义G = (X,E)表示一个网络,在所述网络G中,X = {1,2,…,i,…,j,… ,η}表示网络G中的节点集合,i和j分别表示所述网络G中第i个节点和第j个节点,η 表示所述网络G中的节点总数,I < i < j < n ;E = Ie1, e2,…,ej表示所述网络G中的边 集合,m表示所述网络G中的边总数;eni表示所述网络G中第m条边;
[0009] 步骤2、计算所述网络G中第i个节点和第j个节点的相似度S1^,且s^> max Isli ,从而构建相似度矩阵
[0010] 步骤3、从所述相似度矩阵R中选取k个互不相同的元素并进行降序排序构成截距 集合L = (I1, 12,…,Ia,…,lk} ;la表示第a个截距;且I a+1< I a;l i表示最大的截距;1 1<表 示最小的截距;I < a < k ;k表示截距的总数,且
[0011] 步骤4、初始化a = 1 ;
[0012] 步骤5、选取所述截距集合L中第a个截距Ia;判断所述相似度矩阵R中的第i个节 点和第j个节点的相似度S 1,,与第a个截距13之间的大小关系,若s I, ^ I a,则令<,=1 ;否 则令=0 ,从而构建包含最大相容类的第a个相容关系矩阵
[0013] 步骤6、找出所述第a个相容关系矩阵Ra中所有的最大相容类构成第a个最大相 容类集合,记为
4和<)分别表示所述第a个最大相容类集 合Ca中的第b个最大相容类和第d个最大相容类,l<b<(Kr,;r表示第a个最大相容 类集合Ca中最大相容类的总数;
[0014] 步骤7、将a+Ι的值赋给a后,判断a彡k是否成立,若成立,则返回执行步骤5和 步骤6 ;从而获得k个最大相容类集合{C1,C2,…,Ca,…,Ck},否则,执行步骤8 ;
[0015] 步骤8、初始化a = 1 ;
[0016] 步骤9、判断4' η<; =0是否成立;若成立,则将Ca赋值给Pa,从而获得第a个等价 类集合
:和S分别表示所述第a个最大相容类集合Ca 中的第b个等价类和第d个等价类;否则,执行步骤10 ;
[0017] 步骤10、定义变量μ和ω,并初始化μ = 1 ;
[0018] 步骤11、初始化ω = 1 ;
[0019] 步骤12、定义集合D,并初始化£> = 0 ;
[0020] 步骤13、对所述第a-Ι个等价类集合中第ω个等价类/和所述第a个最大相容 类集合C a中第μ个最大相容类判断^是否成立;若成立,则将集合D与第ω个 等价类/C1的并集赋值给集合D ;否则,将ω+1的值赋给ω后,判断ω 是否成立,若成 立,则返回执行步骤13 ;否则,执行步骤14 ;
[0021] 步骤14、判断是否成立,若成立,则将集合D赋值给第μ个最大相容类<, 从而获得更新的第μ个最大相容类 否则,将第μ个最大相容类4从第a个最大相容 类集合Ca中删去;
[0022] 步骤15、将μ+1的值赋给μ后,判断μ < r是否成立,若成立,则返回执行步骤 11 ;从而获得更新的第a个最大相容类集合
否则,执行步骤16 ;
[0023] 步骤16、定义集合H,并初始化好._=0;:
[0024] 步骤17、初始化μ = 1 ;
[0025] 步骤18、初始化ω = μ+1 ;
[0026] 步骤19、将所述更新的第a个最大相容类集合C' a中第μ个最大相容类4?和第 ω个最大相容类C取交集并把所获得的结果赋值给所述集合H ;
[0027] 步骤20、判断集合丑#0是否成立,若成立,则执行步骤21 ;否则,执行步骤25
[0028] 步骤21、将所述更新的第a个最大相容类集合C' a中第μ个最大相容类 <与所 述集合H的差集赋值给第μ个最大相容类<,将所述更新的第a个最大相容类集合C' a 中第ω个最大相容类< 与所述集合H的差集赋值给第ω个最大相容类,从而获得再次 更新的第μ个最大相容类和第μ个最大相容类
[0029] 步骤22、假设所述集合H包含γ个元素,并初始化σ = 1 ;
[0030] 步骤23、求更新后的集合H中的第σ个元素分别与再次更新的第μ个最大相容 类和第ω个最大相容类的间相似度,将第σ个元素加入到与其具有最大相似度的第 μ个最大相容类或第ω个最大相容类中;
[0031] 步骤24、将σ+1赋值给σ ;并执行步骤23,直到σ > γ为止,从而将γ个元素 均加入到相应的最大相容类中;
[0032] 步骤25、将ω+l的值赋给ω后,判断ω < r是否成立,若成立,则返回执行步骤 19 ;否则,将μ+l的值赋给μ后,判断μ彡r是否成立,若成立,则返回执行步骤18 ;否则, 获得第a个最大相容类集合
,即第a层社团结构;
[0033] 步骤26、将a+Ι赋值给a,并返回步骤9顺序执行,直到a > k为止,从而获得k层 社团结构。
[0034] 与已有技术相比,本发明有益效果体现在:
[0035] 1、本发明通过分层递阶的方法来判断相似度与截距间的大小关系来塑造节点间 的相容关系,然后经过相容关系求解其近似等价关系的变换过程得到多个粒度的社团结 构;在截距由大到小的递阶过程中,每一层都选择节点间的相似度矩阵中大于给定截距的 节点对进行合并,这加快了合并的速度;较粗粒度上的社团划分结果是根据较细粒度上的 社团划分结果指导得来的,最终会得到不同粒度下的社团结构,从而使得社团划分结果更 加准确和可靠。
[0036] 2、根据粒度的思想,本发明首先将每一个节点看作一个粒子,在不同截距的控制 下,根据节点间的相似度矩阵形成不同粒度的粒子。在上一层粒子变化后,下一层不需要重 新计算新粒子与所有旧粒子间的相似度而是直接利用了最原始的节点间的相似度矩阵。因 此,在各层社团结构中,都保持了网络的原始结构,这样的社团划分结果更符合网络中各节 点的真实拓扑结构关系。
[0037] 3、本
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1