
摘要
近期关于图结构数据表示学习的研究主要集中在学习图子结构(如节点和子图)的分布式表示。然而,许多图分析任务(如图分类和聚类)需要将整个图表示为固定长度的特征向量。虽然上述方法在学习此类表示方面存在天然不足,但图核仍然是获取这些表示的最有效方法。然而,这些图核使用手工设计的特征(例如,最短路径、图子结构等),因此受到泛化能力差等问题的限制。为了克服这一局限性,本文提出了一种名为graph2vec的神经嵌入框架,用于学习任意大小图的数据驱动分布式表示。graph2vec的嵌入以无监督的方式进行学习,并且与具体任务无关。因此,它们可以用于任何下游任务,如图分类、聚类,甚至可以作为有监督表示学习方法的初始输入。我们在多个基准数据集和大规模真实世界数据集上的实验表明,graph2vec在分类和聚类准确性方面显著优于子结构表示学习方法,并且与最先进的图核具有竞争力。
代码仓库
benedekrozemberczki/graph2vec
tf
GitHub 中提及
paulmorio/geo2dr
pytorch
GitHub 中提及
MLDroid/graph2vec_tf
tf
GitHub 中提及
soumavaghosh/graph2vec
pytorch
GitHub 中提及
benedekrozemberczki/karateclub
GitHub 中提及
compnet/pang
tf
GitHub 中提及
基准测试
| 基准 | 方法 | 指标 |
|---|---|---|
| graph-classification-on-mutag | graph2vec | Accuracy: 83.15% ± 9.25% |
| graph-classification-on-nci1 | graph2vec | Accuracy: 73.22% ± 1.81% |
| graph-classification-on-nci109 | Graph2Vec | Accuracy: 74.26 |
| graph-classification-on-proteins | graph2vec | Accuracy: 73.3% ± 2.05% |
| graph-classification-on-ptc | graph2vec | Accuracy: 60.17% ± 6.86% |
| malware-detection-on-android-malware-dataset | Graph2Vec | Accuracy: 99.03 |