文章目录

  • Community detection:团伙挖掘/社团发现
  • Modularity:模块度
    • 模块度增益
  • Louvain算法

Community detection:团伙挖掘/社团发现

利用图拓扑结构中蕴藏的信息,从复杂网络中解析出存在密切联系的节点(团伙)。

Modularity:模块度

度量社区划分优劣的指标,直观上表示某社团划分状态下,社团内部连边数量与该划分下随机连边数量的差值。
计算公式如下:
Q=12m∑i,j[Aij−kikj2m]δ(ci,cj)=12m∑i,jAijδ(ci,cj)−∑i,jkikj2mδ(ci,cj)Q=\frac{1}{2m}\sum_{i,j}[A_{ij}-\frac{k_ik_j}{2m}]\delta(c_i,c_j)=\frac{1}{2m}\sum_{i,j}A_{ij}\delta(c_i,c_j)-\sum_{i,j}\frac{k_ik_j}{2m}\delta(c_i,c_j)Q=2m1​i,j∑​[Aij​−2mki​kj​​]δ(ci​,cj​)=2m1​i,j∑​Aij​δ(ci​,cj​)−i,j∑​2mki​kj​​δ(ci​,cj​)
δ(ci,cj)\delta(c_i,c_j)δ(ci​,cj​):i, j在同一社团内部取1,否则取0

∑i,jAijδ(ci,cj)\sum_{i,j}A_{ij}\delta(c_i,c_j)∑i,j​Aij​δ(ci​,cj​):社团内部连边数量之和

kj2mδ(ci,cj)\frac{k_j}{2m}\delta(c_i,c_j)2mkj​​δ(ci​,cj​):社团内部随机连边,连到节点j 的概率,kikj2mδ(ci,cj)\frac{k_ik_j}{2m}\delta(c_i,c_j)2mki​kj​​δ(ci​,cj​):随机连边,i, j之间连接的边数,∑i,jkikj2mδ(ci,cj)\sum_{i,j}\frac{k_ik_j}{2m}\delta(c_i,c_j)∑i,j​2mki​kj​​δ(ci​,cj​):随机连边,社团内部连边总数

因此,两项差值越大,证明社团内部联系相对越紧密,社团划分的效果越好。

注:分母是2m而非m的原因:知乎_无向图louvain讲解

模块度增益

ΔQ=Q′−(Qi+Q2)\Delta Q=Q'-(Q_i+Q_2)ΔQ=Q′−(Qi​+Q2​)

即合并后的社团模块度减去合并前两社团模块度之和

Louvain算法

遍历每一种社团划分方法显然是不现实的。
Louvain算法是一种启发式迭代算法:
1)将图中的每个节点看成一个独立的社区,社区的数目与节点个数相同;
2)对每个节点i,依次尝试把节点i分配到其每个邻居节点所在的社区,计算分配前与分配后的模块度变化Δ

Community detection|模块度含义理解|Louvain算法相关推荐

  1. 图算法(十三):Louvain算法【适用场景:用于社团发掘、层次化聚类等场景】【基于模块度的社区发现算法,其优化目标是最大化整个社区网络的模块度】

    一.概述 Louvain算法是基于模块度的社区发现算法,该算法在效率和效果上都表现较好,并且能够发现层次性的社区结构,其优化目标是最大化整个社区网络的模块度. 适用场景:Louvain算法适用于社团发 ...

  2. 基于模块度的社团检测算法

    一.CNM算法 该算法是基于贪婪算法思想的社团结构检测算法,该算法的计算复杂度为O(nlog2^22n),算法代码可以从网上搜到.CNM算法采用堆数据结构计算和更新模块度,具体描述如下: (1)初始化 ...

  3. 模块度计算python代码_转:模块度(Modularity)与Fast Newman算法讲解与代码实现

    一.背景介绍 Modularity(模块度), 这个概念是2003年一个叫Newman的人提出的.这个人先后发表了很多关于社区划分的论文,包括2002年发表的著名的Girvan-Newman(G-N) ...

  4. 模块度计算python代码_LPA算法C++实现及模块度计算

    前言 这学期开始看社团检测的东西,了解了一些经典算法.比如GN算法,BGLL算法(又叫Louvain, 因为该算法是作者在Louvain大学时提出的),LPA算法,等等. 我先看的LPA(毕竟算法思想 ...

  5. 除了基于模块度之外的其它社团检测算法

    一.模块度的局限性 (1)判断网络是否具有较强的社团结构一种方法是把一个给定网络与该网络相应的随机化模型做对比.通常做法是通过随机重连方式生成许多具有相同度序列的随机化网络,并计算这些网络的模块度的均 ...

  6. 基于主特征空间相似度计算的切分算法及切分框架

    摘要: 本文从切分的需求.作用.难点等方面谈起,介绍分析了目前主流的各种切分方法以及其优缺点,并介绍了一个新型的无监督切分方法,并在此基础上对切分在工程需求上进行了相应的分析和讨论,在最后在此算法基础 ...

  7. community 计算模块度_【转载】金融风控反欺诈之图算法

    随着量化宽松和经济复苏,商业银行消费金融进一步发展,在移动支付.大数据.人工智能等技术快速发展的背景下,消费金融领域开展了诸多创新,金融借贷业务发展迅速. 先介绍下金融借贷业务流程:用户前来申请借贷, ...

  8. louvain算法_单细胞聚类(四)图解Leiden算法对Louvain算法的优化

    Louvain算法是目前单细胞分析中最常用的聚类算法[1],Seurat/Scanpy/RaceID等单细胞分析工具都默认louvain算法.6天前HumanCell Atlas(HCA)团队发表在N ...

  9. Modularity的计算方法——社团检测中模块度计算公式详解(转)

    文章转自http://www.yalewoo.com/modularity_community_detection.html Modularity,中文称为模块度,是 Community Detect ...

最新文章

  1. JMS调用IBM MQ监听模式
  2. 二维动画作品_动画设计丨从设计到制作,你不知道的东西还有很多......
  3. lambda中使用filter过滤
  4. 【字节网盘】emlog版收录导航主题模板
  5. 非模块化jar的模块化转换
  6. 理想费米气体的量子统计推导
  7. 前端开发SEO搜索引擎优化方案
  8. python turtle画中国象棋_Python turtle绘画象棋棋盘
  9. 百度大脑车型识别使用攻略
  10. 连接多个内网的方法,想连多少个连多少个
  11. 谷歌翻译字数限制_如何始终在Google文档中显示字数统计
  12. PostgreSQL 执行计划与实际成本的偏差
  13. css设overflow:hiden行内元素会发生偏移的现象
  14. excel基础-固定某一列的输入内容
  15. signature=c4909c704a84f06fbd526ac646c599dd,각변위 방식을 이용한 캡슐의 오리엔테이션 측정 방법...
  16. JDBC批量插入sql-踩坑笔记
  17. 多系统引导启动盘“完美解决”方案——Ventoy工具
  18. 自制文件传输助手,实现数据安全备忘与跨平台传输(优化)
  19. 08蚂蚁-互联网安全架构——4.OAuth2.0
  20. outlook的archive pst丢失后

热门文章

  1. Ubuntu 16.04 安装GTX1080Ti驱动
  2. 定制centos一键自动化安装iso的详细解决方案
  3. 得物App数据模拟平台的探索和实践
  4. SNMP(简单网络管理协议)介绍
  5. 八 计算机组成与体系结构
  6. [OC学习笔记]头文件的引用
  7. lopatkin俄大神精简中文系统Microsoft Windows 10 Enterprise 14393.576 x86-x64 ZH-CN BONE
  8. Python识别验证码----谷歌reCapture 3*3验证码
  9. JAVA知识点:跳转语句
  10. java移动端开发教程视频_Java Web开发-项目部分(中国移动科技综合管理系统)视频教程 - JavaWeb - Java - 私塾在线 - 只做精品视频课程服务...