CN107609982A - 考虑社区结构稳定度和增量相关节点进行社区发现的方法 - Google Patents
考虑社区结构稳定度和增量相关节点进行社区发现的方法 Download PDFInfo
- Publication number
- CN107609982A CN107609982A CN201710829612.5A CN201710829612A CN107609982A CN 107609982 A CN107609982 A CN 107609982A CN 201710829612 A CN201710829612 A CN 201710829612A CN 107609982 A CN107609982 A CN 107609982A
- Authority
- CN
- China
- Prior art keywords
- community
- mrow
- node
- msub
- moment
- 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.)
- Granted
Links
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明涉及一种考虑社区结构稳定度和增量相关节点进行社区发现的方法,包括以下步骤:1、生成初始社区集,设置社区的初始权重,并初始化迭代时刻;2、计算增量相关节点集合IV t ;3、遍历每个社区,解散社区集NS t 中社区权重和社区规模小于阈值的社区;4、对集合IV t 中的节点进行社区划分,生成新社区;5、遍历每个新社区,解散社区规模小于阈值的新社区;6、遍历剩余相关节点集合IV t‑rm 中各节点,计算节点与相邻社区的相似度,将其加入相似度最高的社区,生成社区集NS t ;7、更新每个社区的稳定度和权重;8、计算NS t 的社区结构稳定度;9、判断是否满足迭代停止条件,以结束计算。该方法可以高效、准确地进行社区发现。
Description
技术领域
本发明涉及社交网络上的重叠社区发现技术领域,特别是一种考虑社区结构稳定度和增量相关节点进行社区发现的方法。
背景技术
随着Web 2.0技术的发展,人们通过注册Twitter、FaceBook、微博等社交平台的帐号,相互认识并成为好友。因此,社交网络已经成为人们生活中不可或缺的一部分。复杂网络可以被抽象为有向或无向图结构,借助图论的相关工具与方法,可以刻画社区结构,并设计基于图论方法的社区发现算法。社区结构的发现就是将网络节点按照其内在的拓扑结构连接的紧密程度划分成若干个子图的过程。分析并发现其结构对于用户行为分析,情感分析,个体影响力分析等都具有重要作用。
针对复杂网络的特征,如小世界、无标度、拥有社区结构等。有许多学者进行了大量研究,提出了很多经典的社区发现算法。传统对社区结构的研究主要针对静态网络的社区发现,基于MapReduce等并行计算模型的静态社区发现算法已经能够很容易地处理包含大规模的社交网络。但是,在真实环境中,网络并不是一成不变的,它们往往随着时间变化,具有动态的特征。目前,动态网络的社区检测主要包括进化聚类和增量聚类。增量方法将前一时刻社区检测的输出结果作为下一个时刻的输入,由于增量聚类的时间开销较少,因此,基于增量的社区划分算法得到了广泛关注。
现有的增量社区发现算法在社区发现方面已经取得一定成果,但仍然存在以下几个问题:首先随着时间的推移,基于增量式的社区发现会存在累积效应产生的误差;其次,面对更大规模的社交网络,如何提高算法的运行效率;最后,只考虑了所有社区的变化,而没有考虑各个社区的变化情况。
发明内容
本发明的目的在于提供一种考虑社区结构稳定度和增量相关节点进行社区发现的方法,该方法可以高效、准确地进行社区发现。
为实现上述目的,本发明的技术方案是:一种考虑社区结构稳定度和增量相关节点进行社区发现的方法,包括以下步骤:
步骤1:采用SLPA算法在网络G1上生成初始社区集NS1;
步骤2:对任意社区c∈NS1,设置社区c的初始权重wc(c,t0)=1.0;
步骤3:初始化迭代时刻iter=2;
步骤4:计算t时刻相较于t-1时刻的增量相关节点集合IVt;
步骤5:并行遍历t时刻社区集NSt中的每个社区,解散社区权重小于阈值wcmin的社区和社区规模小于阈值csmin的社区,将被解散的社区内的节点加入IVt;
步骤6:采用SLPA算法对集合IVt中的节点进行社区划分,生成新社区;
步骤7:并行遍历每个新社区,解散社区规模小于csmin的新社区,将被解散的社区内的节点从集合IVt中删除,加入剩余相关节点集合IVt-rm,并将剩余的社区加入t-1时刻社区集NSt-1;
步骤8:并行遍历集合IVt-rm中的每个节点,计算节点与相邻社区的相似度,将其加入到相似度最高的社区,生成t时刻社区集NSt;
步骤9:更新社区集NSt中每个社区的稳定度和权重;
步骤10:计算社区集NSt的社区结构稳定度Sm,如果社区结构稳定度Sm大于等于阈值Smin,则输出社区集NSt;否则,调用SLPA算法输出社区集NSt;
步骤11:判断是否满足迭代停止条件,是则计算结束,否则令迭代时刻iter加1,并返回步骤4。
进一步地,在步骤4中,计算增量相关节点集合IVt的方法为:
步骤4.1:根据t时刻和t-1时刻的网络,得到t时刻和t-1时刻的所有节点,两者求差集得到增加与减少的节点,将这些节点加入增量相关节点集合;
步骤4.2:根据t-1时刻的社区,再根据t时刻和t-1时刻的网络,判断增加与删除的边,如果增加的边在t-1时刻属于不同的社区以及减少的边在t-1时刻属于相同的社区,将这些边所在的节点加入增量相关节点集合;
步骤4.3:将步骤4.1和4.2得到的合并,即为增量相关节点集合IVt。
进一步地,在步骤5中,解散社区权重小于阈值wcmin的社区和社区规模小于csmin的社区的方法为:
步骤5.1:社区权重结构为(社区id,社区权重),社区规模结构为(社区id,社区规模),对两者进行合并操作,得到社区权重规模结构为(社区id,(社区权重,社区规模));
步骤5.2:遍历每个社区,解散社区权重小于阈值wcmin的社区和社区规模小于csmin的社区。
进一步地,在步骤8中,计算集合IVt-rm中节点与相邻社区的相似度,将其加入到相似度最高的社区,生成t时刻社区集NSt的方法如下:
步骤8.1:计算剩余相关节点集合IVt-rm中节点i与相邻社区k中每个相邻节点的相似度sim,进行求和,得到节点i与相邻社区k的相似度,相似度sim的计算公式如式(1)所示:
且NBi∩NBj∈Ck,NBi∪NBj∈Ck
(1)
其中,sim(i,j)表示节点i和节点j的相似度,集合NBi表示节点i的邻居,集合NBj表示节点j的邻居,两者的并集均在社区Ck中,sim(i,j)值在[0,1]区间上;
步骤8.2:判断是否计算完节点i与所有相邻社区的相似度,是则转下一步,否则返回步骤8.1计算节点i与其他相邻社区的相似度;
步骤8.3:将节点i归属到相似度最高的社区中,作为该节点的隶属社区,隶属社区sl的计算公式如式(2)所示:
进一步地,在步骤9中,更新社区集NSt中每个社区的稳定度和权重的步骤如下:
步骤9.1:为每个社区设置一个社区结构稳定度st(c,t),社区结构稳定度st(c,t)的计算公式如式(3)所示:
其中,|·|表示集合大小,|ec,t +|和|ec,t -|分别表示t时刻社区c的增加和减少的边数,|vc,t +|和|vc,t -|分别表示t时刻社区c的增加和减少的节点数,|NB(v)|表示t时刻与节点v归属同一社区的所有邻居节点数;|Ec,t|和|Ec,t-1|分别表示t时刻和t-1时刻社区c边的总数,|Ec,t|和|Ec,t-1|分别表示t时刻和t-1时刻社区c节点的总数;
步骤9.2:借鉴数据流聚类中的思想,引入衰减系数,以避免长期存在的历史社区对新社区发现的影响;有些社区可能随着时间的推移,社区稳定结构保持较好,则适当减慢其衰减速度,而有些社区较不稳定,则适当加快其衰减速度,社区的权重wc(c,t)的更新公式如(4)如示;
其中,0<λ≤1表示权重衰减系数,t和t0分别表示当前时刻与初始时刻,wc(c,t)表示t时刻社区c的权重;st(c,t)表示t时刻社区c的结构稳定度,当st(c,t)大于等于给定社区结构稳定度阈值stmin时,以倍速率进行衰减,否则,以倍速率进行衰减。
进一步地,在步骤10中,输出社区集NSt的计算过程为:
步骤10.1:设置阈值Smin,在每次增量社区发现完成后,根据公式(5)计算社区结构稳定度:
其中,st(c,t)表示t时刻社区c的结构稳定度,t’为重新进行社区发现的时刻,Sm的值为从t’时刻到T时刻所有社区的结构稳定度的平均值;
步骤10.2:如果Sm≥Smin时,输出当前时刻的社区集NSt,否则重新运行SLPA算法,输出当前时刻的社区结构集NSt。
相较于现有技术,本发明的有益效果是:以前一个时刻得到的社区结构为基础,通过基于Jaccard系数的社区归属判定条件来调整增量相关节点的社区归属,同时考虑每个社区的结构稳定度,以发现动态网络社区。通过增量方法分析相邻时刻网络的变化,避免了对整个网络进行重新划分,从而大大减少了算法的时间开销,具有良好的动态社区发现能力。
附图说明
图1是本发明实施例的实现流程图。
具体实施方式
下面结合附图及具体实施例对本发明作进一步的详细说明。
本发明考虑社区结构稳定度和增量相关节点进行社区发现的方法,综合运用了引进流聚类中的衰减系数、Jaccard相似度社区归属判定条件、社区结构稳定度计算以及并行计算技术,实现大规模社交网络上的社区发现,如图1所示,包括以下步骤:
步骤1:采用SLPA算法在网络G1上生成初始社区集NS1。
步骤2:对任意社区c∈NS1,设置社区c的初始权重wc(c,t0)=1.0。
步骤3:初始化迭代时刻iter=2。
步骤4:计算t时刻相较于t-1时刻的增量相关节点集合IVt。具体方法为:
步骤4.1:根据t时刻和t-1时刻的网络,得到t时刻和t-1时刻的所有节点,两者求差集得到增加与减少的节点,将这些节点加入增量相关节点集合;
步骤4.2:根据t-1时刻的社区,再根据t时刻和t-1时刻的网络,判断增加与删除的边,如果增加的边在t-1时刻属于不同的社区以及减少的边在t-1时刻属于相同的社区,将这些边所在的节点加入增量相关节点集合;
步骤4.3:将步骤4.1和4.2得到的合并,即为增量相关节点集合IVt。
步骤5:并行遍历t时刻社区集NSt中的每个社区,解散社区权重小于阈值wcmin的社区和社区规模小于阈值csmin的社区,将被解散的社区内的节点加入IVt。具体方法为:
步骤5.1:社区权重结构为(社区id,社区权重),社区规模结构为(社区id,社区规模),对两者进行合并操作,得到社区权重规模结构为(社区id,(社区权重,社区规模));
步骤5.2:遍历每个社区,解散社区权重小于阈值wcmin的社区和社区规模小于csmin的社区。
步骤6:采用SLPA算法对集合IVt中的节点进行社区划分,生成新社区。
步骤7:并行遍历每个新社区,解散社区规模小于csmin的新社区,将被解散的社区内的节点从集合IVt中删除,加入剩余相关节点集合IVt-rm(表示生成新社区中规模小于csmin的新社区的节点集合),并将剩余的社区加入t-1时刻社区集NSt-1。
步骤8:并行遍历集合IVt-rm中的每个节点,计算节点与相邻社区的相似度,将其加入到相似度最高的社区,生成t时刻社区集NSt。具体方法为:
步骤8.1:计算剩余相关节点集合IVt-rm中节点i与相邻社区k中每个相邻节点的相似度sim,进行求和,得到节点i与相邻社区k的相似度,相似度sim的计算公式如式(1)所示:
且NBi∩NBj∈Ck,NBi∪NBj∈Ck
(1)
其中,sim(i,j)表示节点i和节点j的相似度,集合NBi表示节点i的邻居,集合NBj表示节点j的邻居,两者的并集均在社区Ck中,sim(i,j)值在[0,1]区间上;
步骤8.2:判断是否计算完节点i与所有相邻社区的相似度,是则转下一步,否则返回步骤8.1计算节点i与其他相邻社区的相似度;
步骤8.3:将节点i归属到相似度最高的社区中,作为该节点的隶属社区,隶属社区sl的计算公式如式(2)所示:
步骤9:更新社区集NSt中每个社区的稳定度和权重。具体步骤为:
步骤9.1:随着时间的不断推移,基于增量式的社区发现的误差会累积。为每个社区设置一个社区结构稳定度st(c,t),考虑了相邻时刻节点和边的变化,社区结构稳定度st(c,t)的计算公式如式(3)所示:
其中,|·|表示集合大小,|ec,t +|和|ec,t -|分别表示t时刻社区c的增加和减少的边数,|vc,t +|和|vc,t -|分别表示t时刻社区c的增加和减少的节点数,|NB(v)|表示t时刻与节点v归属同一社区的所有邻居节点数;|Ec,t|和|Ec,t-1|分别表示t时刻和t-1时刻社区c边的总数,|Ec,t|和|Ec,t-1|分别表示t时刻和t-1时刻社区c节点的总数;
步骤9.2:借鉴数据流聚类中的思想,引入衰减系数,以避免长期存在的历史社区对新社区发现的影响;有些社区可能随着时间的推移,社区稳定结构保持较好,则适当减慢其衰减速度,而有些社区较不稳定,则适当加快其衰减速度,社区的权重wc(c,t)的更新公式如(4)如示;
其中,0<λ≤1表示权重衰减系数,t和t0分别表示当前时刻与初始时刻,wc(c,t)表示t时刻社区c的权重;st(c,t)表示t时刻社区c的结构稳定度,当st(c,t)大于等于给定社区结构稳定度阈值stmin时,以倍速率进行衰减,否则,以倍速率进行衰减。
步骤10:计算社区集NSt的社区结构稳定度Sm,如果社区结构稳定度Sm大于等于阈值Smin,则输出社区集NSt;否则,调用SLPA算法输出社区集NSt。由于增量社区发现会存在累积误差,这里是一个条件判断,判断如果社区结构稳定度大于阈值,直接输出结果;如果小于阈值,说明累积误差较大,就调用SLPA算法跑全量数据,跟步骤1中的初始时刻是一样的。具体计算过程为:
步骤10.1:设置阈值Smin,在每次增量社区发现完成后,根据公式(5)计算社区结构稳定度:
其中,st(c,t)表示t时刻社区c的结构稳定度,t’为重新进行社区发现的时刻,Sm的值为从t’时刻到T时刻所有社区的结构稳定度的平均值;
步骤10.2:如果Sm≥Smin时,输出当前时刻的社区集NSt,否则重新运行SLPA算法,输出当前时刻的社区结构集NSt。
步骤11:判断是否满足迭代停止条件(一开始设置迭代次数iter=2,迭代停止条件就是T,T为总的时刻,当达到T时刻,算法结束),是则计算结束,否则令迭代时刻iter加1,并返回步骤4。
以上是本发明的较佳实施例,凡依本发明技术方案所作的改变,所产生的功能作用未超出本发明技术方案的范围时,均属于本发明的保护范围。
Claims (6)
1.一种考虑社区结构稳定度和增量相关节点进行社区发现的方法,其特征在于,包括以下步骤:
步骤1:采用SLPA算法在网络G1上生成初始社区集NS1;
步骤2:对任意社区c∈NS1,设置社区c的初始权重wc(c,t0)=1.0;
步骤3:初始化迭代时刻iter=2;
步骤4:计算t时刻相较于t-1时刻的增量相关节点集合IVt;
步骤5:并行遍历t时刻社区集NSt中的每个社区,解散社区权重小于阈值wcmin的社区和社区规模小于阈值csmin的社区,将被解散的社区内的节点加入IVt;
步骤6:采用SLPA算法对集合IVt中的节点进行社区划分,生成新社区;
步骤7:并行遍历每个新社区,解散社区规模小于csmin的新社区,将被解散的社区内的节点从集合IVt中删除,加入剩余相关节点集合IVt-rm,并将剩余的社区加入t-1时刻社区集NSt-1;
步骤8:并行遍历集合IVt-rm中的每个节点,计算节点与相邻社区的相似度,将其加入到相似度最高的社区,生成t时刻社区集NSt;
步骤9:更新社区集NSt中每个社区的稳定度和权重;
步骤10:计算社区集NSt的社区结构稳定度Sm,如果社区结构稳定度Sm大于等于阈值Smin,则输出社区集NSt;否则,调用SLPA算法输出社区集NSt;
步骤11:判断是否满足迭代停止条件,是则计算结束,否则令迭代时刻iter加1,并返回步骤4。
2.根据权利要求1所述的考虑社区结构稳定度和增量相关节点进行社区发现的方法,其特征在于,在步骤4中,计算增量相关节点集合IVt的方法为:
步骤4.1:根据t时刻和t-1时刻的网络,得到t时刻和t-1时刻的所有节点,两者求差集得到增加与减少的节点,将这些节点加入增量相关节点集合;
步骤4.2:根据t-1时刻的社区,再根据t时刻和t-1时刻的网络,判断增加与删除的边,如果增加的边在t-1时刻属于不同的社区以及减少的边在t-1时刻属于相同的社区,将这些边所在的节点加入增量相关节点集合;
步骤4.3:将步骤4.1和4.2得到的合并,即为增量相关节点集合IVt。
3.根据权利要求1所述的考虑社区结构稳定度和增量相关节点进行社区发现的方法,其特征在于,在步骤5中,解散社区权重小于阈值wcmin的社区和社区规模小于csmin的社区的方法为:
步骤5.1:社区权重结构为(社区id,社区权重),社区规模结构为(社区id,社区规模),对两者进行合并操作,得到社区权重规模结构为(社区id,(社区权重,社区规模));
步骤5.2:遍历每个社区,解散社区权重小于阈值wcmin的社区和社区规模小于csmin的社区。
4.根据权利要求1所述的考虑社区结构稳定度和增量相关节点进行社区发现的方法,其特征在于,在步骤8中,计算集合IVt-rm中节点与相邻社区的相似度,将其加入到相似度最高的社区,生成t时刻社区集NSt的方法如下:
步骤8.1:计算剩余相关节点集合IVt-rm中节点i与相邻社区k中每个相邻节点的相似度sim,进行求和,得到节点i与相邻社区k的相似度,相似度sim的计算公式如式(1)所示:
且NBi∩NBj∈Ck,NBi∪NBj∈Ck (1)
其中,sim(i,j)表示节点i和节点j的相似度,集合NBi表示节点i的邻居,集合NBj表示节点j的邻居,两者的并集均在社区Ck中,sim(i,j)值在[0,1]区间上;
步骤8.2:判断是否计算完节点i与所有相邻社区的相似度,是则转下一步,否则返回步骤8.1计算节点i与其他相邻社区的相似度;
步骤8.3:将节点i归属到相似度最高的社区中,作为该节点的隶属社区,隶属社区sl的计算公式如式(2)所示:
<mrow>
<msub>
<mi>s</mi>
<mi>l</mi>
</msub>
<mo>=</mo>
<mi>m</mi>
<mi>a</mi>
<mi>x</mi>
<munderover>
<mo>&Sigma;</mo>
<mrow>
<mi>j</mi>
<mo>=</mo>
<mi>k</mi>
</mrow>
<mi>n</mi>
</munderover>
<mi>s</mi>
<mi>i</mi>
<mi>m</mi>
<mrow>
<mo>(</mo>
<mi>i</mi>
<mo>,</mo>
<mi>j</mi>
<mo>)</mo>
</mrow>
<mo>-</mo>
<mo>-</mo>
<mo>-</mo>
<mrow>
<mo>(</mo>
<mn>2</mn>
<mo>)</mo>
</mrow>
<mo>.</mo>
</mrow>
5.根据权利要求1所述的考虑社区结构稳定度和增量相关节点进行社区发现的方法,其特征在于,在步骤9中,更新社区集NSt中每个社区的稳定度和权重的步骤如下:
步骤9.1:为每个社区设置一个社区结构稳定度st(c,t),社区结构稳定度st(c,t)的计算公式如式(3)所示:
<mrow>
<mi>s</mi>
<mi>t</mi>
<mrow>
<mo>(</mo>
<mi>c</mi>
<mo>,</mo>
<mi>t</mi>
<mo>)</mo>
</mrow>
<mo>=</mo>
<mn>1</mn>
<mo>-</mo>
<mfrac>
<mn>1</mn>
<mn>4</mn>
</mfrac>
<mo>&times;</mo>
<mrow>
<mo>(</mo>
<mfrac>
<mrow>
<mo>|</mo>
<mrow>
<msup>
<msub>
<mi>e</mi>
<mrow>
<mi>c</mi>
<mo>,</mo>
<mi>t</mi>
</mrow>
</msub>
<mo>+</mo>
</msup>
</mrow>
<mo>|</mo>
</mrow>
<mrow>
<mo>|</mo>
<msub>
<mi>E</mi>
<mrow>
<mi>c</mi>
<mo>,</mo>
<mi>t</mi>
</mrow>
</msub>
<mo>|</mo>
</mrow>
</mfrac>
<mo>+</mo>
<mfrac>
<mrow>
<mo>|</mo>
<mrow>
<msup>
<msub>
<mi>e</mi>
<mrow>
<mi>c</mi>
<mo>,</mo>
<mi>t</mi>
</mrow>
</msub>
<mo>-</mo>
</msup>
</mrow>
<mo>|</mo>
</mrow>
<mrow>
<mo>|</mo>
<msub>
<mi>E</mi>
<mrow>
<mi>c</mi>
<mo>,</mo>
<mi>t</mi>
<mo>-</mo>
<mn>1</mn>
</mrow>
</msub>
<mo>|</mo>
</mrow>
</mfrac>
<mo>)</mo>
</mrow>
<mo>-</mo>
<mfrac>
<mn>1</mn>
<mn>4</mn>
</mfrac>
<mo>&times;</mo>
<mrow>
<mo>(</mo>
<mfrac>
<mrow>
<mrow>
<mo>|</mo>
<mrow>
<msup>
<msub>
<mi>v</mi>
<mrow>
<mi>c</mi>
<mo>,</mo>
<mi>t</mi>
</mrow>
</msub>
<mo>+</mo>
</msup>
</mrow>
<mo>|</mo>
</mrow>
<mo>+</mo>
<mrow>
<mo>|</mo>
<mi>N</mi>
<mi>B</mi>
<mrow>
<mo>(</mo>
<msup>
<msub>
<mi>v</mi>
<mrow>
<mi>c</mi>
<mo>,</mo>
<mi>t</mi>
</mrow>
</msub>
<mo>+</mo>
</msup>
<mo>)</mo>
</mrow>
<mo>|</mo>
</mrow>
</mrow>
<mrow>
<mo>|</mo>
<msub>
<mi>V</mi>
<mrow>
<mi>c</mi>
<mo>,</mo>
<mi>t</mi>
</mrow>
</msub>
<mo>|</mo>
</mrow>
</mfrac>
<mo>+</mo>
<mfrac>
<mrow>
<mrow>
<mo>|</mo>
<mrow>
<msup>
<msub>
<mi>v</mi>
<mrow>
<mi>c</mi>
<mo>,</mo>
<mi>t</mi>
</mrow>
</msub>
<mo>-</mo>
</msup>
</mrow>
<mo>|</mo>
</mrow>
<mo>+</mo>
<mrow>
<mo>|</mo>
<mi>N</mi>
<mi>B</mi>
<mrow>
<mo>(</mo>
<msup>
<msub>
<mi>v</mi>
<mrow>
<mi>c</mi>
<mo>,</mo>
<mi>t</mi>
</mrow>
</msub>
<mo>-</mo>
</msup>
<mo>)</mo>
</mrow>
<mo>|</mo>
</mrow>
</mrow>
<mrow>
<mo>|</mo>
<msub>
<mi>V</mi>
<mrow>
<mi>c</mi>
<mo>,</mo>
<mi>t</mi>
<mo>-</mo>
<mn>1</mn>
</mrow>
</msub>
<mo>|</mo>
</mrow>
</mfrac>
<mo>)</mo>
</mrow>
<mo>-</mo>
<mo>-</mo>
<mo>-</mo>
<mrow>
<mo>(</mo>
<mn>3</mn>
<mo>)</mo>
</mrow>
</mrow>
其中,|·|表示集合大小,|ec,t +|和|ec,t -|分别表示t时刻社区c的增加和减少的边数,|vc,t +|和|vc,t -|分别表示t时刻社区c的增加和减少的节点数,|NB(v)|表示t时刻与节点v归属同一社区的所有邻居节点数;|Ec,t|和|Ec,t-1|分别表示t时刻和t-1时刻社区c边的总数,|Ec,t|和|Ec,t-1|分别表示t时刻和t-1时刻社区c节点的总数;
步骤9.2:借鉴数据流聚类中的思想,引入衰减系数,以避免长期存在的历史社区对新社区发现的影响;有些社区可能随着时间的推移,社区稳定结构保持较好,则适当减慢其衰减速度,而有些社区较不稳定,则适当加快其衰减速度,社区的权重wc(c,t)的更新公式如(4)如示;
其中,0<λ≤1表示权重衰减系数,t和t0分别表示当前时刻与初始时刻,wc(c,t)表示t时刻社区c的权重;st(c,t)表示t时刻社区c的结构稳定度,当st(c,t)大于等于给定社区结构稳定度阈值stmin时,以倍速率进行衰减,否则,以倍速率进行衰减。
6.根据权利要求5所述的考虑社区结构稳定度和增量相关节点进行社区发现的方法,其特征在于,在步骤10中,输出社区集NSt的计算过程为:
步骤10.1:设置阈值Smin,在每次增量社区发现完成后,根据公式(5)计算社区结构稳定度:
<mrow>
<msub>
<mi>S</mi>
<mi>m</mi>
</msub>
<mo>=</mo>
<mfrac>
<mn>1</mn>
<mi>n</mi>
</mfrac>
<munderover>
<mo>&Sigma;</mo>
<mrow>
<mi>t</mi>
<mo>=</mo>
<msup>
<mi>t</mi>
<mo>&prime;</mo>
</msup>
</mrow>
<mi>T</mi>
</munderover>
<munderover>
<mo>&Sigma;</mo>
<mrow>
<mi>i</mi>
<mo>=</mo>
<mn>1</mn>
</mrow>
<mi>n</mi>
</munderover>
<mi>s</mi>
<mi>t</mi>
<mrow>
<mo>(</mo>
<mi>c</mi>
<mo>,</mo>
<mi>t</mi>
<mo>)</mo>
</mrow>
<mo>-</mo>
<mo>-</mo>
<mo>-</mo>
<mrow>
<mo>(</mo>
<mn>5</mn>
<mo>)</mo>
</mrow>
</mrow>
其中,st(c,t)表示t时刻社区c的结构稳定度,t’为重新进行社区发现的时刻,Sm的值为从t’时刻到T时刻所有社区的结构稳定度的平均值;
步骤10.2:如果Sm≥Smin时,输出当前时刻的社区集NSt,否则重新运行SLPA算法,输出当前时刻的社区结构集NSt。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710829612.5A CN107609982B (zh) | 2017-09-14 | 2017-09-14 | 考虑社区结构稳定度和增量相关节点进行社区发现的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710829612.5A CN107609982B (zh) | 2017-09-14 | 2017-09-14 | 考虑社区结构稳定度和增量相关节点进行社区发现的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107609982A true CN107609982A (zh) | 2018-01-19 |
CN107609982B CN107609982B (zh) | 2020-11-24 |
Family
ID=61062374
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710829612.5A Active CN107609982B (zh) | 2017-09-14 | 2017-09-14 | 考虑社区结构稳定度和增量相关节点进行社区发现的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107609982B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108833138A (zh) * | 2018-05-18 | 2018-11-16 | 中国矿业大学 | 一种错误累积敏感的增量式动态社区发现方法及系统 |
CN109840720A (zh) * | 2019-03-01 | 2019-06-04 | 同济大学 | 车联网社区动态演化方法 |
CN110166344A (zh) * | 2018-04-25 | 2019-08-23 | 腾讯科技(深圳)有限公司 | 一种身份标识识别方法、装置以及相关设备 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102880644A (zh) * | 2012-08-24 | 2013-01-16 | 电子科技大学 | 社区发现方法 |
CN105868791A (zh) * | 2016-04-15 | 2016-08-17 | 上海交通大学 | 基于模糊聚类的多分辨率社区发现方法 |
-
2017
- 2017-09-14 CN CN201710829612.5A patent/CN107609982B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102880644A (zh) * | 2012-08-24 | 2013-01-16 | 电子科技大学 | 社区发现方法 |
CN105868791A (zh) * | 2016-04-15 | 2016-08-17 | 上海交通大学 | 基于模糊聚类的多分辨率社区发现方法 |
Non-Patent Citations (1)
Title |
---|
许宇光 等: "基于个体稳定度博弈的动态社区发现算法研究", 《电子与信息学报》 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110166344A (zh) * | 2018-04-25 | 2019-08-23 | 腾讯科技(深圳)有限公司 | 一种身份标识识别方法、装置以及相关设备 |
CN110166344B (zh) * | 2018-04-25 | 2021-08-24 | 腾讯科技(深圳)有限公司 | 一种身份标识识别方法、装置以及相关设备 |
CN108833138A (zh) * | 2018-05-18 | 2018-11-16 | 中国矿业大学 | 一种错误累积敏感的增量式动态社区发现方法及系统 |
CN108833138B (zh) * | 2018-05-18 | 2021-03-16 | 中国矿业大学 | 一种错误累积敏感的增量式动态社区发现方法及系统 |
CN109840720A (zh) * | 2019-03-01 | 2019-06-04 | 同济大学 | 车联网社区动态演化方法 |
Also Published As
Publication number | Publication date |
---|---|
CN107609982B (zh) | 2020-11-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103942308B (zh) | 大规模社交网络社区的检测方法及装置 | |
CN106708647B (zh) | 大数据环境下的分布式跨维度异常数据检测方法 | |
CN107609982A (zh) | 考虑社区结构稳定度和增量相关节点进行社区发现的方法 | |
CN104901847B (zh) | 一种社交网络僵尸账号检测方法及装置 | |
CN103838803A (zh) | 一种基于节点Jaccard相似度的社交网络社团发现方法 | |
CN105139035A (zh) | 基于密度的聚类中心自动确定的混合属性数据流聚类方法 | |
CN109711746A (zh) | 一种基于复杂网络的信用评估方法和系统 | |
CN108197708A (zh) | 一种基于Spark的并行化遗传算法 | |
CN103677960A (zh) | 一种能耗约束的虚拟机博弈重放置方法 | |
CN105205052A (zh) | 一种数据挖掘方法及装置 | |
CN111177128B (zh) | 基于改进的离群点检测算法的计量大数据批量处理方法及系统 | |
CN105068928A (zh) | 一种基于复杂网络理论的软件测试用例生成方法 | |
CN104376078A (zh) | 一种基于知识熵的异常数据检测方法 | |
CN102521655A (zh) | 基于非支配邻域免疫算法的动态网络社区检测方法 | |
CN110348540A (zh) | 基于聚类的电力系统暂态功角稳定故障筛选方法及装置 | |
CN104462329A (zh) | 一种适用于多样性环境的业务流程挖掘方法 | |
CN114186862A (zh) | 基于熵权topsis模型的双层能源绩效评估系统 | |
CN106786602A (zh) | 一种配电网潮流计算方法 | |
CN108268611A (zh) | 一种基于MapReduce的k-means文本聚类的方法及装置 | |
CN108171538A (zh) | 用户数据处理方法及系统 | |
CN106407403A (zh) | 基于学习的受约束服务聚合排名预测方法及装置 | |
CN107578136A (zh) | 基于随机游走与种子扩展的重叠社区发现方法 | |
CN107368041A (zh) | 一种基于移动平均算法的s曲线加减速控制方法 | |
CN110163659A (zh) | 数据估算方法、装置、设备及存储介质 | |
CN108846543B (zh) | 一种非重叠社区集合质量度量指标的计算方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |