描述
SEAL,代表“从子图、嵌入和属性中学习以进行链接预测”,是一个复杂的框架,旨在解决基于图的数据中的链接预测挑战。它创新地将链接预测重构为子图分类问题,从而能够更全面地理解图中的关系。
SEAL 的核心方法涉及几个关键步骤。对于任何给定的目标链接,框架首先提取其“h-hop 包络子图”。该子图捕获了潜在链接周围的局部结构上下文。同时,SEAL 构建了一个节点信息矩阵,表示为 X。该矩阵富含信息,整合了结构节点标签、从图属性派生的潜在嵌入以及与节点相关的任何显式属性。
一旦准备好子图 (A) 和节点信息矩阵 (X),SEAL 就将此组合数据输入图神经网络 (GNN)。GNN 被训练来分类链接的存在。这种方法使 SEAL 能够有效地从两个关键信息源中学习:子图 (A) 提供的固有图结构以及节点矩阵 (X) 中包含的丰富特征信息。这种从结构和基于特征的数据中同时学习是 SEAL 框架的关键优势。
SEAL 在其实施方面提供了灵活性,有 MATLAB 和 Python 版本。MATLAB 版本用于生成原始论文中呈现的实验结果,并包含基线方法的评估代码。Python 实现以其增强的灵活性和可扩展性而著称。此外,还提供了一个 PyTorch Geometric 实现,该实现已在开放图基准 (OGB) 数据集上进行了测试,并支持 Cora 和 CiteSeer 等 Planetoid 数据集以及自定义 PyTorch Geometric 数据集。
SEAL 的一个重要方面是,即使没有显式的节点嵌入或属性,它也能有效地执行。在许多网络场景中,SEAL 可以仅通过利用图结构来实现强大的预测性能。该框架的设计认识到,在某些情况下,包含嵌入甚至可能对性能产生负面影响。当节点嵌入从 X 中排除时,SEAL 作为一种归纳链接预测模型运行,能够泛化到未见过的节点或子图。
SEAL 链接预测亮点
将链接预测转化为子图分类问题
提取 h-hop 包络子图以获取局部上下文
构建包含结构标签、嵌入和属性的节点信息矩阵
利用图神经网络 (GNN) 进行链接分类
同时从图结构和节点特征中学习
提供 MATLAB 和 Python 实现
支持开放图基准 (OGB) 数据集
无需节点嵌入即可执行归纳链接预测
评估基线方法
在 Python 版本中提供灵活性和可扩展性
SEAL 链接预测入门
访问模型:从 GitHub 存储库获取 SEAL 代码。
设置环境:为 MATLAB 或 Python 安装必要的依赖项。
准备数据:格式化您的图数据和节点属性/嵌入。
提取子图:配置子图提取的 h-hop 参数。
训练模型:将提取的子图和节点信息矩阵输入 GNN。
预测链接:使用训练好的模型预测链接的存在。
评估性能:使用提供的评估代码评估模型的准确性。
SEAL 链接预测的使用案例
- 社交网络分析
- 推荐系统
- 生物网络预测
- 知识图谱补全
- 欺诈检测
- 药物发现







