文献阅读(43)CIKM2017-Learning Community Embedding with Community Detection and Node Embedding on Graphs

本文是对《Learning Community Embedding with Community Detection and Node Embedding on Graphs》一文的浅显翻译与理解,如有侵权即刻删除。

朋友们,我们在github创建了一个图学习笔记库,总结了相关文章的论文、代码和我个人的中文笔记,能够帮助大家更加便捷地找到对应论文,欢迎star~

Chinese-Reading-Notes-of-Graph-Learning

更多相关文章,请移步:
文献阅读总结:网络表示学习/图学习

Title

《Learning Community Embedding with Community Detection and Node Embedding on Graphs》

——CIKM2017

Author: Sandro Cavallari

总结

文章以DeepWalk为基础学习节点嵌入,并在之基础上进行社区检测优化的ComE算法。具体地,文章提出了优化的闭环:节点嵌入提高社区检测能力,社区检测生成有效的社区嵌入,社区嵌入近而优化节点嵌入。

在这里插入图片描述

1 定义

在这里插入图片描述

文章所用网络即没有额外信息的基础网络,对任意一个节点,对应有自身嵌入,同时还有其所属的社区分布z_i。

在这里插入图片描述

对每个社区,文章都学习对应的社区嵌入。而算法最终的输出为:节点嵌入、节点对应社区的关系、社区嵌入。

文章中出现的各项变量、参数如下:

在这里插入图片描述

2 优化

文章将损失函数分为三部分进行优化,在此为逻辑顺畅,略微打乱顺序进行介绍。值得注意的是,文章是在DeepWalk的基础上进行的扩展,因此节点嵌入是通过DeepWalk学习的,只是后续的优化方法不同。

2.1 优化一(一阶相似度)

对单个节点而言,其一阶相似度即与其发生直接交互的邻居,此处的优化目标即两个交互的节点,应当具有相似的嵌入,这种相似性可以用节点嵌入在二维空间的投影距离来判断,即:

在这里插入图片描述

2.2 优化二(二阶相似度)

文章认为,每个节点有着两个嵌入:自身嵌入(计算自身一阶相似度时)和对其他节点的环境嵌入(其他节点计算自身相似度时)。在此,文章引入负采样,使得发生交互的节点间嵌入相似。应当注意的是,针对一个源节点计算自身相似度,使用的是自身嵌入,而当源节点成为了其他源节点的邻居节点时,其嵌入就应当使用环境嵌入。

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

2.3 优化三(高阶相似度)

此部分,文章引入了对社区的检测和嵌入生成。具体地,文章认为节点嵌入是从一个关于社区的多元高斯分布中生成的,因此在优化的时候,应当使得(生成节点嵌入的)分布生成节点嵌入的概率尽可能大(因为在此处节点嵌入已经生成了,所以是一种倒推式的优化):

在这里插入图片描述

其中p(z_i=k)是节点v_i属于社区k的概率,而后者即多元高斯分布:

在这里插入图片描述

最终,为形成上文所述的闭环,该部分的优化目标为:

在这里插入图片描述

2.4 最终损失函数

在这里插入图片描述

在优化过程中,文章提出了一个约束diag大于0,即对任意节点,其必然要有一个社区能够对应。

3 推导

在优化上述损失函数的过程中,文章采用了固定一部分,优化另一部分的方法。即先固定节点的自身嵌入和环境嵌入,来优化式8中的后三个参数。其次在后三个参数优化完成后,再返回优化节点嵌入。这样一方面可以快速收敛,另一方面能够防止互相优化导致无法结束优化过程的情况。

3.1 优化参数

首先固定节点的两个嵌入,优化后续三个参数有:

在这里插入图片描述

在此,文章使用了期望最大化的方法来完成优化,通过这种方法,三个参数能够迭代地沿上述公式进行更新。

3.2 优化节点嵌入

在参数优化完成后,固定这些参数,近而优化节点嵌入。由于直接优化导致计算量过大,计算嵌入的梯度较为不便,因此文章选择最小化损失函数的上界来代替:

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

文章指出,替换过后的损失函数能够达到更好的效果。接下来,就是使用随机梯度下降(SGD)进行梯度的计算和更新:

在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值