- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
一种基于局部模块度增量式动态社区发现算法
一种基于局部模块度的增量式动态社区发现算法
摘要:为更好地适应大规模社会网络数据的应用要求,提出一种基于局部模块度的增量式动态社区发现算法。把对起始时间的社会网络执行静态社区发现获得的社区结构和局部模块度作为增量分析的基础,把局部模块度作为优化的条件,使用四种原子操作,逐步演化社区结构。使用社区结构的局部信息,提高了算法的运行效率。避免了设定参数的条件,提高了算法的适应性。实验结果表明,该算法具有一定的实际应用价值。
关键词:局部模块度;增量分析;动态社区发现;社区演化
中图分类号:TP183 文献标识码:A 文章编号:1009-3044(2016)06-0191-04
1 概述
随着社会网络应用和模型的出现和快速发展,例如:病毒式营销[1]、推荐系统[2]、影响力扩散[3]等方面,社会网络分析在这些领域中变得越来越重要,吸引了大量的专家学者进行研究。通常,社会网络数据是代表着系统内成员之间关系的一种图结构,其中节点代表个人,边代表人与人之间的相互作用。例如:公司内部职员之间的交流,学术论文之间的引用和微博用户之间的关注等。社会网络分析的目的在于从低层次的关系数据中挖掘高层次的用于描述系统结构的关系模式[4]。
在过去,大部分分析社会网络的方法是用于计算社会网络的静态信息,没有考虑社会网络成员之间相互作用的时间因素。但是,社会网络的结构是随时间变化的,成员之间的互动关系同样随时间在变化。例如,在新浪微博中,不断地有新用户注册,也有老用户离开,用户之间互动的频率也在变化。因而,对动态社会网络分析的研究也越来越多地被提出[5]。动态社区发现是在空间发现隐含社区结构的基础上,增加时间因素,以发现不同时间点或时间窗口的社区信息和社区变化情况[6]。
为了更好地适应大规模数据集,提高发现动态网络中社区的时间效率,同时克服参数预设的条件,本文提出一种动态社区发现算法。首先使用基于相似度的静态社区发现算法得到开始时间的初始社区结构,作为增量分析的基础。再以初始社区结构为基础,根据不同时间片网络拓扑的变化,将局部模块度作为优化条件,对动态社会网络进行增量分析。本文是基于以下事实:大部分社区通常随着时间的推移逐渐演变,而不会突然出现或消失[7]。
本文第2节介绍一些典型的动态社区发现算法,第3节解释本文算法的细节,第4节对本文算法的有效性进行实验验证,第5节对全文进行总结和展望。
2 相关工作
动态社会网络通常被认为是一系列网络快照,不同的快照之间具有一定时间间隔,每一个快照是网络的一个静态图。因而,对动态变化的社会网络的每一个快照使用静态的分析方法,然后在对得到的社区的演变进行表征就是很自然的思路。
Greene等[8]提出一种在动态社会网络中跟踪社区演化的模型,将社区表征为一系列重要的演化事件,使用社区匹配策略识别和跟踪动态社区。
Palla等[9]使用CPM算法获取每段时间的社区结构,可以得到具有较高连通性的节点的子集,对比和计算每个时间段得到的社区结构,实现对社区演进的分析。
增量动态社区发现算法通过对当前已知的社区结构更新,代替对每一个网络快照进行计算,从而保持良好的社区结构[10]。这种策略能够有效降低时间复杂度,能够适用于大规模的社会网络数据。
Yang等[11]根据物理系统提出一种基于网络中社区结构原理的模型。在模型中,整个网络作为一个四维空间,将网络中边和点的属性作为四维空间中的物理属性,依照万有引力定律的思想逐轮进行增量分析,得到最终的社区划分结果。
单波等[12]使用社会网络的历史信息和当前的拓扑结构来确定当前的社区结构,使用设定的参数控制增量相关的定点是否改变其归属的社区。这种方法提高了时间效率,但没有考虑社区数目和节点数目的变化。
3 基于局部模块度的增量式动态社区发现
3.1 相关概念
3.1.1 动态社会网络
图G表示为一个二元组 G(V, E),其中V表示节点的集合,E表示边的集合。动态社会网络是指图G中的节点V或者边E随时间的变化而改变的,可以用序列[G1,G2,...,Gn]表示。
令[Ci1,Ci2,...,Cim]表示[Gi]的社区划分结果,即[Ci1?Ci2?...?Cim=Gi],其中m是社区的数量。
3.1.2 模块度[13]
模块度是一种定量手段,定义了发现的社区结构是随机产生的可能性。设一个网络被划分为k个社区,定义[k×k]的对称矩阵e,其元素[eij]表示顶点分别在社区i和社区j中的边。设[ai=jeij],表示与社区i中所有顶点相连的边,则模块度的定义如下:
5 结束语
本文提出的基于局部模块度的增量式动态社区发现算法,在现实网络中具有一定有效性
文档评论(0)