MetaPath2vec:异质图Graph Embedding

论文:metapath2vec: Scalable Representation Learning for Heterogeneous Networks
期刊:KDD 2017

1.Introduction

  • 传统方法中,一般将网络转化成邻接矩阵,然后使用机器学习来挖掘网络中的信息,学习嵌入,但是邻接矩阵通常很稀疏。对于复杂网络的表示学习,一些基于神经网络的模型也有非常好的效果,例如(DeepWalk,node2vec,以及LINE)但上述算法仅适合包含一类节点和边的同构网络,不能很好的用于包含多种顶点类型和边类型的复杂关系网络。作者在基于meta-path的基础上,提出了在异构复杂关系网络的表示学习方法-meta-path2vec和meta-path2vec++。
  • 在异构图中,不同类型的节点和边具有不同的语义含义。对于异构网络的嵌入,不仅关注节点之间的结构相关性,还要关注节点之间的语义相关性,MetaPath2vec用于捕获节点之间的两种相关性。
  • 为了同时捕获结构和语义相关性,引入基于元路径的随机游走提取共现信息。

2.预备知识

  • meta-path
    定义一个元路径,A是各种类型的节点,R是各种类型的边,通过元路径来指导随机游走。
    在这里插入图片描述
  • Heterogeneous Network
    MetaPath2vec:异质图Graph Embedding_第1张图片
    -Heterogeneous Network Representation Learning
    对于给定的异构网络,学习d维的潜在表征,可以表征网络中顶点之间的结构信息和语义场景关系。

3.meta-path2vec算法

1,利用元路径随机游走从图中获取序列
2,利用skip-gram学习节点的嵌入表示
对于给定节点,学习的目标是上下文内容存在的概率最大化(基于第一步获取的序列,使特定类型的共现元组概率最大,以此来学习节点的嵌入,因为基于meta-path来提取元组,所以能够捕获节点之间的语义及结构相关性)
MetaPath2vec:异质图Graph Embedding_第2张图片
在这里插入图片描述
metapath2vec中采用Negative Sampling进行参数迭代更新,这时设置一个负采样的窗口M,则参数更新过程如下:
MetaPath2vec:异质图Graph Embedding_第3张图片
P(u)是一个negative node 在M次采用中的预定义分布

4.总结

沿用了同构图上基于随机游走的Embedding算法的思想(生成随机游走序列,类似于文本语句的处理,提取出窗口范围内的节点上下文元组,优化目标是使这些共现元组的概率最大化),区别在于是使用提前定义好的meta-path模式来指导随机游走的过程,由于提前根据语义信息预定义了有意义的meta-path路径,所以使得在异质图中的异构信息和语义信息保留,同时借助Skip-Gram模型可以学习节点的表征。
简要理解:根据meta-path的模板,生成多条随机游走的路径,根据路径来提取每个节点的共现元组(类比于文本中单词的嵌入),给每个节点初步表示,学习的目标是使基于meta-path游走序列提取出的共现元组概率最大,所以用这种方式学习到的节点的嵌入很好的保留了节点的语义信息(因为预定义的meta-path具有实际的语义信息)。

你可能感兴趣的:(异构图,数据挖掘,神经网络)