[论文阅读笔记] 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 ...
随机推荐
- 数据结构之栈(JavaScript描述)
栈数据结构 栈是一种遵从后进先出原则的有序集合.新添加或待删除的元素都保存在栈的同一端,称为栈顶,另一端就叫栈底.在栈内,锌元素都靠近栈顶,救援都接近栈底 类似栈的例子 栈也被用在编程语言你的 ...
- go 的方法集和接口断言
Go 的方法集与接口断言 方法集 引子 首先来看一段代码: package main import "fmt" func main() { var v IpmHelloByValu ...
- Android埋点技术概览
注:本文同步发布于微信公众号:stringwu的互联网杂谈Android无埋点技术概览 本文是Android无埋点系列的开篇---埋点技术概览 1 背景 埋点是数据产品经理(分析师)基于业务需求,对用 ...
- 漫画 | 公司测试因提Bug不规范,锒铛入狱~
互联网人罪状系列 1.上班第一天,前端把后端告上县衙,还列了 5 宗罪 2. 程序员状告产品经理八大罪状 (上) 3.程序员状告产品经理八大罪状(下) 开发人员与测试人员的关系,就如同程序员与产品经理 ...
- PE文件格式偏移参考
在进行PE文件格式病毒分析的时候,经常要使用到PE文件格式的解析,尤其是对LoadPE形式的病毒的分析,经常要查看PE文件格式的偏移,特地从博客<PE文件格式的偏移参考>中转载收录一份,之 ...
- 基于frida框架Hook native中的函数(1)
作者:H01mes撰写的这篇关于frida框架hook native函数的文章很不错,值得推荐和学习,也感谢原作者. 0x01 前言 关于android的hook以前一直用的xposed来hook j ...
- hdu2604 矩阵快速幂
题意: 给你n个人,排成一个长度是n的队伍,人只有两类f,m,问可以有多少种排法使度列中不出现fff,fmf这样的子串.思路: 一开始暴力,结果超时了,其实这个题目要是能找到类似于 ...
- AsSystemRum 系统提权工具 实现思路及其源码
名字: AsSystemRun 功能: 用system权限启动一个进程. 开发语言: C++,C# 作者: Ack-Code 开发时间: 2016.9.15 实现原理: w ...
- Windows PE 第一章 熟悉OD(顺便破解一个小工具)
熟悉OD(顺便破解一个小工具) 上一节了解了OD的简单使用,这次就练习下,目标是破解一款小软件(入门练手用的,没有壳什么的). 首先我们来看一下这个小软件: 我们的目的是输入任何字符串都可以成功注册, ...
- Day002 编译型和解释型语言
编译型和解释型语言 原文链接 编译型(Compile) 用编译型语言写的程序执行之前,需要一个专门的编译过程,针对特定的平台,使用专门的编译器,把高级语言翻译成机器语言,以后直接运行而不需要再编译了, ...