DeepWalk论文翻译
DeepWalk: Online Learning of Social Representations
DeepWalk:社会表征的在线学习
ABSTRACT
我们提出了 DeepWalk,一种学习网络中顶点潜在表示的新方法。这些潜在表示在连续向量空间中对社会关系进行编码,很容易被统计模型利用。 DeepWalk 概括了语言建模和无监督特征学习(或深度学习)从单词序列到图形的最新进展。
DeepWalk 使用从截断随机游走获得的局部信息,通过将游走视为句子的等价物来学习潜在表示。我们在 BlogCatalog、Flickr 和 YouTube 等社交网络的多个多标签网络分类任务上展示了 DeepWalk 的潜在表示。我们的结果表明,DeepWalk 的性能优于具有挑战性的基线,这些基线允许对网络进行全局视图,特别是在存在丢失信息的情况下。当标记数据稀疏时,DeepWalk 的表示可以提供比竞争方法高出 10% 的 F 1 F_1 F1 分数。在一些实验中,DeepWalk 的表示能够优于所有基线方法,同时使用的训练数据少 60%。
DeepWalk 也是可扩展的。它是一种在线学习算法,可以构建有用的增量结果,并且可以轻松并行化。这些品质使其适合广泛的现实世界应用,例如网络分类和异常检测。
Categories and Subject Descriptors 类别和主题描述符
H.2.8【数据库管理】:数据库应用——数据挖掘; I.2.6【人工智能】:学习; I.5.1【模式识别】:模型-统计
干嘛用的我也不知道
1. INTRODUCTION
网络表示的稀疏性既是优点也是缺点。稀疏性使得设计高效的离散算法成为可能,但也使得统计学习中的泛化变得更加困难。网络中的机器学习应用(例如网络分类、内容推荐、异常检测和缺失链接预测)必须能够处理这种稀疏性才能生存。
在本文中,我们首次将深度学习(无监督特征学习)技术引入网络分析中,该技术在自然语言处理中已被证明是成功的。我们开发了一种算法(DeepWalk),通过对短随机游走流进行建模来学习图顶点的社会表示。社会表示是捕捉邻域相似性和社区成员资格的顶点的潜在特征。这些潜在表示将社会关系编码在具有相对较少维度的连续向量空间中。DeepWalk 概括了神经语言模型来处理由一组随机生成的行走组成的特殊语言。这些神经语言模型已被用来捕获人类语言的语义和句法结构,甚至逻辑类比。
DeepWalk 将图作为输入并生成潜在表示作为输出。将我们的方法应用于经过充分研究的空手道网络的结果如图 1 所示。该图通常由力导向布局呈现,如图 1a 所示。图 1b 显示了我们的方法具有 2 个潜在维度的输出。除了惊人的相似性之外,我们注意到(1b)的线性可分离部分对应于通过输入图(1a)中的模块化最大化找到的簇(显示为顶点颜色)。
图 1:我们提出的方法学习 R d \mathbb R^d Rd 中社交互动的潜在空间表示。学习到的表示对社区结构进行编码,因此可以很容易地被标准分类方法利用。在这里,我们的方法用于 Zachary 的空手道网络,以生成 R 2 \mathbb R^2 R2 中的潜在表示。注意输入图中的社区结构和嵌入之间的对应关系。顶点颜色表示输入图的基于模块化的聚类。
为了展示 DeepWalk 在现实场景中的潜力,我们评估了其在大型异构图中具有挑战性的多标签网络分类问题的性能。在关系分类问题中,假设特征向量之间的联系违反了传统的独立同分布。解决此问题的技术通常使用近似推理技术来利用依赖性信息来改进分类结果。我们通过学习图的标签独立表示来远离这些方法。我们的表示质量不受标记顶点选择的影响,因此它们可以在任务之间共享。
DeepWalk 在创建社交维度方面优于其他潜在表示方法,特别是当标记节点稀缺时。通过非常简单的线性分类器(例如逻辑回归),我们的表示可以实现出色的性能。我们的表示是通用的,可以与任何分类方法(包括迭代推理方法)结合。DeepWalk 实现了所有这些目标,同时也是一种可轻松并行化的在线算法。
我们的贡献如下:
- 我们引入深度学习作为分析图形的工具,以构建适合统计建模的稳健表示。DeepWalk 学习短随机游走中存在的结构规律。
- 我们广泛评估了我们在多个社交网络上的多标签分类任务的表示。我们发现,在标签稀疏的情况下,分类性能显着提高,在我们考虑的最稀疏问题上,比 Micro F 1 F_1 F1 提高了 5%-10%。在某些情况下,即使训练数据少 60%,DeepWalk 的表示也能优于竞争对手。
- 我们通过使用并行实现构建网络规模图(例如 YouTube)的表示来展示我们算法的可扩展性。此外,我们描述了构建我们的方法的流版本所需的最小更改。
本文的其余部分安排如下。在第 2 节和第 3 节中,我们讨论数据网络中分类的问题表述,以及它与我们的工作有何关系。在第 4 节中,我们介绍 DeepWalk,我们的社会表征学习方法。我们在第 5 节中概述了我们的实验,并在第 6 节中介绍了他们的结果。我们在第 7 节中对相关工作进行了讨论,并得出了我们的结论。
2. PROBLEM DEFINITION
我们考虑将社交网络的成员分为一个或多个类别的问题。更正式地说,令 G = ( V , E ) G = (V, E) G=(V,E),其中 V V V 是网络的成员, E E E 是其边, E ⊆ ( V × V ) E~\subseteq~(V\times V) E ⊆ (V×V)。给定一个部分标记的社交网络 G L = ( V , E , X , Y ) G_{L}=(V,E,X,Y) GL=(V,E,X,Y),其属性 X ∈ R ∣ V ∣ × S X\in\mathbb{R}^{|V|\times S} X∈R∣V∣×S,其中 S S S 是每个属性向量的特征空间的大小, Y ∈ R ∣ V ∣ × ∣ Y ∣ Y\in\mathbb{R}^{|V|\times|\mathcal{Y}|} Y∈R∣V∣×∣Y∣ , Y \mathcal Y Y 是标签集。
在传统的机器学习分类设置中,我们的目标是学习一个假设 H H H,将 X X X 的元素映射到标签集 Y \mathcal Y Y 。在我们的例子中,我们可以利用嵌入在 G G G 结构中的示例依赖关系的重要信息来实现,出众的表演。
在文献中,这被称为关系分类(或集体分类问题)。传统的关系分类方法将问题作为无向马尔可夫网络中的推理,然后使用迭代近似推理算法(例如迭代分类算法、吉布斯采样或标签松弛)来计算,给定网络结构的标签的后验分布。
我们提出了一种不同的方法来捕获网络拓扑信息。我们提出了一种无监督方法,该方法不是将标签空间混合为特征空间的一部分,而是学习捕获独立于标签分布的图结构的特征。
结构表示和标记任务之间的这种分离避免了迭代方法中可能发生的级联错误。此外,相同的表示可以用于涉及该网络的多个分类问题。
我们的目标是学习 X E ∈ R ∣ V ∣ × d X_{E}\in\mathbb{R}^{|V|\times d} XE∈R∣V∣×d,其中 d d d 是少量的潜在维度。这些低维表示是分布式的;这意味着每个社会现象都由维度的子集来表达,并且每个维度都对空间表达的社会概念的子集做出贡献。
利用这些结构特征,我们将扩大属性空间以帮助分类决策。这些特征是通用的,可以与任何分类算法(包括迭代方法)一起使用。然而,我们相信这些功能的最大用途是它们可以与简单的机器学习算法轻松集成。正如我们将在第 6 节中展示的那样,它们在现实网络中可以适当扩展。
3. LEARNINGSOCIALREPRESENTATIONS
我们寻求学习具有以下特征的社会表征:
- 适应性(Adaptability) - 真实的社交网络在不断发展,新的社会关系不应该需要再次重复学习过程。
- 社区意识(Community aware) - 潜在维度之间的距离应代表评估网络相应成员之间社会相似性的指标。这允许在具有同质性的网络中进行泛化。
- 低维(Low dimensional) - 当标记数据稀缺时,低维模型可以更好地泛化,并加速收敛和推理。
- 连续(Continuous) - 我们需要潜在的表示来模拟连续空间中的部分社区成员资格。除了提供社区成员的细致入微的视图之外,连续表示在社区之间具有平滑的决策边界,从而允许更稳健的分类。
我们满足这些要求的方法使用最初为语言建模设计的优化技术,从短随机游走流中学习顶点的表示。在这里,我们回顾随机游走和语言建模的基础知识,并描述它们的组合如何满足我们的要求。
3.1 Random Walks
我们将以顶点 v i v_i vi为根的随机游走表示为 W v i \mathcal{W}_{v_{i}} Wvi。这是一个随机过程,随机变量为 W v i 1 , W v i 2 , … , W v i k \mathcal{W}_{v_{i}}^{1},\mathcal{W}_{v_{i}}^{2},\ldots,\mathcal{W}_{v_{i}}^{k} Wvi1,Wvi2,…,Wvik 使得 W v i k + 1 \mathcal{W}_{v_{i}}^{k+1} Wvik+1 是从顶点 v k v_k vk 的邻居中随机选择的顶点。随机游走已被用作内容推荐和社区检测中各种问题的相似性度量。它们也是一类输出敏感算法的基础,这些算法使用它们来计算与输入图大小呈次线性的时间局部社区结构信息。
正是这种与局部结构的联系促使我们使用短随机游走流作为从网络中提取信息的基本工具。除了捕获社区信息之外,使用随机游走作为我们算法的基础还为我们提供了另外两个理想的属性。首先,局部探索很容易并行化。多个随机游走器(在不同的线程、进程或机器中)可以同时探索同一图的不同部分。其次,依靠从短随机游走获得的信息,可以适应图结构的微小变化,而无需全局重新计算。我们可以使用新的随机游走迭代更新学习模型,从时间亚线性的变化区域到整个图。
3.2 Connection: Power laws 连接:幂律
选择在线随机游走作为捕获图结构的原语后,我们现在需要一种合适的方法来捕获此信息。如果连通图的度分布遵循幂律分布(无标度),我们观察到顶点在短随机游走中出现的频率也将遵循幂律分布。
自然语言中的词频遵循类似的分布,语言建模技术可以解释这种分布行为。为了强调这种相似性,我们在图 2 中展示了两种不同的幂律分布。第一个来自无标度图上的一系列短随机游走,第二个来自英语维基百科的 100,000 篇文章的文本。
3.3 Language Modeling
语言建模的目标是估计特定单词序列出现在语料库中的可能性。更正式地说,给定一个单词序列
W 1 n = ( w 0 , w 1 , ⋯ , w n ) W_1^n=(w_0,w_1,\cdots,w_n) W1n=(w0,w1,⋯,wn)
其中 w i ∈ V w_i \in \mathcal V wi∈V( V \mathcal V V 是词汇表),我们希望在所有训练语料库上最大化 Pr ( w n ∣ w 0 , w 1 , ⋯ , w n − 1 ) \operatorname*{Pr}(w_{n}|w_{0},w_{1},\cdots,w_{n-1}) Pr(wn∣w0,w1,⋯,wn−1)。
表示学习的最新工作重点是使用概率神经网络来构建单词的一般表示,从而将语言建模的范围扩展到超出其原始目标。
在这项工作中,我们提出了语言建模的概括,以通过一系列短随机游走来探索图。这些散步可以被认为是特殊语言中的短句和短语。直接模拟是根据随机游走中迄今为止访问过的所有先前顶点来估计观察顶点 v i v_i vi 的可能性。
Pr ( v i ∣ ( v 1 , v 2 , ⋯ , v i − 1 ) ) \Pr\left(v_i\mid(v_1,v_2,\cdots,v_{i-1})\right) Pr(vi∣(v1,v2,⋯,vi−1))
我们的目标是学习潜在表示,而不仅仅是节点共现的概率分布,因此我们引入映射函数 Φ : v ∈ V ↦ R ∣ V ∣ × d \Phi\colon v\in V\mapsto\mathbb{R}^{|V|\times d} Φ:v∈V↦R∣V∣×d。该映射 Φ \Phi Φ 表示与图中每个顶点 v v v 相关的潜在社会表征。(实际上,我们用自由参数的 ∣ V ∣ × d {|V|\times d} ∣V∣×d 矩阵表示 Φ \Phi Φ,该矩阵稍后将用作我们的 X E X_E XE)接下来的问题是估计可能性:
Pr ( v i ∣ ( Φ ( v 1 ) , Φ ( v 2 ) , ⋯ , Φ ( v i − 1 ) ) ) ( 1 ) \Pr\left(v_i\mid\left(\Phi(v_1),\Phi(v_2),\cdots,\Phi(v_{i-1})\right)\right)\quad\quad(1) Pr(vi∣(Φ(v1),Φ(v2),⋯,Φ(vi−1)))(1)
然而,随着步行长度的增加,计算这个目标函数变得不可行。
最近语言模型的放松彻底改变了预测问题。首先,它不是使用上下文来预测缺失的单词,而是使用一个单词来预测上下文。其次,上下文由出现在给定单词右侧和左侧的单词组成。最后,它消除了问题的排序约束。相反,模型需要最大化任何单词出现在上下文中的概率,而不知道其与给定单词的偏移量。
就顶点表示建模而言,这会产生优化问题:
minimize − log Pr ( { v i − w , ⋯ , v i − 1 , v i + 1 , ⋯ , v i + w } ∣ Φ ( v i ) ) ( 2 ) \text{minimize}\quad-\log\text{Pr}\left(\{v_{i-w},\cdots,v_{i-1},v_{i+1},\cdots,v_{i+w}\}\mid\Phi(v_i)\right)\quad(2) minimize−logPr({vi−w,⋯,vi−1,vi+1,⋯,vi+w}∣Φ(vi))(2)
我们发现这些放松对于社会表征学习特别理想。首先,顺序无关假设更好地捕捉了随机游走提供的“接近”感。此外,这种松弛对于通过构建小模型来加快训练时间非常有用,因为一次给出一个顶点。
从公式2构建解决优化问题 表示捕获顶点之间局部图结构中共享相似性。具有相似邻域的顶点将获得相似的表示(编码引用相似性),并允许机器学习任务的泛化。
通过结合截断随机游走和神经语言模型,我们制定了一种满足我们所有所需属性的方法。该方法生成低维社交网络的表示,并且存在于连续向量空间中。它的表示对社区成员资格的潜在形式进行编码,并且由于该方法输出有用的中间表示,因此它可以适应不断变化的网络拓扑。
4. METHOD
在本节中,我们讨论算法的主要组成部分。,我们还提出了我们方法的几种变体并讨论了它们的优点。
4.1 Overview
与任何语言建模算法一样,唯一需要的输入是语料库和词汇 V \mathcal V V。DeepWalk 将一组短截断随机游走视为自己的语料库,并将图顶点视为自己的词汇( V = V \mathcal V = V V=V)。虽然在训练之前了解随机游走中顶点的 V V V 和频率分布是有益的,但算法并不需要像我们将在 4.2.2 中展示的那样工作。
4.2 Algorithm: DeepWalk
该算法由两个主要部分组成;第一个是随机游走生成器,第二个是更新过程。
随机游走生成器采用图 G G G 并均匀采样随机顶点 v i v_i vi 作为随机游走 W v i W_{v_i} Wvi 的根。游走从最后访问的顶点的邻居中均匀采样,直到达到最大长度 ( t ) (t) (t)。虽然我们在实验中将随机游走的长度设置为固定,但随机游走的长度没有限制。这些行走可能会重新启动(即返回到其根的传送概率),但我们的初步结果并未显示使用重新启动的任何优势。实际上,我们的实现指定了从每个顶点开始的多个长度为 t t t 的随机游走 γ \gamma γ。
算法 1 中的第 3-9 行显示了我们方法的核心。外循环指定我们应该在每个顶点开始随机游走的次数 γ \gamma γ。我们将每次迭代视为对数据进行一次“传递”,并在该传递过程中对每个节点进行一次采样采样。在每次传递开始时,我们都会生成一个随机顺序来遍历顶点。这不是严格要求的,但众所周知可以加速随机梯度下降的收敛。
在内部循环中,我们迭代图的所有顶点。对于每个顶点 v i v_i vi,我们生成一个随机游走 ∣ W v i ∣ = t |\mathcal{W}_{v_i}| = t ∣Wvi∣=t,然后用它来更新我们的表示(第 7 行)。我们使用 SkipGram 算法根据公式2中的目标函数来更新这些表示。
4.2.1 SkipGram
SkipGram 是一种语言模型,可最大化句子中窗口 w w w 内出现的单词之间的共现概率。
算法 2 迭代出现在窗口 w w w 内的随机游走中的所有可能的搭配(第 1-2 行)。对于每个顶点,我们将每个顶点 v j v_j vj 映射到其当前表示向量 Φ ( v j ) ∈ R d \Phi(v_{j})\in\mathbb{R}^{d} Φ(vj)∈Rd(见图 3b)。给定 v j v_j vj 的表示,我们希望最大化其邻居在行走中的概率(第 3 行)。我们可以使用多种分类器选择来学习这种后验分布。例如,使用逻辑回归对前面的问题进行建模将产生大量等于 ∣ V ∣ \left|V\right| ∣V∣的标签。这可能是数百万或数十亿。此类模型需要大量的计算资源,这些资源可能跨越整个计算机集群。为了加快训练时间,可以使用 Hierarchical Softmax来近似概率分布。
4.2.2 Hierarchical Softmax
鉴于 u k ∈ V u_k \in V uk∈V,计算第 3 行中的 Pr ( u k ∣ Φ ( v j ) ) \operatorname*{Pr}(u_{k}\mid\Phi(v_{j})) Pr(uk∣Φ(vj))是不可行的。计算配分函数(归一化因子)的成本很高。如果我们将顶点分配给二叉树的叶子,预测问题就变成了最大化树中特定路径的概率(见图 3c)。如果到顶点 u k u_k uk 的路径由一系列树节点 ( b 0 , b 1 , … , b ⌈ log ∣ V ∣ ⌉ ) (b_0,b_1,\ldots,b_{\lceil\log|V|\rceil}) (b0,b1,…,b⌈log∣V∣⌉) 标识, ( b 0 = r o o t , b ⌈ log ∣ V ∣ ⌉ = u k ) (b_0 = root,b_{\lceil\log|V|\rceil}=u_{k}) (b0=root,b⌈log∣V∣⌉=uk),则
Pr ( u k ∣ Φ ( v j ) ) = ∏ l = 1 ⌈ log ∣ V ∣ ⌉ Pr ( b l ∣ Φ ( v j ) ) \Pr(u_k\mid\Phi(v_j))=\prod\limits_{l=1}^{\lceil\log|V|\rceil}\Pr(b_l\mid\Phi(v_j)) Pr(uk∣Φ(vj))=l=1∏⌈log∣V∣⌉Pr(bl∣Φ(vj))
现在, Pr ( b l ∣ Φ ( v j ) ) \Pr(b_l\mid\Phi(v_j)) Pr(bl∣Φ(vj))可以通过分配给节点 b l b_l bl 的父节点的二元分类器进行建模。这将计算 Pr ( u k ∣ Φ ( v j ) ) \Pr(u_k\mid\Phi(v_j)) Pr(uk∣Φ(vj))的计算复杂度从 O ( ∣ V ∣ ) O(|V|) O(∣V∣) 降低到 O ( l o g ∣ V ∣ ) O(log |V|) O(log∣V∣)。
我们可以通过为随机游走中的频繁顶点分配较短的路径来进一步加快训练过程。霍夫曼编码用于减少树中频繁元素的访问时间。
4.2.3 Optimization
模型参数集为 { Φ , T } \{\Phi,T\} {Φ,T},其中每个参数的大小为 O ( d ∣ V ∣ ) O(d|V|) O(d∣V∣)。随机梯度下降 (SGD) 用于优化这些参数(第 4 行,算法 2)。使用反向传播算法来估计导数。 SGD 的学习率 α \alpha α 在训练开始时最初设置为 2.5%,然后随着迄今为止看到的顶点数量线性下降。
4.3 Parallelizability
如图 2 所示,社交网络随机游走中的顶点频率分布和语言中的单词都遵循幂律。这会导致不频繁顶点的长尾,因此,影响 Φ \Phi Φ 的更新本质上是稀疏的。这允许我们在多工作人员的情况下使用异步版本的随机梯度下降(ASGD)。鉴于我们的更新是稀疏的,并且我们没有获取访问模型共享参数的锁,ASGD 将实现最佳收敛速度。当我们使用多线程在一台机器上运行实验时,已经证明该技术具有高度可扩展性,并且可以用于超大规模机器学习。图 4 显示了并行化 DeepWalk 的效果。它表明,当我们将工作线程数量增加到 8 时,BlogCatalog 和 Flickr 网络的处理速度是一致的(图 4a)。它还表明,相对于连续运行的 DeepWalk,预测性能没有损失(图 4b)。
4.4 Algorithm Variants
在这里,我们讨论我们提出的方法的一些变体,我们认为这些变体可能会令人感兴趣。
4.4.1 Streaming
这种方法的一个有趣的变体是流式方法,它可以在不了解整个图的情况下实现。在这个变体中,图中的小步直接传递到表示学习代码,并且模型直接更新。对学习过程进行一些修改也是必要的。首先,使用衰减的学习率将不再可能。相反,我们可以将学习率 α \alpha α 初始化为一个小的常数值。这将需要更长的时间来学习,但在某些应用程序中可能是值得的。其次,我们不一定再构建参数树。如果 V V V 的基数已知(或可以有界),我们可以为该最大值构建分层 Softmax 树。当第一次看到剩余叶子时,可以将顶点分配给其中一个叶子。如果我们有能力先验地估计顶点频率,我们仍然可以使用霍夫曼编码来减少频繁的元素访问时间。
4.4.2 Non-random walks
有些图表是作为代理与一系列元素交互的副产品而创建的(例如用户在网站上的页面导航)。当通过这样的非随机游走流创建图时,我们可以使用此过程直接为建模阶段提供数据。以这种方式采样的图不仅会捕获与网络结构相关的信息,还会捕获与路径遍历的频率相关的信息。
我们认为,这种变体还包含语言建模。句子可以被视为通过适当设计的语言网络的有目的的行走,而像 SkipGram 这样的语言模型就是为了捕捉这种行为而设计的。
这种方法可以与流变体(第 4.4.1 节)结合起来,在不断发展的网络上训练特征,而无需显式构建整个图。使用这种技术维护表示可以实现网络规模分类,而无需处理网络规模图的麻烦。
5. EXPERIMENTAL DESIGN
在本节中,我们概述了我们将在实验中使用的数据集和方法。用于重现我们结果的代码和数据将在第一作者的网站上提供。
5.1 Datasets
图 1 给出了我们在实验中考虑的图表概述。
- BlogCatalog 是博客作者提供的社交关系网络。标签代表作者提供的主题类别。
- Flickr 是照片共享网站用户之间的联系网络。这些标签代表用户的兴趣组,例如“黑白照片”。
- YouTube 是流行视频共享网站用户之间的社交网络。这里的标签代表喜欢常见视频类型(例如动漫和摔跤)的观众群体。
5.2 Baseline Methods
为了验证我们方法的性能,我们将其与许多基线进行比较:
- SpectralClustering:该方法根据 L ~ \widetilde{\mathcal{L}} L 的 d d d-最小特征向量( G G G 的归一化图拉普拉斯算子)生成 R d \mathbb R^d Rd 中的表示。利用 L ~ \widetilde{\mathcal{L}} L 的特征向量隐式假设图割对于分类有用。
- Modularity:该方法从 B B B 的 t o p − d top-d top−d 特征向量( G G G 的模块化矩阵)生成 R d \mathbb R^d Rd 中的表示。 B B B 的特征向量编码有关 G G G 的模块化图分区的信息。使用它们作为特征假设模块化图分区对于分类很有用。
- EdgeCluster:该方法使用 k k k 均值聚类对 G G G 的邻接矩阵进行聚类。它已被证明与 Modularity 方法的性能相当,并且具有缩放到对于谱分解来说太大的图的额外优势。
- wvRN:加权投票关系邻居是一个关系分类器。给定顶点 v i v_i vi 的邻域 N i \mathcal N_i Ni,wvRN 使用其邻居的(适当归一化的)加权平均值来估计 P r ( y i ∣ N i ) \mathrm{Pr}(y_{i}|\mathcal{N}_{i}) Pr(yi∣Ni)(即 P r ( y i ∣ N i ) = 1 Z ∑ v i ∈ N i w i j P r ( y j ∣ N j ) \mathrm{Pr}(y_{i}|\mathcal{N}_{i})~=~\frac{1}{Z}\sum_{v_{i}\in\mathcal{N}_{i}}w_{ij}\mathrm{Pr}(y_{j}\mid\mathcal{N}_{j}) Pr(yi∣Ni) = Z1∑vi∈NiwijPr(yj∣Nj))。它在真实网络中表现出了令人惊讶的良好性能,并被提倡作为合理的关系分类基线。
- Majority:这种简单的方法只是选择训练集中最常见的标签。
6. EXPERIMENTS
在本节中,我们将对我们的方法进行实验分析。我们在许多多标签分类任务上对其进行了全面评估,并分析了其在多个参数上的敏感性。
6.1 Multi-Label Classification
为了便于我们的方法和相关基线之间的比较,我们使用与[39, 40]中完全相同的数据集和实验程序。具体来说,我们随机采样标记节点的一部分( T R T_R TR),并将它们用作训练数据。其余节点用作测试。我们重复此过程 10 次,并报告 M a c r o − F 1 Macro-F_1 Macro−F1 和 M i c r o − F 1 Micro-F_1 Micro−F1 的平均性能。如果可能的话,我们直接在此处报告原始结果 [39, 40]。对于所有模型,我们使用 LibLinear实现的一对一逻辑回归进行分类。我们给出 DeepWalk 的结果( γ = 80 , w = 10 , d = 128 \gamma = 80, w = 10, d = 128 γ=80,w=10,d=128)。(SpectralClustering、Modularity、EdgeCluster)的结果使用 Tang 和 Liu 的首选维度 d = 500 d = 500 d=500。
6.1.1 BlogCatalog
在这个实验中,我们将 BlogCatalog 网络上的训练比率 ( T R T_R TR) 从 10% 增加到 90%。我们的结果如表 2 所示。粗体数字代表每列中的最高性能。
DeepWalk 的性能始终优于 EdgeCluster、Modularity 和 wvRN。事实上,当仅使用 20% 的标记节点进行训练时,DeepWalk 在提供 90% 的数据时比这些方法表现更好。事实证明,SpectralClustering 的性能更具竞争力,但当标记数据在 M a c r o − F 1 ( T R ≤ 20 % ) Macro-F_1 (T_R \leq 20\%) Macro−F1(TR≤20%) 和 M i c r o − F 1 ( T R ≤ 60 % ) Micro-F_1 (T_R \leq 60\%) Micro−F1(TR≤60%) 上稀疏时,DeepWalk 仍然表现出色。
当仅标记图表的一小部分时,这种强大的性能是我们方法的核心优势。在下面的实验中,我们研究了我们的表示在更加稀疏的标记图上的性能。
6.1.2 Flickr
在此实验中,我们将 Flickr 网络上的训练比率 ( T R ) (T_R) (TR) 从 1% 更改为 10%。这相当于整个网络中有大约 800 到 8000 个标记为分类的节点。表 3 展示了我们的结果,与之前的实验一致。就 M i c r o − F 1 Micro-F_1 Micro−F1 而言,DeepWalk 的性能优于所有基线至少 3%。此外,当仅标记 3% 的图表时,其 M i c r o − F 1 Micro-F_1 Micro−F1 性能优于所有其他方法,即使它们提供了 10% 的数据。换句话说,DeepWalk 可以在训练数据减少 60% 的情况下超越基线。它在 M a c r o − F 1 Macro-F_1 Macro−F1 中也表现得相当好,最初表现接近SpectralClustering,但与 1% 的改进相距甚远。
6.1.3 YouTube
YouTube 网络比我们之前试验过的网络要大得多,并且它的大小阻止了我们的两种基线方法(SpectralClustering 和 Modularity)在其上运行。它比我们之前考虑的图表更接近现实世界的图表。
表 4 中列出了将训练比率 ( T R ) (T_R) (TR) 从 1% 更改为 10% 的结果。它们表明 DeepWalk 显着优于用于创建图形表示的可扩展基线 EdgeCluster。当使用 1% 的标记节点进行测试时, M i c r o − F 1 Micro-F_1 Micro−F1 提高了 14%。 M a c r o − F 1 Macro-F_1 Macro−F1 显示相应的 10% 增长。随着训练数据的增加,这一领先优势逐渐缩小,但 DeepWalk 在 Micro-F1 中领先 3%,在 Macro-F1 中领先 5%,令人印象深刻。
该实验展示了使用社会表征学习进行多标签分类所带来的性能优势。 DeepWalk 可以扩展到大型图,并且在这种稀疏标记的环境中表现得非常好。
6.2 Parameter Sensitivity
为了评估 DeepWalk 参数化的变化如何影响其在分类任务上的性能,我们在两个多标签分类任务(Flickr 和 BlogCatalog)上进行了实验。对于此测试,我们将窗口大小和行走长度固定为合理值 ( w = 10 , t = 40 ) (w = 10,t = 40) (w=10,t=40),这应该强调局部结构。然后,我们改变潜在维度的数量 ( d ) (d) (d)、每个顶点开始的行走次数 ( γ ) (\gamma) (γ) 以及可用训练数据量 ( T R ) (T_R) (TR),以确定它们对网络分类性能的影响。
6.2.1 Effect ofDimensionality
图 5a 显示了增加模型可用的潜在维度数量的效果。
图 5a1 和 5a3 检查了改变维度和训练率的影响。 Flickr 和 BlogCatalog 之间的性能非常一致,并且表明模型的最佳维度取决于训练示例的数量。(请注意,1% 的 Flickr 的标记示例大约与 10% 的 BlogCatalog 一样多)。
图 5a2 和 5a3 检查了改变维度和每个顶点的行走次数的影响。在不同的 γ \gamma γ 值下,维度之间的相对性能相对稳定。这些图表有两个有趣的观察结果。首先,大部分好处是通过在两个图中每个节点开始 γ = 30 \gamma=30 γ=30 次行走来实现的。其次,两张图之间不同 γ \gamma γ 值之间的相对差异非常一致。 Flickr 的边缘比 BlogCatalog 多一个数量级,我们发现这种行为很有趣。
这些实验表明我们的方法可以制作各种尺寸的有用模型。他们还表明,模型的性能取决于它所经历的随机游走的数量,并且模型的适当维度取决于可用的训练示例。
6.2.2 Effect ofsampling frequency
图 5a 显示了增加 γ \gamma γ(我们从每个顶点开始的随机游走次数)的效果。
对于不同维度(图5b1,图5b3)和训练数据量(图5b2,图5b4),结果非常一致。最初,增加 γ 对结果有很大影响,但这种影响很快就会减慢 ( γ > 10 ) (\gamma > 10) (γ>10)。这些结果表明,我们只需进行少量的随机游走就能够学习有意义的顶点潜在表示。
7. RELATEDWORK
我们提出的方法与以前的工作之间的主要区别可以总结如下:
- 我们学习潜在的社会表征,而不是计算与中心性或分区相关的统计数据。
- 我们不尝试扩展分类过程本身(通过集体推理或图内核)。
- 我们提出了一种仅使用本地信息的可扩展在线方法。大多数方法需要全局信息并且是离线的。
- 我们将无监督表示学习应用于图。
在本节中,我们讨论网络分类和无监督特征学习的相关工作。
7.1 Relational Learning
关系分类(或集体分类)方法使用数据项之间的链接作为分类过程的一部分。集体分类问题中的精确推理是NP困难的,解决方案集中在使用近似推理算法,该算法可能无法保证收敛。
与我们的工作最相关的关系分类算法通过学习集群、通过在附近节点之间添加边、使用 PageRank或通过扩展关系分类以考虑其他特征来整合社区信息。我们的工作采取了截然不同的方法。我们提出了一种学习网络结构表示的过程,而不是新的近似推理算法,然后可以由现有推理过程(包括迭代过程)使用该表示。
还提出了许多从图生成特征的技术。与这些方法相反,我们将特征创建过程构建为表示学习问题。
图核已被提议作为一种使用关系数据作为分类过程一部分的方法,但除非近似,否则速度相当慢。我们的方法是互补的;我们不是将结构编码为核函数的一部分,而是学习一种表示,允许它们直接用作任何分类方法的特征。
7.2 Unsupervised Feature Learning
分布式表示已被提出来建模概念之间的结构关系。这些表示通过反向传播和梯度下降进行训练。计算成本和数值不稳定导致这些技术被放弃了近十年。最近,分布式计算允许训练更大的模型,并且出现无监督学习算法的数据增长。分布式表示通常通过神经网络进行训练,这些网络在计算机视觉、语音识别和自然语言处理等不同领域取得了进步。
8. CONCLUSIONS
我们提出了 DeepWalk,一种学习顶点潜在社会表征的新方法。使用截断随机游走的局部信息作为输入,我们的方法学习编码结构规律的表示。对各种不同图的实验说明了我们的方法在具有挑战性的多标签分类任务上的有效性。
作为一种在线算法,DeepWalk 也是可扩展的。我们的结果表明,我们可以为太大而无法运行谱方法的图创建有意义的表示。在如此大的图上,我们的方法明显优于其他旨在稀疏性操作的方法。我们还表明我们的方法是可并行的,允许工作人员同时更新模型的不同部分。
除了有效和可扩展之外,我们的方法也是语言建模的一种有吸引力的概括。这种联系是互惠互利的。语言建模的进步可能会继续为网络产生改进的潜在表示。在我们看来,语言建模实际上是从不可观察的语言图中进行采样。我们相信,从可观察图建模中获得的见解反过来可能会改进不可观察图建模。
我们未来在该领域的工作将侧重于进一步研究这种二元性,利用我们的结果改进语言建模,并加强该方法的理论论证。
论文链接:
https://arxiv.org/pdf/1403.6652v2.pdf