读书笔记:Overlapping Community Detection at Scale: A Nonnegative Matrix Factorization Approach

本文介绍了大规模网络中的重叠社团检测问题,并详细讲解了BIGCLAM算法,这是一种基于非负矩阵分解的高效方法。通过对现有社团检测方法的比较,BIGCLAM展现出强大的可扩展性和准确性,尤其适用于大型网络。实验证明,BIGCLAM在处理大型网络的社团检测时,其性能优于其他算法,展示了其在效率和精度上的优势。
摘要由CSDN通过智能技术生成

​​​​​​本文是对在2013年ACM大会上发表的一篇论文所做的读书笔记,原文可以查看:

https://www.researchgate.net/publication/262272761_Overlapping_community_detection_at_scale_a_nonnegative_matrix_factorization_approach

 

文章概述

         社团指的是网络中一部分相互关联密切的顶点。同一个顶点可能会与多个顶点群体关联密切,即属于多个社团。这样即造成了社团的重叠,而要在这些重叠社团之中进行社团检测则成为了一件困难的事。本文提出了一种新的用于重叠社团检测的方法,简称BIGCLAM。与现有的社团检测方法相比,BIGCLAM对于大型网络中的密集重叠社团尤为有效。本文将会说明该方法的原理,并提供实验证明来展示该方法的有效性。

 

关于作者

Jaewon Yang曾是斯坦福大学Infolab实验室的应用研究科学家,研究领域为社团检测、矩阵分解及其应用,例如模式挖掘和推荐系统。[1]

Jure Leskovec是斯坦福大学的计算机科学副教授,也是现任的Infolab实验室成员。他的研究领域主要为大规模网络。[2]

 

研究背景

 

2.1 相关概念

 

2.1.1 社团

         网络中的社团(community)指的是一部分联系紧密的顶点(node);而相对的,一个社团中的顶点与该社团以外的顶点之间的联系就没有如此的紧密了。这就好比人的社交圈,同属于一个圈之中的人关系肯定更为密切,而处于圈外的人则不是。

社团有时候又会被称为模块(module)或聚类(cluster),但我查到的资料显示这两者并不完全一致:社团检测侧重于找到网络中联系紧密的部分,而经常忽略节点的属性(attributes);而聚类侧重于找到一堆属性相似的目标,从而忽略了目标与目标之间的联系。但是,两者也不是完全独立的,比如说当顶点属性未知时,就可以通过将顶点之间的关系构成邻接矩阵的方式,即用聚类的方式来完成社团检测。[3]

 

2.1.2 社团检测及其应用

社团检测(community detection,又译作社区发现)顾名思义,指的就是从网络中找出关联紧密的顶点。这里的问题在于如何定义“关联紧密”。通过查资料得知有三种主要的度量方法:基于成对计数,取决于两种划分X,YX,Y中将顶点对划分在同一个社团的顶点对的数量;基于聚类匹配,找出不同划分中社团的重叠性;基于信息论,根据香农信息熵理论进行计算不同划分之间的相关性。[4]

社团检测在各个领域都有应用价值:在社交软件开发领域,社团检测可以用于挖掘用户之间的潜在关系;在生物研究领域,可以用于检测蛋白质复合体的结构;即使是对于真实的互联网,社团检测也可以用于挖掘相关的网站。[5]在当今的大数据时代,面对如此庞大的网络,能够在其中进行有效的社团检测就等于抓住了先机。

 

2.2 问题描述

        

         目前,社团检测主要面临的问题除了数据量、网络的极速扩大之外,还有就是本文主要探讨的重叠(overlap)现象。重叠指的是同一个顶点同时与两个以上的顶点群体关系紧密,即同属于多个社团。同样拿社交关系来类比,就相当于一个人可以加入多个现实中的社团。根据重叠部分的顶点数量以及与其他顶点的联系,我们可以判断其重叠的稠密程度,并用图像来表示这些社团之间的重叠情况:

         显然,这些重叠的部分对于社团检测来说并不利。大多数的社团检测方法只适用于将一个顶点归类到一个社团之中,因此面对重叠社团时就容易出现偏差,或是结果不准确。要想对这些重叠的顶点进行有效的检测,就需要针对重叠社团的情况开发专门的新方法。

 

2.3 现有方法比较

         我查到了一些在新的社团检测方法提出之前(2013年),已有的社团检测方法:

 

2.3.1 LOUVAIN

         基于模块度(Modularity)的社团检测算法,其中模块度指的是社区内紧密程度的值Q。该算法较为简单,且不需要监督,运行速度也较快。缺陷则在于缺乏监督导致的难以评判聚类效果的好坏。[6]该算法也没有对重叠社团问题进行解决。

 

2.3.2 Infomap

         基于信息论的算法,使用随机游走作为网络上信息传播的代理,网络上的随机游走会产生相应的数据流。随机游走产生的信息量使用平均一步随机游走产生的码字长度衡量,即平均码字长度。[7]该算法思路较为创新,效果也比较好。而且该算法的改进型也可用于重叠社团检测,不过我没有查到更多的资料。

 

2.3.3 GCE

         贪婪小团体扩展(Greedy Clique Expansion,GCE):识别不同的小团体作为种子,通过优化本地适应性函数贪婪扩展这些种子。该算法是LFK算法的改进,解决了LFK对于某些特殊种子循环扩充而无法停止的问题。该算法可用于进行重叠社团检测,改进方式为根据经验来设定a因子以及引入并行计算来加快运行速度等。[8]

 

2.3.4 Clique

         CLIQUE算法是一种基于网格的聚类算法,用于发现子空间中基于密度的簇。该算法首先判断是不是密集网格,如果是密集网格。那么对其相邻的网格进行遍历,看是否是密集网格,如果是的话,那么属于

  • 13
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值