推荐系列论文二:Deep Walk

DeepWalk: Online Learning of Social Representations

本系列分享论文的第二篇是DeepWalk,下面从头开始一起读一下这篇论文。

什么是DeepWalk?
  • 用论文中的话来说:“DeepWalk takes a graph as input and produces a latent representation as an output.”。也就是说DeepWalk是将输入的图转为隐向量表示的一种算法,下图是应用DeepWalk生成的数据结果,左边是输入右边是输出,可以看到在图中接近的节点在通过DeepWalk嵌入后在二维平面也嵌入的较好,并且在图中各个类间的空间关系即分隔平面关系在嵌入后也基本获得了呈现,即(a)中是紫绿红蓝,(b)中也基本是这个顺序。
    在这里插入图片描述
DeepWalk的优点
  • 论文中提到,在传统的社交网络中的分类算法通常是构建节点的特征以及label,然后通过学习函数H来学习特征X到label Y的映射关系,而DeepWalk通过一种非监督学习的方式学习社交网络关系中节点的低维表示从而帮助提升分类性能。
  • 并且,通过DeepWalk学习到的低纬度向量是连续的并且可以轻松地整合到其他的监督机器学习算法模型之中,通过DeepWalk提供学习节点间的结构关系,从而更好地帮助实现性能的提升。
  • DeepWalk因为是随机游走采样,可以很方便地进行并行化采样提高效率
  • DeepWalk也可以方便地用于在线学习,在图关系发生变化后实时地进行采样生成序列并更新相应的嵌入表达即可
DeepWalk和自然语言的关联
  • 社交网络节点与自然语言的单词都比较符合Power-law分布,这个分布有点类似于我们常说的二八定律(自己理解的),如下图:
    在这里插入图片描述
  • 可以发现,少部分的节点出现的次数更多,对应到自然语言里类似于停用词的、了等出现的次数是最多的,但是大部分的词出现的次数占总体的次数却非常少。
  • 基于分布的近似,便想到使用自然语言处理的方式来处理DeepWalk产生的序列结果。
Skip-gram
  • DeepWalk的工作主要是通过随机游走来采样图中节点序列,每个序列将其近似理解为一条句子,而13年由Mikolov公开的word2vec算法很好地解决了词向量的嵌入,包括c-bow和skip-gram两种方式,DeepWalk中选择的是Skip-gram,word2vec在整个嵌入系列文章中的出镜率非常之高!!目前对于word2vec也有很多的文章了,很多写的很棒!
DeepWalk流程

在这里插入图片描述

  • 上图就是DeepWalk算法的流程,其中输入包含以下内容:
    1.graph信息,包括图中节点以及边
    2.window size,也就是word2vec的上下文窗口
    3.embedding size d,每个节点嵌入的空间大小
    4.walks per vertex 总的迭代次数
    5.walk length 每次随机采样的长度
  • 接下来的步骤就是通过随机游走的方式采样多轮,并且将采样生成的序列通过skipgram的方式进行学习嵌入。
  • 这里有几个点
    1.walk length并非一定要固定,只是论文里采用了固定的游走采样长度
    2.采样过程是可以随机返回到前一节点的,但是论文作者表示允许这种restart好像前后没什么区别
    3.每轮采样将遍历所有的图中节点,也就是说每个节点都会作为开头被选择
    4.每次选择下一个节点通过随机选择的方式,假设A节点与BCD节点有边,那么下一个节点是B的概率就是1/3
参数重要性
  • 论文的对比结构就不说了,肯定是比对照好。这篇论文还比较了超参数的影响,主要比较了采样轮数,学习率以及嵌入维度,下面一个个说一下。
  • 第一个是嵌入维度的影响
    在这里插入图片描述
  • TR是training ratio,即训练数据集比例,上图中分别固定了采样轮数和学习率,更改嵌入维度d在两个数据集比较F1score。
  • 下图是比较随机游走采样轮数的影响:
    在这里插入图片描述
  • 具体不解释了,图也比较清楚。
总结
  • DeepWalk发表于2014年,利用word2vec对图中节点进行嵌入表达也令人耳目一新,对于许多场景都有借鉴意义,例如社交网络关注关系形成图关系、新闻交互形成的图关系等,都是不错的场景。
  • 该篇论文分享就到这,还要许多的细节没仔细深挖,感兴趣的同学可以去下载这篇论文仔细看一下。
  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值