节点嵌入 (Node embeddings)

节点嵌入算法用于计算图中节点的低维向量表示。这些向量(也称为嵌入)可用于机器学习。Neo4j 图数据科学 (GDS) 库包含以下节点嵌入算法

跨图泛化

节点嵌入通常用作下游机器学习任务的输入,例如节点分类、链接预测和 kNN 相似度图构建。

通常,用于构建嵌入和训练下游模型的图,与用于进行预测的图有所不同。与普通机器学习(我们仅处理来自某个分布的独立示例流)相比,我们现在拥有的图被用于生成一组带标签的示例。因此,我们必须确保训练示例集能够代表从预测图中得出的带标签示例集。为了实现这一点,对嵌入算法有特定的要求,我们将此类算法称为归纳式 (inductive) [1]

在 GDS 库中,以下算法是归纳式的:

  • GraphSAGE

  • HashGNN(配合 featurePropertiesrandomSeed 使用)

  • FastRP(配合 propertyRatio=1.0randomSeed 使用)

这些算法是归纳式的。

非归纳式的嵌入算法我们称为直推式 (transductive)。它们的使用应仅限于测试图和预测图相同的情况。此类算法的一个例子是 Node2Vec


1. 这种归纳的实际定义可能与其它地方的定义不完全一致