2022-12-20 18:11:18
DeepWalk算法首次将无监督特征学习引入图网络分析,通过截断式随机游走和Skip-Gram模型学习节点的低维嵌入表示,使相似节点在低维空间距离相近。
Graph Embedding旨在找到一种映射函数,将图中的每个节点转换为低维稠密的嵌入表示,要求在图中相似的节点在低维空间距离相近。得到的表示向量可用于下游任务,如节点分类、链接预测、可视化等。
DeepWalk算法通过截断式随机游走(truncated random walk)来学习图网络节点的社区表示(Social Representations),首次将无监督特征学习引入图网络分析中。
以节点分类问题为例:
该方法可捕获与标签分布无关的图网络结构的特征,学得的表示具有通用性,可应用于多种下游任务。
DeepWalk算法学得的社区表示具有以下特征:
DeepWalk算法的思路是使用Random Walk算法在图网络中进行节点采样,获得了足够的节点访问序列后,使用Word2Vec的Skip-Gram算法进行表示学习。

如上图所示,图(a)来自无标度图网络上的一系列截断性随机游走,图(b)来自英语维基百科的100万条语料。其分布规律满足类似的幂律分布,因此可以将NLP的词向量模型(如Skip-Gram算法)应用在图网络的截断性随机游走中。
该算法包含两个主要的步骤:
1. Random Walk算法采样节点序列可扩展:在后续添加新的信息时,可只学习新的节点信息,无需从头学习。
可并行:可以同时从不同的节点处开始游走。
参考《学习笔记 - Word2Vec:Skip-Gram算法》。
通过DeepWalk算法获取图网络表示后,使用K-Means算法进行聚类,得到如下实验结果:

实验数据选取了成熟的空手道图网络,设置低维嵌入维度$d=2$,不同颜色代表节点的聚类。可见,将嵌入表示维数压缩至$d=2$的情况下,也取得了较好的聚类效果。