[论文阅读笔记] GEMSEC,Graph Embedding with Self Clustering
[论文阅读笔记] GEMSEC: Graph Embedding with Self Clustering
本文结构
- 解决问题
- 主要贡献
- 算法原理
- 参考文献
(1) 解决问题
已经有一些工作在使用学习到的节点表示来做社区发现,但是仅仅局限在得到节点表示之后使用聚类算法来得到社区划分,简单说就是节点表示和目标任务分离了,学习到的节点表示并不能很有效地应用于聚类算法(因为可能节点表示向量所在的低维空间中并不存在容易容易划分的簇,从而使用聚类算法也不能得到很好的社区划分结果)。
(2) 主要贡献
Contribution 1: 提出GEMSEC,一个基于序列的图表征模型,学习节点表征的同时进行节点的聚类。
Contribution 2: 引入平滑正则项来迫使具有高度重叠邻域的节点对有相似的节点表示。
(3) 算法原理
GEMSEC算法主要的框架还是遵循DeepWalk的算法框架,即随机游走生成语料库,再利用简单神经网络来训练节点表示向量。
- 对于随机游走部分,GEMSEC简单采用DeepWalk的一阶随机游走。
- 对于所使用的简单神经网络,原本DeepWalk采用的是以最大化窗口内节点共现概率为目标的Skip-Gram模型,而GEMSEC仅仅在Skip-Gram目标函数(窗口内节点的共现概率)的基础上加上了和聚类有关的目标函数,从而将表示向量学习目标和聚类目标联合在一起优化,得到更加适合聚类(簇的内聚程度高,簇间分明)的表示向量,在学习表示向量的同时也生成了节点的社区划分。
总的目标函数=Skip-Gram目标函数+聚类目标函数,如下所示:
上述目标函数中用到的符号解释如下:
f-the\ mapping\ function\ (from\ node\ to\ embedding\ vector)
f(v)-the\ embedding\ vector\ of node\ v
N_{S}(v)-the\ collection\ of\ windows\ containing\ v
C-the\ set\ of\ communities
u_{c}-the\ vector\ of\ cluster\ center
\gamma-the\ weight\ coefficient\ of\ the\ clustering\ cost
上述目标函数中,第一项(公式中的Embedding cost)为使用了Softmax的节点共现概率函数化简后的形式,主要作用是使得采样的序列中同一个窗口内的节点的表示向量具有相似的表示。第二项(公式中的Clustering cost)为聚类的目标函数(类似Kmeans),旨在最小化节点与最近的聚类中心的距离,即增加簇的内聚度,训练更适合聚类的表示向量。
此外论文中还引入了平滑正则化项(未在上述目标函数公式中给出),该项形式如下:
上述函数中用到的符号解释如下:
E_{S}-the\ edges\ within\ the\ windows
w(v,u)-the\ regularization\ weight\ of\ each\ pair\ (v,u)
\lambda-the\ regularization\ coefficient
窗口内存在边的节点对的正则化权重w(v,u)可由如下计算(采用网络中的相似度计算方式确定,如Jaccard系数,即两个节点共同邻居的比例越大,两个节点越相似):
引入该平滑正则化项的目的是使得具有高度重叠邻域的节点对有着更加相似的向量表示。 (该平滑正则化项也可以用于DeepWalk、Node2Vec等目标函数的设计)
因此最终Smooth GEMSEC算法的总的目标函数=共现概率目标+聚类目标+平滑正则化项。
(4) 参考文献
Rozemberczki B, Davies R, Sarkar R, et al. Gemsec: Graph embedding with self clustering[C]//Proceedings of the 2019 IEEE/ACM international conference on advances in social networks analysis and mining. 2019: 65-72.
[论文阅读笔记] GEMSEC,Graph Embedding with Self Clustering的更多相关文章
- [论文阅读笔记] Fast Network Embedding Enhancement via High Order Proximity Approximati
[论文阅读笔记] Fast Network Embedding Enhancement via High Order Proximity Approximation 本文结构 解决问题 主要贡献 主要 ...
- 论文阅读 Real-Time Streaming Graph Embedding Through Local Actions 11
9 Real-Time Streaming Graph Embedding Through Local Actions 11 link:https://scholar.google.com.sg/sc ...
- [论文阅读笔记] Community aware random walk for network embedding
[论文阅读笔记] Community aware random walk for network embedding 本文结构 解决问题 主要贡献 算法原理 参考文献 (1) 解决问题 先前许多算法都 ...
- [论文阅读笔记] Are Meta-Paths Necessary, Revisiting Heterogeneous Graph Embeddings
[论文阅读笔记] Are Meta-Paths Necessary? Revisiting Heterogeneous Graph Embeddings 本文结构 解决问题 主要贡献 算法原理 参考文 ...
- [论文阅读笔记] LouvainNE Hierarchical Louvain Method for High Quality and Scalable Network Embedding
[论文阅读笔记] LouvainNE: Hierarchical Louvain Method for High Quality and Scalable Network Embedding 本文结构 ...
- [论文阅读笔记] Structural Deep Network Embedding
[论文阅读笔记] Structural Deep Network Embedding 本文结构 解决问题 主要贡献 算法原理 参考文献 (1) 解决问题 现有的表示学习方法大多采用浅层模型,这可能不能 ...
- [论文阅读笔记] Unsupervised Attributed Network Embedding via Cross Fusion
[论文阅读笔记] Unsupervised Attributed Network Embedding via Cross Fusion 本文结构 解决问题 主要贡献 算法原理 实验结果 参考文献 (1 ...
- [论文阅读笔记] Adversarial Mutual Information Learning for Network Embedding
[论文阅读笔记] Adversarial Mutual Information Learning for Network Embedding 本文结构 解决问题 主要贡献 算法原理 实验结果 参考文献 ...
- 论文阅读笔记(十八)【ITIP2019】:Dynamic Graph Co-Matching for Unsupervised Video-Based Person Re-Identification
论文阅读笔记(十七)ICCV2017的扩刊(会议论文[传送门]) 改进部分: (1)惩罚函数:原本由两部分组成的惩罚函数,改为只包含 Sequence Cost 函数: (2)对重新权重改进: ① P ...
随机推荐
- leetcode刷题-78子集
题目 给定一组不含重复元素的整数数组 nums,返回该数组所有可能的子集(幂集). 说明:解集不能包含重复的子集. 示例: 输入: nums = [1,2,3]输出:[ [3], [1], [2] ...
- springboot2.x基础教程:自动装配原理与条件注解
spring Boot采用约定优于配置的方式,大量的减少了配置文件的使用.该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置. 当springboot启动的时候,默认在容器中注入 ...
- List和Dictionary的使用技巧总结
List和Dictionary想必是我们平常用到最多的C#容器了,他们使用起来都很简单,所以很多人就可能就没去深究,其实在使用过程中有很多的小技巧能让我们写的代码变得更高效也更安全. 1·合理的指定初 ...
- [LeetCode] 79. 单词搜索(DFS,回溯)
题目 给定一个二维网格和一个单词,找出该单词是否存在于网格中. 单词必须按照字母顺序,通过相邻的单元格内的字母构成,其中"相邻"单元格是那些水平相邻或垂直相邻的单元格.同一个单元格 ...
- 小BUG大原理:FastJSON实体转换首字母小写的尴尬事件
问题描述 因为项目连接的Oracle数据库,字段名映射方便使用大写,但是通过接口调用返回到前端的字段名首字母为小写,这样带来的问题前端显示的字段就需要写这种很尴尬的格式. 原因分析 开发环境使用的是S ...
- 高可用集群之keepalived+lvs实战
keepalived简介 lvs在我之前的博客<高负载集群实战之lvs负载均衡-技术流ken>中已经进行了详细的介绍和应用,在这里就不再赘述.这篇博文将把lvs与keepalived相结合 ...
- docker部署LAMP架构并部署上线wordpress博客系统
第一步:直接在镜像仓库拉取LAMP镜像 [root@ken-node3 ken]# docker pull tutum/lamp 第二步:查看已经获取到的镜像 [root@ken-node3 ken] ...
- Debian、kali类虚拟机网络设置
Linux发行版分类 先说一下Linux发行版的分类,因为不同的发行版,各自设置的网络的方式就不相同, - 我常用的Linux发行版 -- Debian --- debian --- ubuntu - ...
- @Embedded 和 @Embeddable
自定义类型在hibernate中实现自定义类型,需要去实现UserType接口即可或者以Component的形式提供. JPA的@Embedded注解有点类似,通过此注解可以在Entity模型中使用一 ...
- 使用Scrcpy实现电脑控制安卓手机
很多时候我们想要在电脑上使用一些手机软件,使用模拟器当然是一种选择,但是这些模拟器要不然不免费,要不然广告多不放心.Scrcpy是一个开源免费的软件,通过abd命令实现了安卓手机投屏和控制功能,并且支 ...