图嵌入中节点如何映射到向量
所有的机器学习算法都需要输入数值型的向量数据,图嵌入通过学习从图的结构化数据到矢量表示的映射来获得节点的嵌入向量。它的最基本优化方法是将具有相似上下文的映射节点靠近嵌入空间。我们可以使用两种正交方法(同质性和结构等效性)之一或它们的组合来定义图中节点的上下文。
图数据库和机器学习
图数据库可以支持来自各种来源的相互关联数据的大数据应用。它们允许使用一种简洁的查询语言来分析数据中的复杂关系模式,例如PageRank、中心性检测、链接预测、模式识别等算法可以用简单直观的方式来表述。
大多数成熟的传统机器学习算法,如线性和逻辑回归、神经网络等,都是在数值向量表示上工作的。为了将图数据库和和机器学习结合就需要一种方法来以向量形式表示我们的数据网络。图嵌入就是从图中的数据中准确学习这种映射的一种形式。
图嵌入的目的
图嵌入的目标是找到图中每个节点的向量表示,该向量的映射代表节点的网络结构,而不是考虑节点的相关特征。换句话说,一个节点的嵌入向量应该基于它的关系和相邻节点。图结构中相似的节点应在向量空间中紧密映射。我们将节点映射到的向量空间称为嵌入空间。
上面的描述中有两个问题需要额外思考:
- 图中的两个节点相似怎么判断?
- 嵌入空间中的 “紧密” 是什么意思?
网络中的相似节点
为了详细说明图中的相似性,暂时考虑一个句子:
句子可以被理解为是一个单词的序列,每个单词都有一个确定的位置。因此,一个句子中的一个词恰好有一个祖先和一个后继。要定义句子中单词的上下文,可以使用围绕它的单词。例如,单词“capital”的距离一上下文是单词“the”和“of”。距离二的上下文是“is”、“the”、“of”、“Germany”。这被称为 n-gram 模型,也就是word2vec 嵌入使用的方法。
与n-gram类似我们可以在图中定义节点的上下文,并且在图结构中比在单词序列中有更多的选择。因为在一般的图中每个节点可能连接到两个以上的其他节点——而在一个句子中,一个单词只有一个直接祖先和后续节点。
一个句子是一个向量,可以通过沿着索引轴移动来探索单词的上下文。图被描述为一个二维邻接矩阵,节点的直接祖先是一个向量。在每个距离级别上探索节点的上下文有多个选择,必须决定如何遍历这些选择。
一般来说,探索网络上下文有两种正交方法:
宽度优先:在(可能)移动到距离为2的节点之前,我们首先详细说明源节点的直接邻居。这也被称为同质性,源于一个社会学概念,即人们通常倾向于与相似的人密切互动。因此它是基于图中相似节点关系密切的假设。
深度优先:首先通过从源节点开始到其深度的路径来探索一个连接链,然后再继续下一个。与同质性相反,这个度量从更广泛的角度捕捉网络中节点的角色。不是着眼于密切的关系,而是寻找节点的结构角色:例如,它是如何嵌入到更大的社区环境中。这个度量称为结构等价。
完整文章:
https://www.overfit.cn/post/4012a7b482bf477283c84fd0ec61c388