基于meta-path的异质网络Embedding-HIN2vec
HIN2vec 主要是学习异质网络节点和关系的embedding向量表示。HIN2vec主要跟为训练数据准备和表示学习两部分。在训练数据准备中,将网络数据表示成
- 表示学习
在给定异质网络G=(V,E,Φ,Ψ) 时,meta-pathπ 表示的是节点类型序列a1,a2,⋯,an 和/或 边类型的序列r1,r2,⋯,rn−1 π=a1⟶r1a2⟶r2⋯⟶rn−1an
如途中是一个paper-author的异质网络,P代表论文节点, A代表作者节点,在2-hops范围内的meta-path可以有:
第一种模型把预测节点对(x,y)之间的关系类型表示为多分类问题
如图所示,输入层为两个长度为|V|的 one-hot 向量
- HIN2vec
这个模型将上述的多分类问题变为多个二分类问题。模型框架如下图所示:
输入层:关系类型不再作为预测对象,而是作为输入出现在输入层,二分类要预测的是节点 x,y 之间是否存在关系r。输入向量
隐含层: 输入为
关于
输出层: 输入为
正则函数本文采用的是 Binary Step 函数(论文实验证明比sigmoid函数好些),加这个正则函数,一个是避免
- 优化目标函数
HIN2vec模型,训练数据集D的形式为<x,y,r,L(x,y,r)> ,其中L(⋅) 是二元值,表示节点x,y之间是否存在关系r。目标函数具体为:O∝logO=∑x,y,r∈DlogOx,y,r(x,y,r)
其中logOx,y,r(x,y,r) 衡量的是HIN2vec如何正确预测训练数据。Ox,y,r(x,y,r)={P(r|x,y),ifL(x,y,r)=11−P(r|x,y),ifL(x,y,r)=0
log概率为:
节点x,y之间存在关系r时,概率P(r|x,y)为:
训练数据的准备
两点,一个是在构建负样本的时候,只是随机替换(x,y,r)中节点x或者节点y,并且节点x′ 或者节点y′ 与节点x, 节点y是同一个节点类型;另一个是在random walk的时候去掉环cycles,比如(A1,A1,A−P−A) 这种样本是没有意义的。实验
论文的实验还是很充分的。用了四个数据集:Blogcatalog 、Yelp、DBLP、U.S. Patent。实验主要是链路预测。但是论文对实验中的参数都做了充分的实验。如下图所示的对训练数据准备中使用的几种优化方案分别做了对比: