摘要
链路预测在网络科学和机器学习中具有重要的意义。早期的方法只考虑简单的拓扑特征,而后续的有监督方法通常依赖于人类标记的数据和特征工程。在这项工作中,我们提出了一种新的基于表示学习的方法,称为SEMAC,它利用了细粒度的节点特性和整个图形拓扑。与以往基于表示的研究中所采用的SGNS或SVD方法相比,我们的模型通过一种凸矩阵完成形式获得的子图嵌入来表示节点,从而迭代降低秩,从而更有效地消除表示中的噪声。因此,子图嵌入和凸矩阵完成被巧妙地集成到一个新的链路预测框架中。在多个数据集上的实验结果表明了本文方法的有效性。
简介
之前的工作关注捕获点对之间的相似度测量,只关注了拓扑信息而忽略了其他信息。
概率图模型计算效率低
基于路径的方法利用人工特征捕获额外特征,但还有很多特征不能捕获
本文使用一种表示学习方式自动检测这些固定但不规则的特征
SEMAC通过学习子图的嵌入给出每个点的表示。SEMAC通过凸矩阵完成的形式降低子图的秩来移除噪声、提高泛化能力。最终,从节点不同深度发散的子图生成的表示嵌入拼接在一起生成节点表示用于预测。
相关工作
传统边预测方法可分为三类:
- 使用点之间的相似性度量:Common Neighbors, Adamic/Adar (频率加权的公共邻域), and the Jaccard 系数。这种方法仅使用单一特征,忽略了其他信息。
- 概率图模型包括贝叶斯概率模型和关系马尔可夫链。这种方法计算代价高。
- 基于路径的边预测方法。如Propflow, Katz, Commute Time。这些方法使用人工设计的特征,容易过拟合。
Deepwalk这些用于图分类的图表示学习方法给图学习带来了希望。基于非负矩阵分解的方法用于聚类和推荐。
GraRep基于deepwalk解决聚类问题,他将deepwalk中的随机游走变为h-hop的邻接节点将Skip-gram with negetive sampling(SGNS)变为SVD。于GraRep相比,本文方法显示地考虑i-hop于i+1-hop之间的关系,并且依赖于一种凸矩阵完成形式而不是SVD
本文方法继续在node2vec方向上研究改进。
SEMAC方法
–定义
全连接所有的边集合为U,已知边集合为E。任务是在U-E上边预测。SEMAC能捕获全局信息也能获取局部信息。
–表示模型
介绍了word2vec使用的SGNS
deepwalk在randomwalk生成的序列上使用了word2vec
在一定条件下SGNS可被看作矩阵分解的隐式形式。SVD及其变种可以优于SGNS。GraRep将SGNS替换为SVD。在目标窗取上下文平均值是次优的,分别处理与目标项距离为k的上下文并将向量连接以捕获权重和非线性。
–SEMAC
可分为五步:
- 第一步获得点周围不同深度d的子图,子图嵌入用于节点嵌入。(子图嵌入在图分类中成功应用)。第一步伪代码如下
针对节点v、深度d使用广搜生成gv,d。Cv,d为上下文,用来发现不同深度之间的相关性。 - 第二步学习子图表示。计算正PMI矩阵。伪代码如下
- 第三步学习PPMI矩阵的低秩表示来去除白噪声。使用一种核范式正则化(NNR)的凸矩阵完成式的方法而不是SVD或最大边际矩阵分解。
- 第四步将不同深度d子图的嵌入表示进行拼接
- 最后使用余弦距离计算两点之间的相似度