论文阅读|DeepWalk: Online Learning of Social Representations

文章目录

  • 论文阅读|DeepWalk: Online Learning of Social Representations
    • Abstract
    • Introduction
    • Problem Definition
    • Learning Social Representations
    • Method
    • 实验设置
    • Related Work
    • 我的看法
    • 参考资料

Abstract

DeepWalk概括了语言模型和无监督特征学习(或深度学习)从单词序列到图形的最新进展。 DeepWalk 使用从截断的随机游走中获得的局部信息,通过将游走视为句子的等价物来学习潜在表示。


Introduction

上图是将karate_klub社交网络编码嵌入后社区结构之间的对应关系。

论文贡献如下:

  • 引入深度学习作为分析图的工具,以构建适用于统计建模的稳健表示。deepwalk使用很短的随机游走来学习图的结构规律。
  • 在标签稀疏性的网络上,显著提高了分类性能,Micro-F1指数提高了5%-10%。某些情况下,减少60%训练数据也有很好的表现。
  • 并实现行构建网络表示证明算法的可扩展性。

Problem Definition

  • 图G=(V,E)G = (V,E)G=(V,E)
  • GL=(V,E,X,Y)G_L=(V,E,X,Y)GL​=(V,E,X,Y)是部分标记的社交网络,X∈R∣V∣×SX∈R^{|V|×S}X∈R∣V∣×S,S是每个属性向量的特征空间的大小,Y∈R∣V∣×∣y∣Y∈R^{|V|×|y|}Y∈R∣V∣×∣y∣,y是标签集

论文中提出了一种不同的方法来捕获网络拓扑信息。 它没有将标签空间混合作为特征空间的一部分,而是提出了一种无监督的方法,该方法学习捕获独立于标签分布的图结构的特征。

结构表示和标记任务之间的分离避免了在迭代方法中可能发生的级联错误。

  • 目标是学习XE∈R∣V∣×dX_E∈R^{|V|×d}XE​∈R∣V∣×d,其中d是少量的潜在维度

Learning Social Representations

从以下几个方面来考虑社区学习:

  • 适应性:社会关系不因网络的发展而变化
  • 社区意识:一定的维度距离下网络中成员之间的社会相似性
  • 低维:当数据标记稀缺时,低维模型可以更好地泛化,并加速收敛和推理
  • 连续:潜在表征模拟连续空间中的部分社区成员

随机游走(Random Walks):以节点viv_ivi​为根的随机游走表示为Wvi⋅W_{vi·}Wvi⋅​

幂率(Power laws):单词出现的频率遵循幂率,若图中节点遵循幂率,则随机游走时邻居节点的出现也遵循幂率

语言模型(Language Modeling):语言建模的目标是估计特定单词序列在语料库中出现的可能性。准确说就是给定一个单词序列W1n=(w0,w1,⋅⋅⋅,wn)W_1^n=(w_0,w_1,···,w_n)W1n​=(w0​,w1​,⋅⋅⋅,wn​),其中wi∈V,Vw_i∈V,Vwi​∈V,V是词汇表,我们希望最大化Pr(wn∣w0,w1,⋅⋅⋅,wn−1)Pr(w_n|w_0,w_1,···,w_{n-1})Pr(wn​∣w0​,w1​,⋅⋅⋅,wn−1​)。

将此模型应用到网络中(节点即为单词),显然有
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∈V→R^{|V|×d}Φ:v∈V→R∣V∣×d。其中$\Phi $表示与图中每个顶点v相关联的潜在社会表示。此时,问题变成了概率
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​)))

使用单词来预测内容的语言模型,在建模上产生了优化问题,即最小化
minimize−logPr((vi−w,⋅⋅⋅,vi+w)vi∣Φ(vi))minimize \quad -logPr( ({ v_{i-w},···,v_ {i+w}}) \ v_i|Φ(v_i)) minimize−logPr((vi−w​,⋅⋅⋅,vi+w​) vi​∣Φ(vi​))


Method

DeepWalk

其中

  • γ\gammaγ表示每个节点的随机游走次数
  • O=shuffle(V):O=shuffle(V):O=shuffle(V):每次打乱节点的目的是:加快随机梯度下降的收敛速度

SkipGram

  • skipgram语言模型,可最大化窗口内单词的共现频率
  • 使用分层softmax来近似概率分布,如下图中c所示。

代码第三行计算成本很高,所以使用Hierarchical softmax。顶点分配给二叉树的叶子,将预测问题转化为最大化层次结构中特定路径的概率。如果到顶点uku_kuk​的路径由一系列树节点b0,b1,⋅⋅⋅,b∣log∣V∣∣,(b0=root,b∣log∣V∣∣=uk)b_0,b_1,···,b|log|V||,(b_0=root,b|log|V||=u_k)b0​,b1​,⋅⋅⋅,b∣log∣V∣∣,(b0​=root,b∣log∣V∣∣=uk​),则
Pr(uk∣Φ(vj))=∏l=1log∣V∣Pr(bl∣Φ(vj))Pr(u_k|\Phi (v_j))=\prod_{l=1}^{log|V|}Pr(b_l|\Phi (v_j)) Pr(uk​∣Φ(vj​))=l=1∏log∣V∣​Pr(bl​∣Φ(vj​))
此时,Pr(bl∣Φ(vj))Pr(b_l|\Phi(v_j))Pr(bl​∣Φ(vj​))可以通过分配给节点blb_lbl​的父节点的二分类器建模,
Pr(bl∣Φ(vj))=1/(1+e−Φ(vj)⋅Ψ(bl))Pr(b_l|\Phi(v_j))=1/(1+e^{-\Phi(v_j)·\Psi(b_l)}) Pr(bl​∣Φ(vj​))=1/(1+e−Φ(vj​)⋅Ψ(bl​))
其中Ψ(bl)∈Rd是分配给\Psi(b_l)∈R^d是分配给Ψ(bl​)∈Rd是分配给blb_lbl​的父节点的表示。

  • 使用霍夫曼编码减少树中频繁元素的访问时间


实验设置

数据集:BlogCatalog,Flickr,YouTube。

评价指标:Micro-F1


Related Work

提出的方法意义:

  • 学习潜在社区表示
  • 不尝试扩展分类程序本身
  • 提出了一种仅使用本地信息的可扩展在线方法
  • 将无监督表示学习应用于图

我的看法

优点:

  • 将词嵌入与图结合,提供了一种思路

缺点:

  • 算法仅考虑到了节点与节点的连接关系,不适用于复杂网络,如有权重和属性的边。
  • 准确率较低

参考资料

论文:DeepWalk: Online Learning of Social Representations

图的幂律度分布 power-law degree distributios

分层softmax

#机器学习 Micro-F1和Macro-F1详解

论文阅读|DeepWalk: Online Learning of Social Representations相关推荐

  1. 员外陪你读论文:DeepWalk: Online learning of Social Representations

    本次要分享的是 14 年论文 DeepWalk: Online learning of Social Representations, 论文链接DeepWalk[1],参考的代码CODE[2],本论文 ...

  2. 【论文精读实战】DeepWalk: Online Learning of Social Representations

    DeepWalk: Online Learning of Social Representations 本文是我参加Datawhale的CS224W图机器学习时的笔记,第一次学习图机器学习,对Deep ...

  3. 【论文翻译】DeepWalk: Online Learning of Social Representations

    背景介绍 这几年图神经网络模型(如谱聚类的GCN.GAT等等)都挺火的,这些图神经网络即将节点或图映射到一个低维空间(称为图嵌入):而除了GNN还有很多图嵌入方法(在GNN之前图嵌入的概念常出现在流行 ...

  4. DeepWalk原理理解:DeepWalk: online learning of social representations

    文献:DeepWalk: online learning of social representations 对比阅读了几篇关于网络表示学习的文献,其中一篇包括DeepWalk的提出,下面将自己对于论 ...

  5. DeepWalk: Online Learning of Social Representations

    Paper:http://www.perozzi.net/publications/14_kdd_deepwalk.pdf 代码解析: https://blog.csdn.net/weixin_424 ...

  6. 论文阅读 [TPAMI-2022] On Learning Disentangled Representations for Gait Recognition

    论文阅读 [TPAMI-2022] On Learning Disentangled Representations for Gait Recognition 论文搜索(studyai.com) 搜索 ...

  7. 《论文阅读》Multi-Task Learning of Generation and Classification for Emotion-Aware Dialogue Response Gener

    <论文阅读>Multi-Task Learning of Generation and Classification for Emotion-Aware Dialogue Response ...

  8. 论文阅读 [CVPR-2022] BatchFormer: Learning to Explore Sample Relationships for Robust Representation Lea

    论文阅读 [CVPR-2022] BatchFormer: Learning to Explore Sample Relationships for Robust Representation Lea ...

  9. 论文阅读:Deep Learning in Mobile and Wireless Networking:A Survey

    论文阅读:Deep Learning in Mobile and Wireless Networking:A Survey 从背景介绍到未来挑战,一文综述移动和无线网络深度学习研究 近来移动通信和 5 ...

最新文章

  1. JS笔记(一):声明提升
  2. 浙江大学 | 深度域自适应和小目标检测挑战、技术和数据集:调研
  3. 基于数组的无锁队列(译)
  4. 借助C/C++进行Android开发:NDK的配置与使用
  5. 草根版创业网站学巴菲特售时间 获天使投资
  6. html 占用空间 滚动轴_滚动轴承润滑及密封,轧机轴承技术(104)
  7. 类模板static成员的使用
  8. 23种设计模式之原型模式
  9. Spark报错:JDOFatalInternalException: Error creating transactional connection factory
  10. 新买的服务器怎么安装Linux,买了新服务器,如何从头开始配置?Ubuntu系统安装+新建用户名+挂...
  11. python 多列对齐_python – 如何连接两个数据帧并在这样的特定列上对齐?
  12. 用户数据报协议是啥?看完这文就懂了!| 技术头条
  13. Oracle SQL 优化原则(实用篇)
  14. GNU make manual 翻译(六十六)
  15. 第二次结对编程作业——毕业导师智能匹配
  16. VMD如何确定分解层数(一):最优变分模态分解(OVMD)---VMD分解的基础上确定分解层数和更新步长
  17. 经济数学线性代数第三版课后习题答案
  18. EEE(Energy Efficient Ethernet)-节能以太网
  19. layui表格时间格式化
  20. F. Clear the String (区间DP)

热门文章

  1. 2017年中国北京国际妇女儿童产业博览会会刊(参展商名录)
  2. 19号笔刷是哪个_19号笔刷怎么设置?超详细的19号笔刷设置!
  3. 48. 旋转图像 leetcode
  4. 协方差与相关系数的区别和联系
  5. 联想 linux u盘启动不了,联想bios设置u盘启动图文教程
  6. meego 1.0安装说明
  7. 改变运算顺序的运算符
  8. 公共英语和计算机能一起考吗,公共英语(PETS),2020年还会开考吗?
  9. ip地址计算可用计算机数,可用网络地址数,可用主机地址数都是如何算的?
  10. 2019c语言程序设计试题答案,2019年C语言程序设计期末考试试题及其答案【Word版资料】...