Bryan Perozzi et. al. 2014
问题定义
考虑对社交网络中每个成员进行分类的问题。令G=(V,E)G=(V, E)G=(V,E),其中V为网络节点,E为边。给出一个不完全标注的社交网络 GL=(V,E,X,Y)G_L = (V, E, X, Y)GL=(V,E,X,Y),其中X∈R∣V∣×SX\in\Bbb R^{|V|\times S}X∈R∣V∣×S,其中S为特征空间大小,Y∈R∣V∣×∣Υ∣,ΥY \in \Bbb R ^{|V|\times |\Upsilon|}, \UpsilonY∈R∣V∣×∣Υ∣,Υ为标签的集合。
以往对这类问题的解决方法一般是将其视为无向的马尔可夫网络,然后利用迭代近似推断算法(例如迭代分类算法,吉布斯采样或label relaxation)来计算label的后验分布。
本文提出了一个学习网络拓扑信息的不同的方法。我们利用一个无监督方法来学习能够抓住图结构的feature,这种方法不必考虑标签的分布。
social representation有如下特性:
- 适应性:社交网络中会不断有新的关系加入,此时不应该重复前面全部的学习过程
- community aware:向量间的距离应该能够表示两个相关成员间的相似性
- 低维度:当缺少标签时,低维度的模型泛化能力更强,并且能够快速收敛和推断
- 连续性:我们在连续空间中获得成员的向量表示
Deep walk方法依据
如果一个连通图的度分布符合幂律分布,那么在它随机游走中节点的出现频率也符合幂律分布。而自然语言中的词频有相似的分布,因此认为将语言模型迁移到图中是合理的。
语言模型
语言模型的目标是对语料中的特定词序列进行似然估计。给出一个词序列:
W1n=(w0,w1,...,wn)W_1^n = (w_0, w_1, ..., w_n)W1n=(w0,w1,...,wn)其中wi∈Υw_i\in\Upsilonwi∈Υ,Υ表示词表\Upsilon表示词表Υ表示词表,我们将在整个训练集上使Pr(wn∣w0,w1,...,wn−1)Pr(w_n|w_0, w_1, ..., w_{n-1})Pr(wn∣w0,w1,...,wn−1)最大化。
本文提出了一个泛化的语言模型来通过一些短的随机游走来遍历图。这些序列可以看成是特定语言中的短句或短语。这样直接的模拟是为了对给出节点viv_ivi前的所有访问过的节点,来对viv_ivi进行似然估计。
Pr(vi∣(v1,v2,...,vi−1))Pr(v_i| (v_1, v_2, ..., v_{i-1}))Pr(vi∣(v1,v2,...,vi−1))我们的目标不仅是学习节点共现的概率分布,还要学习节点的向量表示,因此我们引入一个映射Φ:v∈V−>R∣V∣×d\Phi:v \in V ->\Bbb R^{|V|\times d}Φ:v∈V−>R∣V∣×d,映射表示了图中每个节点和它对应的向量。于是问题就变成了对以下表达式的似然估计:
Pr(vi∣Φ(v1),Φ(v2),...,Φ(vi−1))Pr(v_i | \Phi(v_1), \Phi(v_2), ..., \Phi(v_{i-1}))Pr(vi∣Φ(v1),Φ(v2),...,Φ(vi−1))然而随着路径变多,上式的结果将变得不可求得。然而最近的研究(word2vec)调转了方向,首先,它利用一个词来预测它的上下文,而不是通过上下文来预测目标词。第二,上下文由词左右的单词同时组成。最后,它取消了对上下文中单词顺序的约束。这种转换能够更好地抓住随机游走中“nearness”特性,且很大程度上加快了训练速度。
算法

在随机游走的具体实现过程中,图中每个节点作为root的次数设定为相同,节点可以回头,然后使用这类序列在训练过程中并没有表现出任何优点。
Skipgram使用分层softmax。
众所周知(,对vocabulary进行shuffle能够加速随机梯度下降的收敛。
并行化以及一些变形
实验证明利用ASGD并行地训练embedding并不影响模型的表现。
deep walk的一种变体是streaming的方法。在这种方法里随机游走的路径直接被输入到表示学习模型中,然后模型就可以直接被更新。然而使用这种方法就不能再用decaying learning rate。第二,如果我们能够预估最终节点的大小,可以预先为将要加入的节点在分层softmax中留出位置。
实验
数据集:
- BLOGCATALOG 一个博客作者关系网,label为作者的话题类别
- FLICKR 一个图片分享网站用户之前的联系,label为用户的兴趣圈子
- YOUTUBE 视频分享网站(。)中用户的关系网,label为视频类别
分类方式:
deep walk和baseline得到的embedding统一使用OVR LR
本文介绍了一种名为DeepWalk的社交网络表示学习方法,该方法通过随机游走和skip-gram模型来捕捉社交网络的结构特征,生成节点的低维向量表示,以用于分类等任务。

1093

被折叠的 条评论
为什么被折叠?



