DeepWalk

1.背景

DeepWalk是一种学习网络中节点的隐式表征的新颖方法。这些隐式表征把社会关系编码到统计模型易于使用的连续的向量空间中。DeepWalk使用从删减的随机游走获得的局部信息,通过游走等价句子学习出隐式表征。DeepWalk还是可扩张的,它是一个构建增量结果的在线学习算法,并且是并行的。这些特性使其广泛适用于实际应用,如网络分类或异常检测。

2.原理

2.1 问题定义

  1. 考虑将社会网络成员分成若干类,令G=(V,E),其中V代表网络中的成员,E代表它们的连接,E∈(V×V)G_L=(V,E,X,Y)是部分标注的社会网络,满足X∈ℝ^{|V|×S}S是每个特征向量空间的大小,Y∈ℝ^{|V|×|y|}y是标签集。

  2. 在传统机器学习分类环境中,目标是学习一个从X的元素到标签集y的假定映射H。在这种情况下,可以利用有关嵌入到结构G的实例依赖的重要信息来取得较好的效果。

  3. 本文提出一种捕获网络拓扑信息的方法,在不把标签空间作为特征空间的一部分的情况下,使用无监督方法学习独立于标签分布的图结构特征。这种将结构表征和标签任务的分离避免了发生在迭代方法上的级联错误。此外相同的表征还可以用于考虑网络的多分类问题。

  4. 本文目标是学习X_E∈ℝ^{|V|×d},其中d是潜在的维数。这里d就是我们学习到的低维的隐藏的表示。这里的意思就是说,这里d维的向量中,包含了社区结构,我们可以通过这个向量进行进一步的训练和对整个社区的进一步的学习。

2.2 随机游走

Random Walk简单的说就是在图中选择一个顶点,然后由这个顶点开始选择一个随机的相连的顶点访问,然后再随机选择一个这个访问的顶点的一个相连顶点……以此循环周而复始可以得到一个长度为N的顶点序列,这个序列就是以此随机游走的结果。所以很明显的可以看到,这个随机游走的序列具有如下几个特点:

  1. 捕捉了图中的局部特点
  2. 容易的进行并行计算,同时选择N个节点开始遍历即可
  3. 在图的拓扑发生改变的时候,不需要重新计算整个图
    定义:
    把以节点v_i为起点的随机游走记作W_{v_i}。随机游走是一个由随机变量W_{v_i}^1、 W_{v_i}^2 、W_{v_i}^3 、W_{v_i}^4 、...、W_{v_i}^k决定的随机过程,使得W_{v_k}^{k+1}是从节点v_k的相邻节点中随机选择的。

2.3 语言建模

语言建模的目的是估计特定词序列出现在语料库的可能性。常见的语言模型:N-gram、CBOW、SkipGram
给定一个词序列:W^n_1=(w_0,w_1,…,w_n)

其中w_i∈V(词表),要在语料库上最大化Pr(w_n∣w_0,w_1,…,w_{n−1})
本文中提出了一种通过短随机游走来探索图的语言模型。这些游走可以被认为是一种特殊语言的短句和短语;直接模拟是估计在随机游走中访问过观测点v_i之前所有节点的可能性:
Pr(v_i∣(v_1,v_2,…,v_{i−1}))

目标是学习隐式表征,不只是节点共现的概率分布,因此我们引入映射函数Φ:v∈V↦ℝ|V|×d。映射Φ表示与图中每个节点v相关的隐式社会表征。实际上用自由参数的矩阵|V|×d来表示Φ。于是问题变成了估计可能性:
Pr(v_i∣(Φ(v_1),Φ(v_2),…,Φ(v_{i−1})))

但是,随着随机游走路径长度的增加,上述概率的计算会非常复杂,计算概率会变得行不通。因此,论文借鉴了Mikolov的两篇关于语言模型的论文[1][2],进行了三种处理:首先,用一个词预测整篇文章,而不是用一篇文章预测一个词;其次,文章由给定单词的左右单词,即邻居词组成;最后,忽略单词顺序,不再受限于词与词之间的顺序关系。由此,优化目标表示为:
minΦ−logPr({v_i−w,…,v_i+w}∖v_i∣Φ(v_i))

2.4 DeepWalk

该算法由两个主要部分组成:随机游走生成器和更新过程。随机游走生成器在图G上均匀采样一个随机节点v_i作为随机游走W_i的起点。每次游走都对上一个访问到的节点均匀随机采样一个邻节点,直到达到最大长度(t)。尽管将实验中的随机游走的长度设为定值,但对于相同长度的随机游走来说没有任何限制。这些游走可能会重新开始(回到起点),但是初步结果没有显示重新开始的任何优势。在实践中对每个起始节点指定了一些长度为t的随机游走γ


3.源码

├── deepwalk
│   ├── __init__.py
│   ├── __main__.py
│   ├── graph.py
│   ├── skipgram.py
│   └── walks.py

4.参考文献

  1. 论文地址:https://arxiv.org/pdf/1403.6652.pdf
  2. 代码地址:https://github.com/phanein/deepwalk
  3. https://www.shintaku.cc/posts/deepwalk/
  4. http://lipixun.me/2018/01/11/deepwalk
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 213,558评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,002评论 3 387
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 159,036评论 0 349
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,024评论 1 285
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,144评论 6 385
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,255评论 1 292
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,295评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,068评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,478评论 1 305
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,789评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,965评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,649评论 4 336
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,267评论 3 318
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,982评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,223评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,800评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,847评论 2 351

推荐阅读更多精彩内容