DeepWalk: Online Learning of Social Representations
本文是我参加Datawhale的CS224W图机器学习时的笔记,第一次学习图机器学习,对DeepWalk这篇开山之作的理解。
论文的三位作者均来自纽约州立大学石溪分校,杨振宁和丘成桐也曾在此教学。
摘要
论文的三位作者均来自纽约州立大学石溪分校,杨振宁和丘成桐也曾在此教学。
我们提出了DeepWalk,一种新颖的用于学习图中节点的潜在知识表示的方法。这些潜在的知识表示将图中节点之间的连接编码到一个连续的低维向量空间中,这使得知识很容易被统计模型所使用。DeepWalk将自然语言模型和无监督学习或深度学习在单词序列中的最新进展推广到图。
DeepWalk通过将随机游走序列类比做句子,从而利用截断的随机游走序列去学习潜在的图结点间的连接。我们在几个多标签图分类任务BlogCatalog, Flickr, and YouTube中论证DeepWalk的潜在知识的表示能力。结果显示在全图层面,DeepWalk的表现优于具有挑战性的基线方法,尤其是在有缺失信息的情况下。DeepWalk在有标签的数据稀疏的情况下比同类方法的F1成绩提高10%。DeepWalk优于所有的基线方法同时,少用了60%的数据。DeepWalk也是可扩展的,它是一个在线学习算法,可以不断生成新的结果,并且可以并行计算。这些优秀特性使它适合于多类型的真实应用场景,图分类和异常检测。
Introduction
在图结构的数据集中,很多时候表示图的邻接矩阵都是稀疏的,即很多位置都是0。稀疏矩阵是一把双刃剑,虽然可以被离散类的算法所利用[pass],但却不利用机器学习算法。所以作者将自然语言处理上大放异彩的无监督学习—Word2Vec的思想应用到图结构上。
图中的不同节点之间可能有相似性,不同节点也可以属于同一个社群,这些都是节点的潜在特征。DeepWalk正是利用节点的随机游走序列将节点的潜在特征编码到低维空间中。
为了验证模型在真实数据集上的表现,我们在具有多标签的大规模异质图上进行分类任务,图节点间的连接不满足传统的数据集样本之间独立同分布的假设,为了解决这个问题,一般使用近似推理。Deep Walk则跳出这些传统的方法,直接学习与标签无关的知识表示,这样模型不被样本标签所影响,进而生成的模型就能用于下游的诸多不同任务。
PROBLEM DEFINITION
首先,我们将问题定义为对一个社交网络图数据进行分类任务,定义变量如下。
- $G = (V,E): V是图的结点 ,E是结点之间的边,也就是图的邻接矩阵的元素 $
- $E \subseteq (E,E): E也就是图的邻接矩阵的元素 $
-
G
L
=
(
V
,
E
,
X
,
Y
)
:
这是一个标注好的网络
G_L=(V,E,X,Y): 这是一个标注好的网络
GL=(V,E,X,Y):这是一个标注好的网络
- X ∈ R ∣ V ∣ × S 即一个 V 行, S 列的实数矩阵,每行表示某个结点的特征 X \in \mathbb{R}^{|V| \times S}即一个V行,S列的实数矩阵,每行表示某个结点的特征 X∈R∣V∣×S即一个V行,S列的实数矩阵,每行表示某个结点的特征
- Y ∈ R ∣ V ∣ × ∣ y ∣ , y 是某个节点的标签 Y \in \mathbb{R}^{|V| \times |y|},y是某个节点的标签 Y∈R∣V∣×∣y∣,y是某个节点的标签
传统的方法总是试图找到一个在 X X X和 Y Y Y之间的映射,Deep Walk则是利用节点的嵌入向量去分析。
事实上,该问题不是一个新的问题,对于将图中节点的信息表示出来并进行分析。在过去的文献中,这被称为关系分类或集体分类。有用无向马尔科夫链进行推理、迭代近似推理算法(迭代分类算法—吉布斯采样、label relaxation)计算标签给定网络结构的后验概率分布。
我们提出的Deep Walk是一种无监督方法,不考虑节点标签的影响。这种将结构表示和标签相关的任务分离可以带来一些显而易见的好处:
- 尽可能减少在迭代计算中的级联错误的发送
- 可以被用于下游的诸多任务
我们的目标:学习获得 X E ∈ R ∣ V ∣ × d X_E \in \mathbb{R}^{|V| \times d} XE∈R∣V∣×d,其中 d d d是嵌入向量的维度。这个低维的嵌入向量是分布式的,意味着向量的各个维度都是不为0的
LEARNING SOCIAL REPRESENTATIONS
我们希望模型可以具有如下特征:
-
适应性:真实世界中的图结构是不断变化,新的变化不应该再重复全图的训练,只需要局部训练即可
-
反应社群的聚类信息:原图中相近的节点,在嵌入后其向量依然相近
-
嵌入向量低维度:当图中有标签的数据节点是稀疏时,低维度的模型总体表现更好,在收敛和推理上更快。低维度嵌入有助于防止过拟合
-
连续:向量每个维度都是一个连续的实数,这样可以在分类任务中提供一个平滑的决策边界。
Random Walks
随机游走序列:一个醉汉从图中的任意一个点向其他相邻节点前进,走过的节点序列即为随机游走序列。
定义从节点 V i V_i Vi出发的随机游走序列 W v i W_{v_i} Wvi,其节点为 W v i 1 , W v i 2 , . . . , W v i k W_{v_i}^1,W_{v_i}^2,...,W_{v_i}^k Wvi1,Wvi2,...,Wvik。 W v i k + 1 W_{v_i}^{k+1} Wvik+1是节点 v k v_k vk周围的一个随机邻居。
随机游走已被应用于内容推荐和社区检测领域中的各种相似性度量问题。通过该方法将离得近且容易走动(或连通)的节点聚集。随机游走也是输出敏感类算法(至少要遍历一遍全图)的基础,但却可以以输入图大小相匹配的时间计算局部社群结构信息。
两个优点:
- 随机游走是局部游走,并不是全局采样,即有一个最大长度。局部采样是容易并行计算,利用多个线程、进程或是计算机可以同时在不同节点开始随机游走。
- 随机游走序列可以反映图中一些细微的变化,这使得图结构变化时不需要全局重新计算,可以用新的随机游走序列迭代更新模型
Connection: Power laws
如果连通图中节点的度的分布遵循幂律分布(二八定律),例如无标度网络:网络中少数称之为Hub点的节点拥有极其多的连接,而大多数节点只有很少量的连接。
我们发现在随机游走序列中出现的节点也遵循幂律分布,少数节点占据了整个网络中的大部分连边,而多数节点的连边数量很少,可以认为这些节点是非常重要的。
在自然语言场景中,单词的分布也是遵循幂律分布,自然语言中的知识很好解释了这一现象。
上图利用真实世界的两个数据集进一步展示了这一现象,左图是YouTube的图数据集,纵轴是不同的节点数,横轴是同一节点在不同的随机游走序列中出现的次数,可以看出只有10数量级的节点出现了 1 0 3 10^3 103次以上。有图则是维基百科的文章名称的单词情况。
再次发现,本文的核心贡献之一是将自然语言处理的思想运用到了图分析上。
- 采样出随机游走序列,每个节点产生 γ \gamma γ个随机游走序列,每个序列的长度 t t t,都是从初始节点向相邻的节点游走的
- 输入中心词的词向量,预测周围词的词向量
一个工程上的技巧:分类个数较多,计算困难。可以将分类节点按树结构排列,减少计算量。将目标节点的向量输入进行计算 。
因此一共有两套权重,分别是嵌入表的词向量、和分类树的权重。
缺点:
用完全随机游走,训练节点的嵌入向量,仅能反映相邻节点的社群相似信息(离得近),无法反映节点的功能角色相似信息。
ReadPaper十问
- 论文试图解决什么问题?
图结构类型的数据中,结点在图中的连接关系很难被表示出来,更难以被传统的统计机器学习算法所利用。该论文主要将节点在图中的连接关系用一种容易被机器学习算法所使用的方法表示出来
- 是否是一个新的问题?
该问题不是一个新的问题,对于将图中节点的信息表示出来并进行分析。在过去的文献中,这被称为关系分类或集体分类。有用无向马尔科夫链进行推理、迭代近似推理算法(迭代分类算法—吉布斯采样、label relaxation)计算标签给定网络结构的后验概率分布。但将深度学习(无监督学习)的思想引入到图结点的分析中是首次
参考资料
斯坦福CS224W图机器学习、图神经网络、知识图谱【同济子豪兄】
[论文阅读] (25) 向量表征经典之DeepWalk:从Word2vec到DeepWalk,再到Asm2vec和Log2vec
理论危机 | 无标度网络遭到史上最严重质疑