LPA算法与模块度

本文详细介绍了标签传播算法(LPA),用于社区检测。算法描述包括节点标签的初始化、标签传播过程及不同的终止条件。此外,还讨论了模块度计算公式及其在评估社区划分质量中的作用,并提供了伪代码。最后,文章探讨了相似度指标和可能的改进思路。
摘要由CSDN通过智能技术生成

1.算法描述

给每个节点添加标签,初始以每个节点的id作为标签,标签传播过程中将每个节点的邻居节点的
标签中数量最多的标签作为该节点的标签。标签就代表该节点所属社区。

  • 1 以节点id初始化标签
  • 2 遍历每个节点,使用其邻居节点的标签中数量最多的标签更新其自身标签。
  • 3 反复执行步骤2,直到满足终止条件。

关于终止条件

  • 1 直接设置迭代次数
  • 2 根据模块度的增加程度设定
  • 3 每个节点的标签不再变化
  • 4 其他

2.伪代码

中文:

输入:网络G=(V,E)具有|V|=n个节点和|E|=m条边,最大迭代次数maxt
输出:社团发现划分结果C={C1,C2,...Ck},k为社团数量
for each i in V
i.label = i
//每个节点分配唯一的标签
while 不满足终止条件
	g.labeled();
	t = t + 1;

3.模块度计算

模块度(Q,Modularity)是一种常用的衡量社团划分质量的标准。

常用的计算模块度的公式为:

Q = ∑ v = 1 k [ l v M − ( d v 2 M ) 2 ] Q=\sum\limits_{v=1}^k[\frac{l_v}{M}-(\frac{d_v}{2M})^2] Q=v=1

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值