[论文阅读笔记] Are Meta-Paths Necessary, Revisiting Heterogeneous Graph Embeddings
[论文阅读笔记] Are Meta-Paths Necessary? Revisiting Heterogeneous Graph Embeddings
本文结构
- 解决问题
- 主要贡献
- 算法原理
- 参考文献
(1) 解决问题
传统的异构网络中的随机游走常常偏向于采样节点数比较多的节点类型。为了克服该问题,metapath2vec提出了基于元路径的随机游走,然而使用元路径策略要么要求先验知识,要么需要通过额外的操作来结合所有短的元路径到一个预定义的序列长度(如多元路径的情况,如何取舍,哪个更重要?)。本文基于该以上传统随机游走存在的偏向性问题出发,提出了不使用元路径策略的另外一种解决方法。
(2) 主要贡献
Contribution: 本篇论文提出了一种基于随机游走的异构网络嵌入算法JUST(不使用元路径),设计了JUmp和STay两个策略来以一种更有效的方式克服上述提出的传统异构网络随机游走偏差的问题。
(3) 算法原理
JUST算法框架主要包含两个部分:首先在图上做基于JUMP和STAY策略的随机游走,其次将得到的节点序列输入Skip-Gram模型学习节点表示向量嵌入(不再赘述)。
基于JUMP和STAY策略的随机游走
相比于同构网络,异构网络中的存在多种节点类型,该论文在传统异构图网络随机游走的基础之上,设计了两种策略来选择随机游走中下一跳节点的类型,即Jump和Stay策略。
1. Jump(跳转策略): 即随机游走下一跳跳转到其他节点类型上去,假设下一跳节点类型为q,则所有与当前节点有边的且属于节点类型q的邻居节点都是下一跳节点的候选集。
2. Stay(停留策略): 即随机游走下一跳停留在当前节点的节点类型上,则所有与当前节点有连边且与当前节点同类型的邻居节点为下一跳节点的候选集。
基于以上两种策略,我们需要确定以下细节来控制随机游走:何时jump何时stay?jump的时候,要jump到哪个节点类型合适?
1. 何时jump何时stay?: stay和jump的概率设计如下,

一共包括三种情况:
(1)如果没有与当前节点同类型的邻居节点,那stay不了,就jump。
(2)如果没有与当前节点不同类型的邻居节点,那jump不了,就stay。
(3)如果既有与当前节点同类型的邻居又有不同类型的邻居,那以α的L次方确定stay和Junp的概率。α为初始的stay概率(超参数),L为到目前为止连续访问同一类型节点的次数(为了防止随机游走连续使用停留策略采样同一类型的节点,因此设计以指数概率衰减)。
2. jump的时候,要jump到哪个节点类型合适?: 以如下方式构造待选节点类型集合:

一共包含两种情况:
(1)节点类型q在最近没被选择过(构造一个m大小的队列来存储最近被选择跳转过的节点类型)并且当前节点的q类型节点邻居非空,满足该要求节点类型的为待选节点类型。以下为一个m=2的例子 (Q_hist存储最近被选择跳转的m=2个节点类型,下一跳节点类型跳转就选不到P和A两个类型了):

(2)如果由上述要求构造出来的待选节点类型集合是空的(即没有满足上述条件的节点类型),那就放松条件重新构造该集合。即不和当前节点的节点类型相同的其他节点类型都作为待选节点类型。
构造完待选节点类型之后,下一跳待转移的节点类型从该集合中随机采样即可,选完节点类型之后选择具体节点也是随机的。
通过以上方式生成异构网络上的随机游走序列之后,采用Skip-Gram模型训练节点向量即可。
(4) 参考文献
Hussein R, Yang D, Cudré-Mauroux P. Are Meta-Paths Necessary? Revisiting Heterogeneous Graph Embeddings[A]. Proceedings of the 27th ACM International Conference on Information and Knowledge Management[C]. 2018: 437–446.
[论文阅读笔记] Are Meta-Paths Necessary, Revisiting Heterogeneous Graph Embeddings的更多相关文章
- [论文阅读笔记] metapath2vec: Scalable Representation Learning for Heterogeneous Networks
[论文阅读笔记] metapath2vec: Scalable Representation Learning for Heterogeneous Networks 本文结构 解决问题 主要贡献 算法 ...
- 论文阅读笔记 - YARN : Architecture of Next Generation Apache Hadoop MapReduceFramework
作者:刘旭晖 Raymond 转载请注明出处 Email:colorant at 163.com BLOG:http://blog.csdn.net/colorant/ 更多论文阅读笔记 http:/ ...
- 论文阅读笔记 - Mesos: A Platform for Fine-Grained ResourceSharing in the Data Center
作者:刘旭晖 Raymond 转载请注明出处 Email:colorant at 163.com BLOG:http://blog.csdn.net/colorant/ 更多论文阅读笔记 http:/ ...
- 论文阅读笔记 Word Embeddings A Survey
论文阅读笔记 Word Embeddings A Survey 收获 Word Embedding 的定义 dense, distributed, fixed-length word vectors, ...
- 论文阅读笔记 Improved Word Representation Learning with Sememes
论文阅读笔记 Improved Word Representation Learning with Sememes 一句话概括本文工作 使用词汇资源--知网--来提升词嵌入的表征能力,并提出了三种基于 ...
- [置顶]
人工智能(深度学习)加速芯片论文阅读笔记 (已添加ISSCC17,FPGA17...ISCA17...)
这是一个导读,可以快速找到我记录的关于人工智能(深度学习)加速芯片论文阅读笔记. ISSCC 2017 Session14 Deep Learning Processors: ISSCC 2017关于 ...
- Nature/Science 论文阅读笔记
Nature/Science 论文阅读笔记 Unsupervised word embeddings capture latent knowledge from materials science l ...
- 论文阅读笔记(二十一)【CVPR2017】:Deep Spatial-Temporal Fusion Network for Video-Based Person Re-Identification
Introduction (1)Motivation: 当前CNN无法提取图像序列的关系特征:RNN较为忽视视频序列前期的帧信息,也缺乏对于步态等具体信息的提取:Siamese损失和Triplet损失 ...
- 论文阅读笔记(十八)【ITIP2019】:Dynamic Graph Co-Matching for Unsupervised Video-Based Person Re-Identification
论文阅读笔记(十七)ICCV2017的扩刊(会议论文[传送门]) 改进部分: (1)惩罚函数:原本由两部分组成的惩罚函数,改为只包含 Sequence Cost 函数: (2)对重新权重改进: ① P ...
随机推荐
- Spring-@PostConstruct注解
@PostConstruct注解 @PostConstruct注解好多人以为是Spring提供的.其实是Java自己的注解. Java中该注解的说明:@PostConstruct该注解被用来修饰一个非 ...
- Salesforce学习之路(十)Aura组件工作原理
很喜欢曾经看到的一句话:以输出倒逼输入.以输出的形式强制自己学习,确实是高效的学习方式,真的很棒.以下仅为个人学习理解,如有错误,欢迎指出,共同学习. 1. 什么是Lightning Componen ...
- Day07_33_链表
链表 单链表 双向链表 * 什么是双向链表? 双向链表是链表的一种,由节点组成,每个数据结点中都有两个指针,分别指向直接后继和直接前驱. . 输入输出格式 输入格式: 输入 ...
- Word 通过添加Package 实现word藏毒
这个思路要结合近期在一些安全网站上公布的姿势来实现,先科普几个地方. (1)通过cmd本身就可以直接下载: Bitsadmin /transfer AA /download /priority nor ...
- Method Overlonding
The method overloading is using one single method name with different parameters to created differen ...
- Docker简单流程
- ConcurrentHashMap源码解读二
接下来就讲解put里面的三个方法,分别是 1.数组初始化方法initTable() 2.线程协助扩容方法helpTransfer() 3.计数方法addCount() 首先是数组初始化,再将源码之前, ...
- Asp.NetCore Web应用程序中的请求管道和中间件
你是否会迷惑当我们请求一个ASP.NetWeb应用程序以后,它是怎么处理这些请求的,后台是怎么工作的,今天就讲一下Asp.NetCore Web应用程序中的请求处理过程. 上一节,我们讲到,Start ...
- FTP文件上传
一.配置FTP文件服务器 以Ubuntu为例 FTP两种模式简介 PORT(主动模式) 第一步FTP客户端首先随机选择一个大于1024的端口p1,并通过此端口发送请求连接到FTP服务器的21号端口建立 ...