VGRAPH: A GENERATIVE MODEL FOR JOINT COMMUNITY DETECTION AND NODE REPRESENTATION LEARNING 2019

社区检测和节点表示学习,它们分别捕获图的全局结构和局部结构。

在目前的文献中,这两个任务通常是独立研究,而实际上它们是高度相关的。本文提出了一种称为 vGraph 的概率生成模型,用于协作地学习社区成员和节点表示。

该方法假设每个节点可以属于代表不同社会环境的多个社区,每个节点应该在不同的社会环境下生成不同的社区,有着不同的邻居。节点代表和社区发现互相受益。

vGraph:

本文为每个节点 w 引入先验分布 p (z | w) ,为每个社区 z 引入节点分布 p (c | z)。每条边(w,c)的生成过程可以自然地描述如下: 对于节点 w,我们首先绘制一个社区赋值 z ∼ p (z | w) ,代表生成过程中 w 的社会环境。然后,根据赋值 z 通过 c ∼ p (c | z)生成链接邻居 c。从形式上讲,这种生成过程可以用一种概率的方式来表述:
p ( c ∣ w ) = ∑ z p ( c ∣ z ) p ( z ∣ w ) (1) p(c|w) = \sum \limits_{z} p(c|z)p(z|w) \tag{1} p(cw)=zp(cz)p(zw)(1)
即先根据节点找到节点可能的社区,再根据这些可能的社区来找到可能的邻居节点。两者相乘的概率即可以看做这两点生成边的概率。

vGraph通过引入一组节点嵌入和社区嵌入来参数化分布p(z|w)和p(c|z)。

ϕ i \phi_i ϕi表示分布p(z|w)中使用的节点i的嵌入, φ i \varphi_i φi表示分布p(c|z)中使用的节点i的嵌入, ψ j \psi_j ψj表示社区j的嵌入。先验分布 p ϕ , φ ( z ∣ w ) p_{\phi,\varphi}(z|w) pϕ,φ(zw)和基于社区的节点分布 p φ , ψ ( c ∣ z ) p_{\varphi,\psi}(c|z) pφ,ψ(cz)是通过两个softmax模型参数化的:
在这里插入图片描述
很容易理解,2式分子是该社区j,分母是所有社区相加,乘上节点w的嵌入,引入了节点信息。3式分子是节点c,分母是所有的节点,乘上社区j的嵌入,引入社区环境信息。

计算方程式3是昂贵的,因为它需要对所有顶点求和。因此,对于大型数据集,我们可以使用以下目标函数,像在LINE中那样使用负采样:在这里插入图片描述
其中 σ(x) = 1/(1 + exp(- x)) (sigmoid),Pn(v)为噪声分布,k 为负样本数。这样,与随机优化相结合,使我们的模型具有可扩展性。

为了学习vGraph的参数,试图最大化观测到的边(w,c)的对数似然性,即 l o g    p ϕ , φ , ψ ( c ∣ w ) log\;p_{\phi,\varphi,\psi}(c|w) logpϕ,φ,ψ(cw)。但直接优化这一目标是很难得,所以转而优化下界(ELBO):

在这里插入图片描述
其中 q (z|c,w)是一个变分分布,逼近真正的后验概率 p (z|c,w) ,KL (||)表示两个分布之间的 Kullback-Leibler 散度。

Kullback-Leibler散度(通常简称为KL散度)。通常在概率和统计中,我们会用更简单的近似分布来代替观察到的数据或复杂的分布。KL散度帮助我们衡量在选择近似值时损失了多少信息。

具体来说,我们用一个神经网络参数化变分分布 q (z|c,w)如下:在这里插入图片描述
其中N(w)是节点w的邻居集合。发现非重叠社区时,我们可以取最大的p(z|w)的参数作为w的社区。然而,在检测重叠社区时,使用:在这里插入图片描述
也就是说我们将每条边(w,c)分配到一个社区,然后通过聚集节点关联的边的每个边社区将边社区映射到节点社区。

Community-smoothness Regularized Optimization:

使用 Gumbel-Softmax 重参数化来获得公式5下界的梯度。更具体地说,使用直通 Gumbel-Softmax 估计。

社区可以定义为一组节点,它们彼此之间更相似,而组外节点不相似。对于无属性图,如果两个节点连接并且共享相似的邻居,则它们是相似的。然而,vGraph并没有以这种方式显式地衡量局部连通性。为了解决这个问题,受现有谱聚类研究的启发,使用平滑性正则化项来增强我们的训练目标,以鼓励学习到的连接节点的社区分布相似。在形式上,正规化项如下:在这里插入图片描述
其中 λ 是一个可调超参数, a w , c a_{w,c} aw,c 是一个正则化权, d ( ⋅ , ⋅ ) d(\cdot,\cdot) d(,)是两个分布之间的距离(在我们的实验中的平方差)。在[25]的激励下,我们将 a w , c a_{w,c} aw,c a w , c a_{w,c} aw,c置为节点 w 和 c 的 Jaccard 系数,由以下方式给出:

在这里插入图片描述
其中N(w)表示w的邻居集合。这背后的直觉是, a w , c a_{w,c} aw,c作为两个节点之间邻居相似程度的相似性度量。Jaccard的系数用于这个度量,因为Jaccard的系数值越高,两个节点在社区中就具有越相似的分布。

通过结合ELBO下界和平滑正则化项,给出了最小化的整个损失函数:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-MlAxp3pi-1651133605608)(深度学习社区发现.assets/image-20220427102905036.png)]
对于大型数据集,第一项可以采用负采样。

Hierarchical vGraph:

在这里插入图片描述
vGraph框架的一个优点是它非常通用,可以自然地扩展到检测分层社区。在这种情况下,假设我们有一棵d级树,每个节点都与一个社区相关联,社区分配可以表示为一个d维路径向量 z → = ( z ( 1 ) , z ( 2 ) , … , z ( d ) ) \overrightarrow{z}= (z(1), z(2),…, z(d)) z =(z(1)z(2)z(d)),如图1所示。 然后,生成过程如下:

(1)从先验分布 p ϕ , ψ ( z → ∣ w ) p_{\phi,\psi}(\overrightarrow{z}|w) pϕ,ψ(z w)中采样一个树路径 z → \overrightarrow{z} z

(2)上下文c使用 p ψ , φ ( c ∣ z → ) p_{\psi,\varphi}(c|\overrightarrow{z}) pψ,φ(cz ) z → \overrightarrow{z} z 解码。在此模型下,网络的可能性为:

在这里插入图片描述
在树的每个节点上,都有一个与社区相关的嵌入向量。这种方法类似于语言模型中使用的分层softmax参数化。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值