Skip to content

四、图嵌入

4.1 简介

图嵌入(Graph Embedding)的目的是将给定图中的每个节点映射到一个低维的向量表示。这种向量表示通常称为节点嵌入(Node Embedding),它保留了原图中节点的一些关键信息。

图中的节点可从两个域进行观察:

  • 原图域 节点通过边或图结构彼此连接
  • 嵌入域 每个节点被表示为连续的向量

从这两个域的角度来看,图嵌入的目标是将每个节点从图域映射到嵌入域,使得图域中的信息可以保留在嵌入域中。

图嵌入的通用框架有四个组件:

  • 将节点从图域映射到嵌入域的映射函数
  • 提取图域中需要保留的关键信息\(L\)信息提取器
  • 利用嵌入域的嵌入重新构造所提取的图信息\(L\)重构器,重构的信息为\(L'\)
  • 通过对提取的信息\(L\)与重构的信息\(L'\)的目标进行优化,学习映射和重构器中涉及的所有参数

4.2 简单图的图嵌入

本章所研究的简单图是静态的、无向的、无符号且同质的。

4.2.1 保留节点共现

保留图中节点共现的流行方法之一是执行随机游走

  • 如果一些节点倾向于子某些随机游走中共同出现,则认为这些节点是相似的
  • 接着优化一个映射函数,使得学习到的节点表示能够重构从随机游走中提取的相似性

保留节点间共现关系的经典图嵌入算法是DeepWalk,其他保留节点共现的算法还有node2vec、LINE等。

DeepWalk