社区发现算法-局部拓展

简介

    局部拓展的方法是社区发现中的一大类方法,并且现在也比较活跃。这些方法的一个基本的假设就是社区是围绕着一些中心结点形成的,它们一般都是向当前社区中添加或删除节点来优化一个函数。

LFM算法

什么是社区

    LFM算法首先定义出可以衡量一组结点连接紧密程度的函数,fitness。
它的定义如下:

其中k_in表示这些结点内部的度数,也就是内部边的2倍;k_out表示与外部结点相连的度数。那么,一个社区由一组能够使fitness函数最大的结点组成,也就是再向这个社区中添加任何邻居结点都会使fitness减小。而一个结点对于这个社区的fitness定义如为包含这个结点的社区的fitness-不包含这个结点的社区的fitness差值:

下图中,蓝色和绿色的结点构成社区,而红色的结点对于这个社区的fitness都为负。

算法过程

    LFM算法由两个步骤构成,选取种子和拓展种子。它随机地选择一个还没有被分配社区的结点作为种子,通过优化fitness函数的方法拓展它以形成一个社区。迭代这两步直到所有结点都属于至少一个社区为止。由于在拓展社区的时候,即使已经被分配社区的结点也可能被添加进来,所以LFM算法是可以发现重叠社区的。

算法实现

一点心得

    LFM算法过程很易于理解,但是由于随机选择种子,导致它其实很不稳定。

GCE算法

    GCE与LFM基本只是选取种子不同,GCE选取最大团来最为种子结点,最后需要融合一下相似的社区,因为一些团结构很相似。

参考文献

  1. LFM: Detecting the overlapping and hierarchical community structure in complex networks
  2. GCE: Detecting Highly Overlapping Community Structure by Greedy Clique Expansion
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 第一章 绪论 什么是数据结构? 数据结构的定义:数据结构是相互之间存在一种或多种特定关系的数据元素的集合。 第二章...
    SeanCheney阅读 11,126评论 0 19
  • 数据 元素又称为元素、结点、记录是数据的基本单位 数据项是具有独立含义的最小标识单位 数据的逻辑结构 数据的逻辑结...
    PPPeg阅读 14,677评论 0 15
  • 作为一个仅2.5岁的产品经理,来谈谈我是如何招产品助理的。 为什么需要一个产品助理?随着公司业务发展,产品新增了很...
    叶_XIN阅读 7,934评论 5 27
  • 这是唐弢27岁时写给青年们具有普及性的课外读物,读完,真真让我这个已近不惑之年的高中语文老师汗颜不已啊! 唐先...
    冰蓝色的太阳阅读 4,481评论 0 0
  • 今天花三个小时读完彭小六的《让未来现在就来》,这可能是目前耗时最少的一本书,书中介绍了在互联网时代如何高效学...
    华华如画阅读 1,814评论 0 0

友情链接更多精彩内容