430 likes | 596 Views
复杂网络中社团检测调研报告 指导老师:刘玉华 教授 学生:胡芳 2014.1.12. 报告大纲 一、复杂网络中社团的概念 二、社团划分的相关工作 三、社团划分的几种经典算法 四、真实网络中几种典型的社团模型 五、蚁群算法在社团应用中深入研究 六、总结. 一、复杂网络中社团的概念. 一个复杂的网络通常表示为一个无向图G(V , E),其中V是节点集(或顶点)和E是边集(或链接) 。
E N D
复杂网络中社团检测调研报告 指导老师:刘玉华 教授 学生:胡芳 2014.1.12
报告大纲 一、复杂网络中社团的概念 二、社团划分的相关工作 三、社团划分的几种经典算法 四、真实网络中几种典型的社团模型 五、蚁群算法在社团应用中深入研究 六、总结
一、复杂网络中社团的概念 • 一个复杂的网络通常表示为一个无向图G(V , E),其中V是节点集(或顶点)和E是边集(或链接) 。 • 社团检测在复杂的网络本质上是一个聚类问题,这着重于检测密集连接的子图G1,G2 …… Gk,在G,其中G1,G2 …… Gk满足∪1≤i≤k Gi = G和∩ 1 ≤I ≤K Gi = ∅ 。 • 直观地说,如果一个分区具有属性,在社团内部连接密集和社团之间连接稀疏,这将被称为一个良好定义的聚类结果。
报告大纲 一、复杂网络中社团的概念 二、社团划分的相关工作 三、社团划分的几种经典算法 四、真实网络中几种典型的社团模型 五、蚁群算法在社团应用中深入研究 六、总结
二、社团划分的相关工作(1/5) • 在过去的十年中,社团发现的问题备受关注各种科学领域,包括物理学,社会学和计算机科学。许多采用不同的策略方法已经被提出和成功应用到一些具体的复杂网络。 • 例如,Girvan和Newman提出GN算法,这是一种方法利用有关边介信息检测社团结构[1]。随后,Newman在Q函数的基础上提出了一种快速算法用于检测社团结构[2]。 • 基于q-states的Potts模型,Reichardt和Bornholdt提出了一个社团的快速检测算法,该算法可以在没有预先知道社团数目的情况下检测重叠社团 [3]。
二、社团划分的相关工作(2/5) • 通过基于网络模块化矩阵的特征向量的手段,Newman提出了谱算法的社团检测,在更短的运行时间获取比其他竞争方法更高质量的检测[4]。 • Radicchi等人给社团的两轮量化定义并提出了一种局部算法来检测社团,它可以有效地处理大规模网络[5]。Gergely等人用集团渗透的方法,以确定在复杂网络的密集连通子图[6]。 • Frey等人用亲和力传播来传递消息,并通过反复地划分数据点到来得出集群的典范[7]。 Yang等人开发出一种新算法(FEC),该算法基于代理的社团随机行走模型,从有标志的社会网络中识别社团[8]。
二、社团划分的相关工作 (3/5) • 2012年,Faqeeh等提出了一种新的算法(称为FA),其中所采用的成块矩阵的特征向量来构造一个“投影空间”和使用某种在这个空间角距离来定义边界线,然后应用这个交界性和层次聚类方法来确定的复杂网络的社团结构[9]。 • Gong等人提出改进的Memetic算法(称为iMeme-Net),用来解决网络社团检测问题,结合标签传播(PGLP)战术,精英策略(ES),以及改进的模拟退火算法,并结合本地搜索(ISACLS)策略进行算法的设计[10]。
二、社团划分的相关工作 (4/5) • Pizzuti提出了一种新的算法通过采用遗传算法(GA命名-NET)[11]发现在网络社区。该方法引入社团得分的概念来衡量一个网络社团一个分区的质量,并试图通过运行遗传算法来优化这个量。 • Liu等人提出了一种基于蚁群聚类模型,它采用的移动,拾取和下降式运营在电子邮件网络中进行节点群集 [12]。 • 为了降低聚类计算成本,又不降低结果的质量。Sadi等人使用蚁群优化( ant colony optimization ,ACO)技术来在网络查找派系和分配这些派系为元结点,然后采用传统的算法来找到 社团成员[13]。
二、社团划分的相关工作(5/5) • 为了进一步优化方法,作者随后使用了滚雪球抽样的方法来生成子图,并行运行基于社团发现技术的ACO算法[14]。 • Zhang等人采取Q函数为目标函数,提出了一种动态社会网络中的社团挖掘方法,它使用了聚类中心的初始化,信息素更新和启发函数的指导战略,以实现集群解决方案[15]。 • 在参考文献[16]中,Jin等人提出了一个名为ACOMRW的蚁群优化算法,其基本思想是逐步加强社团内的联系和逐渐减弱社团之间的联系。在每次迭代中,一个马尔可夫随机游走模型被蚂蚁(应该指蚂蚁优化算法)作为启发式规则,所有蚂蚁的局部解决方案,通过聚类集成,然后用于更新信息素矩阵聚合到一个全局的解决方案中。并逐渐收敛到一个解决方案,复杂网络的基本社会结构将变得清晰可见。
报告大纲 一、复杂网络中社团的概念 二、社团划分的相关工作 三、社团划分的几种经典算法 四、真实网络中几种典型的社团模型 五、蚁群算法在社团应用中深入研究 六、总结
三、社团划分的几种经典算法 (1/13) 1、GN 算法 2、Kernighan- Lin 算法 3、基于Laplace 图特征值的谱二分法 4、FCM算法 5、验证算法准确性参数与概念定义
三、社团划分的几种经典算法 (2/13) 1、GN 算法 GN 算法是一种分裂方法[17]。其基本思想是不断的从网络中移除介数(betweenness)最大的边。边介数定义为网络中经过每条边的最短路径的数目。具体算法如下: (1)计算网络中所有边的介数; (2)移除介数最高的边; (3)重新计算所有受影响的边的介数; (4)重复步骤(2),直到每个节点就是一个退化社团为止。
三、社团划分的几种经典算法 (3/13) 1、GN 算法 假设一个图的节点数为n,边数为m,广度优先搜索和遍历树的所有边为其赋值这两个过程在最差情况下的算法复杂度均为O(m),而整个网络节点数为n,因此计算边介数的整个算法的复杂度为O(mn),基于最短路径介数的网络社团结构的完整算法的复杂度为O(m2n)。对于稀疏网络,该算法复杂度为O(n3)。
三、社团划分的几种经典算法 (4/13) 1、GN 算法 GN算法弥补了一些传统算法的不足,近几年来已成为社团结构分析的一种标准算法[18-20]。但是GN算法存在一个缺陷,即它对于网络的社团结构并没有一个量的定义。因此,不能直接从网络的拓扑结构判断它所求得的社团结构是否具有实际意义。此外,在不知道社团数目的情况下,GN算法也不知道这种分解要进行到哪一步终止。 该算法的耗时仍然比较大,为O(n3),因此它仅仅适用于中等规模的网络(n=1000以下)。
三、社团划分的几种经典算法 (5/13) 2、Kernighan- Lin 算法 Kernighan- Lin 算法是一种试探优化法[21]。它是一种利用贪婪算法将复杂网络划分为两个社团的二分法。该算法引入增益值P,并将P 定义两个社团内部的边数减去连接两个社团之间的边数,然后再寻找使P值最大的划分方法。 整个算法可描述如下: 首先,将网络中的节点随机地划分为已知大小的两个社团。在此基础上,考虑所有可能的节点对,其中每个节点对的节点分别来自两个社团。对每个节点对,计算如果交换这两个节点可能得到的P 的增益ΔP=P 交换后- P 交换前,然后交换最大的ΔP 对应的节点对,同时记录交换以后的P 值。规定每个节点只能交换一次。重复这个交换过程,直到某个社团内所有的节点都被交换一次为止。
三、社团划分的几种经典算法 (6/13) 2、Kernighan- Lin 算法 需要注意的是,在节点对交换的过程中,P 值并不一定是单调增加的。不过,即使某一步的交换会使P 值有所下降,仍然可能在其后的步骤中出现一个更大的P 值。当交换完毕后,便找到上述交换过程中所记录的最大的P 值。这时对应的社团结构就认为是该网络实际的社团结构。 缺点:Kernighan-lin算法要求必须事先知道该网络的两个社团带大小分别是多少,否则,就很可能不会得到正确的结果。
三、社团划分的几种经典算法 (7/13) 3、基于Laplace 图特征值的谱二分法 该算法利用网络结构的Laplace 矩阵中不为0 的特征值所对应的特征向量和同一个社区内的节点对应的元素近似值相等的原理对网络社区进行划分。该算法过程如下: 设图G 是一个具有n 个节点的无向图,G 的Laplace 矩阵L 是一个n×n 的对称矩阵。L 的对角线元素Lii是节点i 的度,非对角线元素Lij 表示节点i 和节点j 的连接关系,当节点i 和节点j 之间有边连接时,则Lij = - 1,否则Lij = 0。容易验证,L 的每一行的和以及每一列的和均为0,因而,向量I=(1,1,l,…,1)' 是L 相应于特征值0 的特征向量。
三、社团划分的几种经典算法 (8/13) 3、基于Laplace 图特征值的谱二分法 如果图G 可以被分解成g 个互不重叠、互不相连的子图Gk,则其Laplace 矩阵L 就是一个分成g 块的对角矩阵块,每个对角矩阵块就是相应的分支子图的Laplace 矩阵。显然,此时L 存在g 个与特征值0 对应的特征向量v(k),k=1,2,…,g,当节点i 属于该社团时,vi(k)=1,否则vi(k)=0。如果图G 可以被分解成g 个子图,但子图之间存在少量连接时,其相应的Laplace 矩阵L 就不再是一个分成g 块的对角阵。此时,对应0 这个特征值就只有一个特征向量I。但是,在0 的附近还有g- 1 个比0 稍大的特征值,并且这g- 1 个特征值相应的特征向量可以近似地看成上述特征向量v(k)的线性组合。因此,从理论上来说,只要找到Laplace 矩阵中比0 稍大的那些特征值,并且对其特征向量进行线性组合,就可以近似的得到这些子图[22]。
三、社团划分的几种经典算法 (9/13) 3、基于Laplace 图特征值的谱二分法 考虑一个例子,即将图G 分割成2 个子图。由于对称矩阵的任意两个2 个特征值所对应的特征向量相互正交,因此Laplace 矩阵L 的任意对应于非0 特征值的特征向量均正交于向量I=(1,1,l,…,1)',从而所有非0 特征值的特征向量必须具有正分量和负分量。如果图G 可以分解为2 个子图使得这2 个子图之间仅存在很少的连接,则必存在一个特征向量,其特征值近似于0;该特征向量的正分量对应于一个子图,负分量对应于另一个子图。因此,可以通过观察最小非0 特征值所对应的特征向量,根据特征值元素的正负将一个网络分解成2 个社区,该方法称为谱二分法[23-24]。
三、社团划分的几种经典算法 (10/13) 3、基于Laplace 图特征值的谱二分法 当网络的确是近似地分成两个社团时,用谱平分法可以得到非常好的效果,但是,当网络不满足这个条件时,谱平分法的优点就不能得到充分的体现。 缺点:谱平分法最大的缺陷是它每次只能将网络平分。如果要将一个网络分成两个以上的社团,就必须对子社团多次重复该算法。
三、社团划分的几种经典算法 (11/13) 4、FCM算法 模糊聚类分析(FCM)是依据客观事物间的特征、亲疏程度或相似性,通过建立模糊相似关系对客观事物进行分类的方法。由于模糊聚类考虑到了样本属于各个类别的不确定性,得到了样本属于各个类别的不确定性程度,能够对类间样本有重叠的数据集进行分类,并且具有良好的收敛性,更能客观地反映现实世界。因此应用十分广泛。现实中应用最广泛的是基于目标函数的聚类,该方法设计简单,应用范围广泛,可以转化为最优化问题求解。
三、社团划分的几种经典算法 (12/13) 5、验证算法准确性参数与概念定义 (1)模块度函数 所有的网络社团结构划分算法都需要一个评价准则来判断划分得到的社团结构的合理性和有效性。因此,2004年,Newman 和Girvan提出了网络模块性(modularity)评价函数(Q函数)。Q 函数定义为社团内实际连接数目与随机连接情况下社团内期望连接数目之差,用来定量地刻画网络簇结构的优劣,一种计算形式如下: 其中,K 表示网络社团个数,m 表示网络连接总数,ms表示社团s 中的连接总数,ds表示网络簇s 中节点度之和。
三、社团划分的几种经典算法(13/13) 5、验证算法准确性参数与概念定义 (2)社团连接密度 社团连接密度指社团内连接总数与网络连接总数的比值。 其中,K 表示网络社团个数,m 表示网络连接总数,ms表示社团s 中的连接总数。
报告大纲 一、复杂网络中社团的概念 二、社团划分的相关工作 三、社团划分的几种经典算法 四、真实网络中几种典型的社团模型 五、蚁群算法在社团应用中深入研究 六、总结
四、真实网络中几种 典型的社团模型(1/3) 1、空手道俱乐部[25] 空手道俱乐部网络是由扎卡里[25]构建,它有一个空手道俱乐部的34名成员为节点和78个边代表成员之间的友谊友谊的网络。由于领导层的问题,俱乐部分裂成两个不同的群体。
四、真实网络中几种 典型的社团模型(2/3) 2、宽吻海豚网络[26] 宽吻海豚网络是宽吻海豚生活在神奇峡湾和新西兰的社团,它由Lusseau花费7年[26]从观察海豚的行为而编制的。网络由62海豚组成,边代表两次海豚经常见面。网络被自然分成两个大组,节点之间的边的数目是159。
四、真实网络中几种 典型的社团模型(3/3) 3、美国大学橄榄球网络[1] 美国大学橄榄球网络[1]来自美国大学橄榄球。网络代表了分部I的游戏在2000赛季的日程安排。节点代表球队,边表示两支球队之间常规赛比赛。球队被分成12社团,同一社团内的比赛场次要高于社团之间的比赛场次。该网络由115个节点,616边分组在12个社团。
报告大纲 一、复杂网络中社团的概念 二、社团划分的相关工作 三、社团划分的几种经典算法 四、真实网络中几种典型的社团模型 五、蚁群算法在社团应用中深入研究 六、总结
五、蚁群算法在社团应用中的 深入研究(1/7) 结合适应性预测函数(Fitness perception function)和信息扩散模型(pheromone diffusion model)的蚁群聚类(ant colony clustering)算法在社团检测中的应用分析。 该算法思想是根据蚁群居住的特点,模拟蚂蚁向适合自己生活特点的社团移动的过程。初始化时,所有的蚂蚁(节点)随机放置在一个二维虚拟网格中;在演化进行过程中,每只蚂蚁(节点)根据适合性预测函数预测当前的环境决定每次迭代的运动----移动到下一个更合适的位置还是静止不动;在每次迭代过程中,利用信息扩散模型来记录蚂蚁移动更新的相关信息 ;演化过程不断 重复,直到所有的蚂蚁找到自己适合的位置为止;最后,在二维虚拟网格中形成清晰的社团结构。
五、蚁群算法在社团应用中的 深入研究(2/7) (1)适应性预测函数(Fitness perception function) 蚂蚁的两种行为:当一只蚂蚁在不合适的位置上,它将被激活,然后寻找并移动到更合适的位置;当一只蚂蚁对当前的位置满意,则继续睡眠,不会移动。因此,对环境的预测能力对蚂蚁移动而言至关重要,适应性预测函数用来进行预测能力的衡量: 其中,A代表节点i的邻接矩阵,|A|表示A中节点的个数,表示节点i与节点j之间的距离。
五、蚁群算法在社团应用中的 深入研究(3/7) (2)信息扩散模型(Pheromone diffusion model) 为了计算节点的信息强度在扩散领域内,一个圆锥体模型被应用作为模拟的信息扩散模型。 其中,节点k表示信息的喷泉,r表示扩散区域的半径,节点j位于扩散区域, 表示k与j之间的距离, 表示在时间t时刻节点k上的聚合密度,该模型表示越靠近k位置,节点所受的场力越大。
五、蚁群算法在社团应用中的 深入研究(4/7) (3)算法伪代码
五、蚁群算法在社团应用中的 深入研究(5/7) (4)算法划分社团结果 a. The Zachary’s Karate Club network
五、蚁群算法在社团应用中的 深入研究(6/7) (4)算法划分社团结果 b. The Bottlenose Dolphin network
五、蚁群算法在社团应用中的 深入研究(7/7) (4)算法划分社团结果 c、The American College Football network
报告大纲 一、复杂网络中社团的概念 二、社团划分的相关工作 三、社团划分的几种经典算法 四、真实网络中几种典型的社团模型 五、蚁群算法在社团应用中深入研究 六、总结
六、总结 复杂中社团检测问题能够揭示节点之间的未知关系,并且能够提供未知节点的有用信息。然而如何精确地预测社团结构仍然是一个极具挑战的问题,如何对已知的社团划分算法进行优化,或者是运用新的算法,目的都是为了对社团进行更为高效和精确的划分,这些都是需要进一步深入研究的问题。
参考文献(1/5) [1] M. Girvan, M.E.J. Newman, Community structure in social and biological networks, Proceedings of the National Academy of Science 99 (12) (2002) 7821–7826. [2] M.E.J. Newman, Fast algorithm for detecting community structure in networks, Physical Review E 69 (6) (2004) 066133. [3] J. Reichardt, S. Bornholdt, Detecting fuzzy community structures in complex networks with a Potts model, Physical Review Letters 93 (21) (2004) 218701. [4] M.E.J. Newman, Modularity and community structure in networks, Proceedings of the National Academy of Science 103 (23) (2006) 8577–8582. [5] F. Radicchi, C. Castellano, F. Cecconi, V. Loreto, D. Parisi, Defining and identifying communities in networks, Proceedings of the National Academy of Science 101 (9) (2004) 2658–2663. [6] G. Palla, I. Derényi, I. Farkas, T. Vicsek, Uncovering the overlapping community structure of complex networks in nature and society, Nature 435 (7043) (2005) 814–818.
参考文献(2/5) [7] B.J. Frey, D. Dueck, Clustering by passing messages between data points, Science 315 (5814) (2007) 972–976. [8] B, Yang, W.K. Cheung, J.M. Liu, Community mining from signed social networks, IEEE Transactions on Knowledge and Data Engineering 19 (10) (2007)1333–1348. [9] A. Faqeeh, K.A. Samani, Community detection based on the ‘‘clumpiness’’ matrix in complex networks, Physica A 391 (7) (2012) 2463–2474. [10] M.G. Gong, Q. Cai, Y.Y. Li, J.J. Ma, An improved memetic algorithm for community detection in complex networks, in: IEEE World Congress on Computational Intelligence, Brisbane, Australia, 2012, pp. 1–8. [11] C. Pizzuti, GA-Net: a genetic algorithm for community detection in social networks, in: The 10th International Conference on Parallel Problem Solving from Nature, Dortmund, Germany, 2008, pp. 1081–1090. [12] Y. Liu, J.Y. Luo, H.J. Yang, L. Liu, Finding closely communicating community based on ant colony clustering model, in: The 2010 International Conference on Artificial Intelligence and Computational Intelligence, Sanya, China, 2010, pp. 127–131.
参考文献(3/5) [13] S. Sadi, Ş. Etaner-Uyar, Ş. Gündüz-Öğüdücü, Community detection using ant colony optimization techniques, in: The 15th International Conference on Soft Computing, Brno, Czech Republic, 2009, pp. 206–213. [14] S. Sadi, Ş. Öğüdücü, A.Ş. Uyar, An efficient community detection method using parallel clique-finding ants, in: The 2010 IEEE World Congress on Computational Intelligence, Barcelona, Spain, 2010, pp. 1–7. [15] N. Zhang, Z. Wang, Community mining in dynamic social networks-clustering based improved ant colony algorithm, in: The 6th International Conference on Computer Science & Education, SuperStar Virgo, Singapore, 2011, pp. 472–476. [16] D. Jin, D.Y. Liu, B. Yang, C. Baquero, D.X. He, Ant colony optimization with markov random walk for community detection in graphs, in: The 15th Pacific-Asia Conference on Knowledge Discovery and Data Mining, Shenzhen, China, 2011, pp. 123–134.
参考文献(4/5) [17] Girvan M, Newman MEJ. Community structure in social and biological networks [C]. Proc. Natl. Acad. Sci,2002,9(12):7821- 7826. [18]Wildinson D, Huberman B A. A method for finding communities of related genes. Proc Natl Acad Sci USA, 2004, 11: 5241~5248. [19]Tyler J, Wilkinson D, Huberman B. Email as spectroscopy: Automated discovery of community structure within organizations. International Conference on Communities and Technologies, 2003, 81~96. [20]Arenas A, Danon L, Diaz-Guilera A, Gleiser PM, Guimera R. Community analysis in social networks. Eur. Phys. J. B, 2004,38:373~380. [21] Kernighan BW, Lin S. A efficent heuristic procedure for partitioning graphs[J]. Bell SystemTechnical Journal, 1970,49(2):291- 307. [22] Newman M E J. Detecting Community Structure in Networks [J]. Eur. Phys.J.B., 2004, 38(2):321- 330.
参考文献(5/5) [23] Fildler M. Algebraic Connectivity of Graphs[J]. Czech Math J. 1973, 23 (98): 298- 305. [24] Phothen A, Simon H. Partitioning Sparse Matrices with Eigenvectors of Graphs[J]. SIAMJ. MatrixAnal. Appl., 1990, 11 (3):430- 452. [25] W.W. Zachary, An information flow model for conflict and fission in small groups, Journal of Anthropological Research 33 (4) (1977) 452–473. [26] D. Lusseau, K. Schneider, O.J. Boisseau, P. Haase, E. Slooten, S.M. Dawson, The bottlenose dolphin community of doubtful sound features a large proportion of long-lasting associations, Behavioral Ecology Sociobiology 54 (4) (2003) 396–405.