DeepWalk

article/2025/10/21 20:20:13

原文

《DeepWalk: Online Learning of Social Representations》

亮点

In this paper we introduce deep learning (unsupervised feature learning) techniques, which have proven successful
in natural language processing, into network analysis for the first time.

目的

DeepWalk takes a graph as input and produces a latent representation as an output.

We seek learning social representations with the following characteristics:

  • Adaptability - Real social networks are constantly evolving; new social relations should not require repeating the learning process all over again.
  • Community aware - The distance between latent dimensions should represent a metric for evaluating social similarity between the corresponding members of the network. This allows generalization in networks with homophily.
  • Low dimensional - When labeled data is scarce, lowdimensional models generalize better, and speed up convergence and inference.
  • Continuous - We require latent representations to model partial community membership in continuous space. In addition to providing a nuanced view of community membership, a continuous representation has smooth decision boundaries between communities which allows more robust classification.

现实网络和自然语言之间的相似性

在这里插入图片描述

语言模型

The goal of language modeling is estimate the likelihood of a specific sequence of words appearing in a corpus.

将网络问题转化成 NLP 问题

In this work, we present a generalization of language modeling to explore the graph through a stream of short random walks. These walks can be thought of short sentences and phrases in a special language.

带返回的随机游走

  def random_walk(self, path_length, alpha=0, rand=random.Random(), start=None):""" Returns a truncated random walk.path_length: Length of the random walk.alpha: probability of restarts.start: the start node of the random walk."""G = selfif start:path = [start]else:# Sampling is uniform w.r.t V, and not w.r.t Epath = [rand.choice(list(G.keys()))]while len(path) < path_length:cur = path[-1]if len(G[cur]) > 0:if rand.random() >= alpha:path.append(rand.choice(G[cur]))else:path.append(path[0])else:breakreturn [str(node) for node in path]

游走的结果:
在这里插入图片描述
看这多像语料库中的一条条语句!

有了上述通过随机游走生成的“语料库”,利用NLP中现成的 word embading 方法,即可对网络的节点进行表示学习

word2vec

在这里插入图片描述
2013年,Google开源了一款用于词向量计算的工具——word2vec,关于 word2vec 的介绍:
【1】https://www.cnblogs.com/guoyaohua/p/9240336.html
【2】https://www.jianshu.com/p/39e3b771da3a
【3】http://mccormickml.com/2016/04/19/word2vec-tutorial-the-skip-gram-model/


http://chatgpt.dhexx.cn/article/iZnF13xM.shtml

相关文章

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

DeepWalk: Online Learning of Social Representations 本文是我参加Datawhale的CS224W图机器学习时的笔记&#xff0c;第一次学习图机器学习&#xff0c;对DeepWalk这篇开山之作的理解。 论文的三位作者均来自纽约州立大学石溪分校&#xff0c;杨振宁和丘成桐也曾在此教学。 …

Deepwalk深度游走算法

主要思想 Deepwalk是一种将随机游走和word2vec两种算法相结合的图结构数据的挖掘算法。该算法可以学习网络的隐藏信息&#xff0c;能够将图中的节点表示为一个包含潜在信息的向量&#xff0c; Deepwalk算法 该算法主要分为随机游走和生成表示向量两个部分&#xff0c;首先…

DeepWalk阅读笔记

DeepWalk是一种学习网络中节点的表示的新的方法&#xff0c;是把language modeling的方法用在了social network里面&#xff0c;从而可以用deep learning的方法&#xff0c;不仅能表示节点&#xff0c;还能表示出节点之间的拓扑关系&#xff0c;也就是表现出社会网络的社会关系…

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

论文阅读|DeepWalk: Online Learning of Social Representations 文章目录 论文阅读|DeepWalk: Online Learning of Social RepresentationsAbstractIntroductionProblem DefinitionLearning Social RepresentationsMethod实验设置Related Work我的看法参考资料 Abstract Deep…

大致了解一下DeepWalk

大致了解一下DeepWalk 讲到DeepWalk&#xff0c;不得不说的Word2VecCBOW模型CBOW模型的理解CBOW模型流程举例 Skip-Gram模型模型假任务模型细节隐层输出层直觉下一步 一些常用的trick词组降采样常用词采样率Negative Sampling选择 negative samples DeepWalk步骤相关算法 转载于…

[论文阅读] (25) 向量表征经典之DeepWalk:从Word2vec到DeepWalk,再到Asm2vec和Log2vec(二)

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

DeepWalk论文详解

DeepWalk算法报告 Deepwalk是网络表示学习的经典算法之一&#xff0c;是用来学习网络中顶点的向量表示&#xff08;学习学习图的结构特征即属性&#xff0c;并且属性个数为向量的维数&#xff09;。 该算法通过截断随机游走学习出一个网络的社会表示&#xff0c;输入是一张图…

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

文献&#xff1a;DeepWalk: online learning of social representations 对比阅读了几篇关于网络表示学习的文献&#xff0c;其中一篇包括DeepWalk的提出&#xff0c;下面将自己对于论文的理解和论文的笔记组织好记录下来。 deep walk 的提出是针对网络表示学习的稀疏性提出来…

DeepWalk模型的简介与优缺点

1、DeepWalk [DeepWalk] DeepWalk- Online Learning of Social Representations (SBU 2014) word2vec是基于序列进行embedding&#xff1b;但是&#xff0c;实际上实体之间的关系越来越复杂化、网络化。这个时候sequence embedding------>graph embedding。 图的定义&…

[论文阅读] (24) 向量表征:从Word2vec和Doc2vec到Deepwalk和Graph2vec,再到Asm2vec和Log2vec(一)

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

PyG基于DeepWalk实现节点分类及其可视化

文章目录 前言一、导入相关库二、加载Cora数据集三、定义DeepWalk四、可视化完整代码前言 大家好,我是阿光。 本专栏整理了《图神经网络代码实战》,内包含了不同图神经网络的相关代码实现(PyG以及自实现),理论与实践相结合,如GCN、GAT、GraphSAGE等经典图网络,每一个代…

【图嵌入】DeepWalk原理与代码实战

DeepWalk 基础理论 了解过 NLP 的同学对 word2vec 应该不陌生&#xff0c;word2vec 通过句子中词与词之间的共现关系来学习词的向量表示&#xff0c;如果你忘记了&#xff0c;可以看看我之前的博客&#xff1a; 【word2vec】篇一&#xff1a;理解词向量、CBOW与Skip-Gram等知…

DeepWalk算法(个人理解)

DeepWalk 什么是网络嵌入 将网络中的点用一个低维的向量表示&#xff0c;并且这些向量要能反应原先网络的某些特性。 一种网络嵌入的方法叫DeepWalk&#xff0c;它的输入是一张图或者网络&#xff0c;输出为网络中顶点的向量表示。DeepWalk通过截断随机游走(truncated rando…

deepwalk详解

目录 1. 算法思想2. 随机游走3. 如何把随机游走中得到的信息用来点表示学习&#xff1f;4.适用场景5. 不足和改进 1. 算法思想 源于word2vec,word2vec通过语料库中的句子序列来描述词与词的共现关系&#xff0c;进而学习到词语的向量表示。deepwalk则使用图中节点与节点的共现…

论文|DeepWalk的算法原理、代码实现和应用说明

万物皆可Embedding系列会结合论文和实践经验进行介绍&#xff0c;前期主要集中在论文中&#xff0c;后期会加入实践经验和案例&#xff0c;目前已更新&#xff1a; 万物皆可Vector之语言模型&#xff1a;从N-Gram到NNLM、RNNLM万物皆可Vector之Word2vec&#xff1a;2个模型、2…

泛运筹理论初探——DeepWalk算法简介

图论-图论算法之DeepWalk Graph-Embedding和DeepWalk算法 在之前的图算法介绍里&#xff0c;我们探讨了部分比较简单和经典的图算法&#xff0c;比如PageRank、最短路径、深度优先搜索等方法。在某些场景&#xff0c;之前介绍的一些算法虽然很经典&#xff0c;逻辑很清晰&…

推荐系统中的常用算法——DeepWalk算法

1. 概述 DeepWalk算法是在KDD2014中提出的算法&#xff0c;最初应用在图表示&#xff08;Graph Embedding&#xff09;方向&#xff0c;由于在推荐系统中&#xff0c;用户的行为数据固然的可以表示成图的形式&#xff0c;如下图所示&#xff1a; 通过Graph Embedding得到图中每…

DeepWalk(深度游走)算法

整理自&#xff1a; Deepwalk(深度游走)算法简介_Mr.Cheng1996的博客-CSDN博客 【论文笔记】DeepWalk - 知乎 DeepWalk是一种将随机游走(random walk)和word2vec两种算法相结合的图结构数据挖掘算法。该算法能够学习网络的隐藏信息&#xff0c;能够将图中的节点表示为一个包…

Deepwalk(深度游走)算法简介

深度游走&#xff1a;一种社交表示的在线学习算法 主要思想Deepwalk算法参考文献 主要思想 Deepwalk是一种将随机游走(random walk)和word2vec两种算法相结合的图结构数据挖掘算法。该算法能够学习网络的隐藏信息&#xff0c;能够将图中的节点表示为一个包含潜在信息的向量&…

python中dumps的用法

json.dumps()用于将dict类型的数据转成str&#xff0c;因为如果直接将dict类型的数据写入json文件中会发生报错&#xff0c;因此在将数据写入时需要用到该函数。 若在数据写入json文件时&#xff0c;未先进行转换&#xff0c;报错如下: 转换后再写入&#xff0c;则不报错: