图算法

社区发现

louvain

Community Detection with Louvain and Infomap

知乎 - 社区发现算法——louvain完全指南

博客园 - 模块度与Louvain社区发现算法

模块度取值范围: [ − 1 2 , 1 ) [-\frac{1}{2},1) [21,1)
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

模块度也可以理解是社区内部边的权重减去所有与社区节点相连的边的权重和,对无向图更好理解,即社区内部边的度数减去社区内节点的总度数

在这里插入图片描述

获取邻居是哪个社区的:

neighbour_communities:{邻居结点ID:权重}

在这里插入图片描述

当前结点属于哪个社区的(old_community),获取邻居结点中【也是这个社区】的权重

old_incident_weight = neighbour_communities.get(old_community, 0)
暂时删除当前结点

遍历【node】的邻居结点,得到邻居结点的【community, incident_wt(就是权重)】:
	计算delta Q:
			# Sum of the weights of the links incident to nodes in C.
			sigma_tot = 这个community结点对应的度(对于带权图是权重的和)
			# Sum of the weights of the links incident to node i.
			k_i = node 的度
			# Sum of the weights of the links from i to nodes in C.
			k_i_in = incident_wt
			# Sum of the weights of all the links in the network.
			m = 网络权重和

Δ Q = ( 2 k i , i n − σ t o t × k i ) / m \Delta Q={(2k_{i,in}-\sigma_{tot}\times k_i)}/{m} ΔQ=(2ki,inσtot×ki)/m

infomap

知乎 - 机器学习-社区发现算法介绍(一):Infomap

科学空间 - 最小熵原理(五):“层层递进”之社区发现与聚类

Infomap 的双层编码方式把群组识别(社区发现)同信息编码联系到了一起。一个好的群组划分,可以带来更短的编码。所以,如果能量化编码长度,找到使得长度最短的群组划分,那就找到了一个好的群组划分。

熵: “编码每个状态所需的平均字节长度”,信息量的期望

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

1 − τ 1-\tau 1τ的概率做随机游走, τ \tau τ的概率随机选择图上任意一个结点跳转
(13)在这里插入图片描述

(11) 在这里插入图片描述

(15)在这里插入图片描述

GNN

GCN

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
重新分配权重:对角线越大,减缓低筒滤波效应,不容易聚合邻居信息
在这里插入图片描述

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值