社区发现研究现状(一)

        社区发现源于计算机科学中的图形分割与社会学中的分级聚类问题。图形分割的一个实例就是集成电路板布线问题,每个组件是一个节点,有联系的两个组件之间存在一条边,要将所有组件分布在若干个电路板。由于不同电路板之间的连接相比于一块电路板内部的连接成本高的多,现在问题就是如何分配所有节点使得总成本最低。一般来说,找到这类分割问题的精确解是一个NP难题,当图的规模很大时不存在有效的精确解法。对此,著名的Kernighan-Lin算法在[4]中被提出,它引入了网络划分的一个增益函数Q,定义为两个社区内部的边数减去连接两个社区之间的边数,然后根据贪婪原理寻找使Q值最大的划分方法。之后,Dutt在[5]中对该算法进行了时间复杂度上的改进,主要针对其在每一个pass中寻找使得增益最大的节点对这个过程进行优化。谱平分法[6]是另一重要算法,它的基本思想是根据网络的Laplace矩阵的第二小的特征值将其分为两个社区,但只有在网络的确近似分成两个社区时,谱平分法才可以得到非常好的效果。文献[7]对其改进,使得可用于多个社区的划分,而文献[8]克服了需要预先指定社区数的这一缺陷。分级聚类是基于各个节点之间连接的相似性或者强度,把网络自然地划分为各个子群,主要分为两大类:凝聚方法和分裂方法。GN算法[2]就是一种分裂算法,其基本思想是,不断移除介数最大的边使得网络分解为各个子图即社区。但GN算法不知道分解到何时为止,为了解决这个问题,Newman等人提出了模块度来衡量社区划分的质量[9]。由于给出了定量化的衡量标准,把模块度作为目标函数,很自然地将分级聚类问题转化为最优化问题。快速Newman算法[10]就是最早运用该思想的,其本质是基于贪婪思想的一种凝聚算法,起始将所有节点看作不同的社区,每一步进行两两社区合并且使得模块度最优化。上述所有算法都是硬聚类,将每个节点划分为唯一的社区。但由于社区在不同应用背景下的区别,大部分场景下的社区存在重叠,能挖掘出重叠社区的算法称之为软聚类算法。Palla等人[11]首次提出重叠社区思想,运用派系过滤算法侦测网络中的k-派系来发现重叠社区结构。

        随着网络规模的急剧膨胀,原有的算法无法再有效地运用。Du N等人[12]给出适用于大规模网络的社区发现算法,提出社区核(Community Kernels)的概念。如图2所示,两种颜色代表两个社区,其中右边虚线圈中的用户就是所在社区的核,核的内部连接紧密并且有大量其他节点与他们连接。运用派系过滤算法找出网络中的派系,在此基础上找出社区核集合,调整该集合使其无重叠,再将剩余节点归结到最近的社区核,从而完成所有的社区发现。Wang L等人[13]也有类似的思想,将社区分为社区核和附属社区两部分,优化了社区核的侦测环节,首先给出了GREEDY算法,但忽略了社区核和附属社区之间相连的信息,于是给出了改进的基于成对松弛的启发式WEBA算法。

        社交平台的高度流行极大丰富了用户数据,用户在平台中会填写大量的个人信息,这使得节点带属性的社会网络研究成为可能。以往的社区发现仅仅考虑了网络拓扑结构,而用户属性对其社区归属也是影响巨大的,带属性网络中的社区不仅内部连接相比于社区之间连接更加紧密,并且内部节点属性大致相同。Steinhaeuser等人[14]将节点属性作为计算节点间相似度的标准之一。Zhou Y等人[15]首先将带属性的图处理为“属性增强图”,方法是把所有节点可能拥有的每个属性看作单个虚拟节点,节点拥有某个属性则增加一条边到相应虚拟节点。对于新的图,依据邻居随机游走距离给出任意两节点之间的距离度量,用K-Medoids算法进行聚类。

        人际关系的复杂性决定了社会网络的动态变化性,因此动态网络中的社区的演化也是研究的热点。Bródka等人[16, 17]以时间社交网络为研究对象,定义了两个社区之间的包含度以及节点重要度,提出GED算法来推算社区的7种变化:形成、扩展、分裂、收缩、合并、分解和保持不变。

        对于异构网络LBSN中的社区发现,是目前以及将来研究的一大热点。Brown等人[18]认为LBSN中社区概念:同一社区的用户在线下更有可能居住相近位置,通过用户签到记录计算用户之间交互程度,移除交互程度小的边,从而得到社区。Wang Z等人[19]将用户的签到记录看作用户的属性,从中抽取了5个特征用于衡量用户之间的相似性,再对聚类算法K-means适当修改发现社区,同时也提出边分割算法处理噪声数据,如那些偶尔的签到记录。

[1]      http://zh.wikipedia.org/wiki/社区

[2]      Girvan M, Newman M E J. Community structure insocial and biological networks[J]. Proceedings of the National Academy ofSciences, 2002, 99(12): 7821-7826.

[3]      Fortunato S, Castellano C. Community structurein graphs[M]. Computational Complexity. Springer New York, 2012: 490-512.

[4]     B. W. Kernighan and S. Lin, “Anefficient heuristic procedure for partitioning graphs", Bell System Tech. Journal, vol. 49, Feb. 1970, pp. 291-307.

[5]     Dutt S.New faster kernighan-lin-type graph-partitioning algorithms[C]. Computer-AidedDesign, 1993. ICCAD-93. Digest of Technical Papers. 1993 IEEE/ACM InternationalConference on. IEEE, 1993: 370-377.

[6]     Pothen A,Simon H D, Liou K P. Partitioning sparse matrices with eigenvectors ofgraphs[J]. SIAM Journal on Matrix Analysis and Applications, 1990, 11(3):430-452.

[7]     Wu F,Huberman B A. Finding communities in linear time: a physics approach[J]. TheEuropean Physical Journal B-Condensed Matter and Complex Systems, 2004, 38(2):331-338.

[8]     CapocciA, Servedio V D P, Caldarelli G, et al. Detecting communities in largenetworks[J]. Physica A: Statistical Mechanics and its Applications, 2005,352(2): 669-676.

[9]     Newman ME J, Girvan M. Finding and evaluating community structure in networks[J].Physical review E, 2004, 69(2): 026113.

[10]  Newman M E J. Fast algorithm for detectingcommunity structure in networks[J]. Physical review E, 2004, 69(6): 066133.

[11]  Palla G, Derényi I, Farkas I, et al. Uncoveringthe overlapping community structure of complex networks in nature andsociety[J]. Nature, 2005, 435(7043): 814-818.

[12]  Du N, Wu B, Pei X, et al. Community detectionin large-scale social networks[C]. Proceedings of the 9th WebKDD and 1stSNA-KDD 2007 workshop on Web mining and social network analysis. ACM, 2007:16-25.

[13]  Wang L, Lou T, Tang J, et al. Detectingcommunity kernels in large social networks[C]. Data Mining (ICDM), 2011 IEEE11th International Conference on. IEEE, 2011: 784-793.

[14]  Steinhaeuser K, Chawla N V. Community detectionin a large real-world social network[M]. Social Computing, Behavioral Modeling,and Prediction. Springer US, 2008: 168-175.

[15]  Zhou Y, Cheng H, Yu J X. Graph clustering basedon structural/attribute similarities[J]. Proceedings of the VLDB Endowment,2009, 2(1): 718-729.

[16] BródkaP, Saganowski S, Kazienko P. Group evolution discovery in social networks[C]. Advancesin Social Networks Analysis and Mining (ASONAM), 2011 International Conferenceon. IEEE, 2011: 247-253.

[17]  Bródka P, Saganowski S, Kazienko P. GED: the method forgroup evolution discovery in social networks[J]. Social Network Analysis andMining, 2013: 1-14.

[18]  Brown C, Nicosia V, Scellato S, et al.The importance of being placefriends: discovering location-focused onlinecommunities[C]. Proceedings of the 2012 ACM workshop on Workshop on onlinesocial networks. ACM, 2012: 31-36.

[19]  Wang Z, Zhou X, Zhang D, et al. Cross-domaincommunity detection in heterogeneous social networks[J]. Personal andUbiquitous Computing, 1-15.


你可能感兴趣的:(社区发现)