DeepWalk: Online Learning of Social Representations

本文介绍了一种名为DeepWalk的社交网络表示学习方法,该方法通过随机游走和skip-gram模型来捕捉社交网络的结构特征,生成节点的低维向量表示,以用于分类等任务。

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}XRV×S,其中S为特征空间大小,Y∈R∣V∣×∣Υ∣,ΥY \in \Bbb R ^{|V|\times |\Upsilon|}, \UpsilonYRV×Υ,Υ为标签的集合。
以往对这类问题的解决方法一般是将其视为无向的马尔可夫网络,然后利用迭代近似推断算法(例如迭代分类算法,吉布斯采样或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(wnw0,w1,...,wn1)最大化。
本文提出了一个泛化的语言模型来通过一些短的随机游走来遍历图。这些序列可以看成是特定语言中的短句或短语。这样直接的模拟是为了对给出节点viv_ivi前的所有访问过的节点,来对viv_ivi进行似然估计。
Pr(vi∣(v1,v2,...,vi−1))Pr(v_i| (v_1, v_2, ..., v_{i-1}))Pr(vi(v1,v2,...,vi1))我们的目标不仅是学习节点共现的概率分布,还要学习节点的向量表示,因此我们引入一个映射Φ:v∈V−>R∣V∣×d\Phi:v \in V ->\Bbb R^{|V|\times d}Φ:vV>RV×d,映射表示了图中每个节点和它对应的向量。于是问题就变成了对以下表达式的似然估计:
Pr(vi∣Φ(v1),Φ(v2),...,Φ(vi−1))Pr(v_i | \Phi(v_1), \Phi(v_2), ..., \Phi(v_{i-1}))Pr(viΦ(v1),Φ(v2),...,Φ(vi1))然而随着路径变多,上式的结果将变得不可求得。然而最近的研究(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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值