http://blog.itpub.net/29829936/viewspace-2641918/

论文题目:《DeepWalk: Online Learning of Social Representations》出版时间2014年6月

这篇文章是网络表示学习的经典文章,下面将简单介绍这篇文章的算法思想。

这篇论文提出的算法可以将网络中的节点用低维度,连续的向量表示,以便进行进一步机器学习

本文提出的算法的主要贡献有:

1、使用随机游走的方法学习到的顶点表示,会更加具有健壮性(robust)

2、deepwalk甚至可以在只给出部分网络的情况下,学习到更好的顶点表示

3、这种方法更加有利于并行化

定义:

E⊆(V,E),这里V是网络的节点集合,E是边的集合,E⊆(V*V)。给出一个部分带标签的社区网络:G=(V,E,X,Y)。其中,X∈R^(|V|S),这里S是特征向量,就是每个点的特征数,Y∈R^(|V||y|)这里y是标签的集合(就是有几类)。我们的目标是学习一个XE∈R^(|V|*d)。这里d就是我们学习到的低维的隐藏的表示。这里的意思就是说,这里d维的向量中,包含了社区结构,我们可以通过这个向量进行进一步的训练和对整个社区的进一步的学习。

这个算法学习到的主要的优点有:

1、自适应性:在新的点加进来之后,不用重新学习。

2、社区表示性:向量相似的点,对应在网络中,被分在同一个类的几率比较大。

3、低维度性:产生低维的向量可以加速进一步的分类及其他问题的求解。

4、连续性:在连续的空间中的顶点表示,可以进一步增强分类的效果。

下面是一些相关的算法的基础

1、随机游走:定义,从根节点出发,随机游走的结果定义为向量Wvi,向量中的每个值是当前顶点随机选择的下一步的邻居。

2、幂率:如果在整个网络中的点遵循幂率分布,那么,在某个随机游走的点上也遵循幂率分布。

幂率科普(网上资源+个人理解)如下图:简单来说,就是,拥有大量的度数的点的数量是少的,拥有少量的度数的点的数量是多的。

3、语言模型:假设,有个文章,我们给出一个词序列:W=(w0,w1,……..,wn),我们在训练的时候要最大化这个概率:Pr(wn| w0,…,wn-1)。同样,放在随机游走的序列中,我们要最大化这个概率:Pr(Vi| (v1,v2,…,vi-1))。我们的目标是学习一个函数(隐含的表示方法)φ,这个φ对应一个点的d维表示,那么:上面的概率值可以表示为:Pr(Vi| (φ(v1),….,φ(vi-1))。但是,这个不太好最大化。于是,可以用以下方法:1、用文章预测缺失词,化为用词预测上下文;2、上下文对应于给出的词的左右两边;3、移除出现的词的顺序问题。最后,模型要求最大化一个词在上下文出现的概率,在没有给出词的情况下(就是说,输出一个向量,这个向量的每个概率表示这个向量的这个位置表示的词出现在这个位置的概率)。

最终,优化问题变成了最小化下面这个式子(个人理解,这里用log主要是将连乘变为连加,有利于优化):

最终产生的顶点的向量表示,由于随机游走,比较近的点游走到的概率比较大,在网络上比较相似的点的表示会比较相似,这样就可以用于其他机器学习算法了。

算法

DEEPWALK

这个算法由两个步骤组成:1、随机游走,2、更新步骤。

算法参数:一个图G(V,E),游走窗口大小w,产生的向量的长度(顶点表示的维度)d,对于每个点走的次数γ,走的长度t。

输出:一个顶点表示矩阵φ,大小为|V|*d

下面逐行介绍:

1:初始化φ

2:从V构建一个二叉树T(应该是用来做分层softmax的)

3-9是算法核心,外层循环代表了每个顶点产生多少个随机序列,内层循环表示对每个点产生一个Wi,并用SkipGram进行更新φ。

SkipGram

这个算法是语言模型中,最大化窗口w中出现的词的概率的方法(梯度下降),如上图所示

外层循环是对这个序列中的每个词进行操作,内层循环是对每个词的窗口大小为w的词序列进行操作。具体操作是用一个似然函数J(φ)表示φ,然后求导,用梯度下降的方法更新,(这个α应该是学习率)。

Hierarchical Softmax

由于直接计算概率Pr(uk|φ(vj))不好计算,因此,如果把顶点放在二叉树的叶子上,那么预测的问题,就变成了最大化下面这个概率

路径被定义为这样一个序列:

计算复杂度由O(|v|)变为O(log|v|),可以加速训练过程。

优化:

这里优化使用随机梯度下降(SGD),这里的学习率α一般为0.25,然后线性减少。

通俗来讲,v1在v3和v5之间,那么,hierarchical Softmax会计算Pr(v3|φ(v1)和Pr(v5|φ(v1))的概率,而φ则向着v1的上下文是v3和v5的“方向”更新。

网络表述学习经典论文——DeepWalk相关推荐

  1. [论文阅读] (06) 万字详解什么是生成对抗网络GAN?经典论文及案例普及

    <娜璋带你读论文>系列主要是督促自己阅读优秀论文及听取学术讲座,并分享给大家,希望您喜欢.由于作者的英文水平和学术能力不高,需要不断提升,所以还请大家批评指正,非常欢迎大家给我留言评论,学 ...

  2. 深度学习经典论文汇总

    CV-CNN AlexNet(2012):深度学习热潮的奠基作 VGG(2014):使用 3x3 卷积构造更深的网络 GoogleNet(2014):使用并行架构构造更深的网络 ResNet(2015 ...

  3. Fully Convolutional Networks for semantic Segmentation(深度学习经典论文翻译)

    原文链接:https://www.cnblogs.com/xuanxufeng/p/6249834.html 摘要 卷积网络在特征分层领域是非常强大的视觉模型.我们证明了经过端到端.像素到像素训练的卷 ...

  4. 小样本学习元学习经典论文整理||持续更新

      本文整理了近些年来有关小样本学习的经典文章,并附上了原文下载链接以及论文解读链接.关注公众号"深视",回复"小样本学习",可以打包下载全部文章.该文我会持续 ...

  5. 深度学习经典论文deep learning!入门必读!:deep learning yann lecun 深度学习

    深度学习 YannLeCun, Yoshua Bengio & Geoffrey Hinton 深度学习能够让多层处理层组成的计算模型学习多级抽象的数据的表达.这些方法极大地提高了语音识别,视 ...

  6. 深度学习经典论文(十一)YOLOv5

    注:借鉴整理,仅供自学,侵删 自适应锚框计算,无需重新聚类anchor 结构图 一些小tricks讲解 深入浅出Yolo系列之Yolov3&Yolov4&Yolov5核心基础知识完整讲 ...

  7. [论文阅读] (23)恶意代码作者溯源(去匿名化)经典论文阅读:二进制和源代码对比

    <娜璋带你读论文>系列主要是督促自己阅读优秀论文及听取学术讲座,并分享给大家,希望您喜欢.由于作者的英文水平和学术能力不高,需要不断提升,所以还请大家批评指正,非常欢迎大家给我留言评论,学 ...

  8. 生成式摘要的四篇经典论文

    文章目录 论文1. 生成式摘要的开篇之作 EMNLP2015 论文2. 进阶之作(姐妹篇) NAACL2016 论文3. 钻研摘要任务本质的全技能之作 CoNLL2016 论文4. 生成-抽取方法的进 ...

  9. Github标星24k,127篇经典论文下载,这份深度学习论文阅读路线图不容错过

    作者  | Floodsung 翻译 | 黄海广 来源 | 机器学习初学者(ID:ai-start-com) [导读]如果你是深度学习领域的新手,那么你可能会遇到的第一个问题是"我应该从哪篇 ...

最新文章

  1. spring定时每天早上八点_Spring Boot教程(13) – 简单定时任务
  2. Oracle 数据字典表 -- SYS.COL$
  3. Swift开发:NSLayoutConstraint纯代码实现自动布局-初级篇
  4. P2575 高手过招
  5. 别用symbolicatecrash来解析crash Log了
  6. python中的数据结构之deque
  7. 《大话设计模式》笔记(1)——创建型模式
  8. 玩转PHP关联数组的10个技巧(3)
  9. 水晶报表的使用经验和资料总结
  10. 电信光猫DDNS的设置经历
  11. MTK芯片资料大全,MTK处理器型号介绍
  12. 从日本动漫看项目管理
  13. webstorm,idea 右键菜单管理
  14. 程序员能写的最佳代码,就是无码!
  15. 成龙寿宴筹善款7000万 嘉宾:比春晚还热闹
  16. 基于SSM框架的杰森摄影工作室选片系统的设计和开发论文
  17. 实验4-1-12 黑洞数 (20 分)
  18. linux怎么查看是不是centos版本
  19. matlab expand 扩展 用不了,matlab中expand函数 Matlab 里的expand怎么用
  20. 防范网络钓鱼仍然很重要!

热门文章

  1. windows查看Python安装目录
  2. java.lang.Instrument 动态修改替换类代码
  3. drop truncate delete区别
  4. 直播|清华谢晓晖——面向互联网图像搜索的用户行为模型研究
  5. 观点|基础模型产业发展路在何方?李飞飞等共话基础模型未来趋势
  6. 上交张伟楠副教授:基于模型的强化学习算法,基本原理以及前沿进展(附视频)
  7. 番茄工作法发明人作序推荐《番茄工作法图解》
  8. 清华大学《大数据系统基础A/B》课程实践项目宣讲会来了
  9. 酒店用机器学习,预测哪些客人会放鸽子
  10. 96根电极每秒测量3万次,大脑植入物首次帮助瘫患者控制肌肉!