精华内容
下载资源
问答
  • DeepWalk

    2020-09-18 17:59:21
    DeepWalk Paper : DeepWalk: Online Learning of Social Representations Code : 摘要 作者提出了一种自监督学习图的点特征表示的方法DeepWalk,使用从截断的随机游走方法中获得的图的局部信息,通过将游走视为...

    DeepWalk

    Paper : DeepWalk: Online Learning of Social Representations
    Code :

    摘要

    作者提出了一种自监督学习图的点特征表示的方法DeepWalk,使用从截断的随机游走方法中获得的图的局部信息,通过将游走视为句子的等效词来学习潜在表示。DeepWalk作为一种在线学习算法,可建立有效的增量结果,并且可以并行化。事实上DeepWalk已经可以称作是上古的图表示学习的方法了,这篇文章主要是考古用。

    DeepWalk

    图的点特征表示学习定义如下:给定图 G=(V,E)G=(V,E),假定点的原始特征表示为 XRV×SX\in \mathbb R^{|V|\times S},目标是学习到一个映射 Φ:(G,X)XERV×d\Phi : (G,X) \rightarrow X_E \in \mathbb R^{|V|\times d},使得映射后点的特征可以包含图的结构信息和点的原始特征信息。

    DeepWalk的主要思想可能来自于形式语言与自动机,将图理解成一种语言对应的自动机,那么自动机中的点可以看作是该语言的一个单词,而在自动机上任一从开始状态到结束状态的路径都对应了语言中的一个合法句子。

    作者仿照该方法提出了Random Walk,将图序列化,设以节点 viv_i 为根的随机游走路径表示为 vi=Wvi1,Wvi2...Wvikv_i = \mathcal W_{v_i}^1, \mathcal W_{v_i}^2 ... \mathcal W_{v_i}^k ,其中 Wvij+1\mathcal W_{v_i}^{j+1}Wvij\mathcal W_{v_i}^{j} 随机选取的邻居节点,而截断的随机游走是指长度 kk 是固定的。

    随机游走具有以下几个好处

    • 并行化,随机游走是局部的,对于一个大的网络来说,可以同时在不同的顶点开始进行一定长度的随机游走,多个随机游走同时进行,可以减少采样的时间。
    • 适应性,可以适应网络局部的变化。网络的演化通常是局部的点和边的变化,这样的变化只会对部分随机游走路径产生影响,因此在网络的演化过程中不需要每一次都重新计算整个网络的随机游走。

    随机游走的信息包含两部分,一部分是点原始特征对应单词带来的信息,另一部分是序列出现的频次和序列中单词的顺序所构成的图的结构信息,因此随机游走的结果可以符合我们的要求。下一步是针对随机游走的结果进行特征学习。作者观察到,随机游走产生的句子构成的文章符合NLP领域词频次分布的幂律定律(Power Laws)

    在这里插入图片描述
    因此可以采用NLP中任一中词编码方式进行点的特征编码,作者采用的是SkipGram算法,因此DeepWalk算法的总流程表示如下所示

    在这里插入图片描述
    其中,外层的 γ\gamma 表示随机游走整体采样次数,tt 表示随机游走的截断长度,建立二分树主要是用来进行之后的层次化Softmax。
    在这里插入图片描述

    SkipGram是一种语言模型,可最大化出现在窗口w中句子中的单词之间的共现概率。算法2迭代出现在窗口w中的随机游走中所有可能的搭配。 对于每个顶点,我们将每个顶点v j映射到其当前表示向量Φ(v j)∈R d(见图3b)。 给定v j的表示形式,我们希望最大化其在步行中的邻居的概率。 我们可以使用几种分类器来学习这种后验分布。 为了加快训练时间,可使用层次Softmax 来近似概率分布。

    在这里插入图片描述

    总结

    作者提出的DeepWalk是一种用于学习顶点的潜在表示的新颖方法。DeepWalk 是图表示算法的开山之作,准确率上现在已经接近过时了。不过该算法可并行化和超大网络上的可扩展性还是非常具有吸引力。作者认为,语言建模的进步可能会继续为网络生成改进的潜在表示。语言建模实际上是从不可观察的语言图中采样的。从建模可观察图获得的见解可能反过来可以改善建模不可观察图的见解。

    展开全文
  • Deepwalk

    2021-05-18 16:16:02
    源码:https://github.com/phanein/deepwalk 作者主页:http://www.perozzi.net/publications/#section2 思想 NPL 技术 短结点序列随即游走+skipgram模型+层次softmax优化(过时) 随即游走:定义从每个...
    
    

    思想

    • NPL

    技术

    • 短结点序列随即游走+skipgram模型+层次softmax优化(过时)
    •  随即游走:定义从每个结点开始游走的次数gama,和游走序列长度t
      
    •  skipgram模型:定义窗口大小w,每次选择2w+1个结点,中心节点预测上下文结点,计算概率
      
    •  层次softmax:将计算概率转化为对树路径的计算,时间复杂度由n转化为logn,图中结点都为叶子结点,每个父节点都是一个二分类器,树结构常用赫夫曼树
      

    在这里插入图片描述
    在这里插入图片描述

    代码复现

    1https://blog.csdn.net/github_36326955/article/details/82687144
    2https://www.jianshu.com/p/c3e2c43f49a2?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

    展开全文
  • deepwalk, 图的DeepWalk深度学习 DeepWalkDeepWalk使用短随机游动来学习图中顶点的表示。用法示例用法 $deepwalk --input example_graphs/karate.adjlist --output karate.embeddings
  • DeepWalk的加权随机游走实现(Python) 带有加权边缘图的deepwalk [1]在这里实现。 安装: 安装原始的deepwalk软件包: pip install deepwalk 将'main.py'和'weighted_random_walk.py'移至python lib目录以进行...
  • DeepWalk在C ++中的实现。 DeepWalk使用简短的随机游走来学习未加权图中顶点的表示。 安装及使用 对于C ++可执行文件: cd src && make; 在大多数平台上应该足够了。 如果您需要更改默认编译器(即更改为Intel),请...
  • deepwalk算法

    2018-04-08 16:05:17
    用于deepwalk的python算法代码,很好用的,对于想要理解deepwalk的同学可以看看。
  • Deep Walk (Perozzi et al.2014) Learning node representations with the ...Comparison between LINE,DeepWalk and Node2Vec Algorithm Neighbor Expansion Proximity Optimization Validation Data LINE B
  • 文献:DeepWalk: online learning of social representations 对比阅读了几篇关于网络表示学习的文献,其中一篇包括DeepWalk的提出,下面将自己对于论文的理解和论文的笔记组织好记录下来。 deep walk 的提出是...

    文献:DeepWalk: online learning of social representations

    对比阅读了几篇关于网络表示学习的文献,其中一篇包括DeepWalk的提出,下面将自己对于论文的理解和论文的笔记组织好记录下来。


    deep walk 的提出是针对网络表示学习的稀疏性提出来的,网络表示学习的稀疏性问题对于统计学习任务有一定难度。

    deep walk 学习的是图中顶点的社会特征(the social representation of graph's vertices),它对随机游走进行了改进:一种缩短了的流式随机游走的方法( a stream of short random walk).

    下图引自论文中:


    利用流式的短的随机游,提出了一个通用的语言模型探究图结构

     根据随机游走中包含的顶点来估计下一个顶点出现的概率:

     

    需要一个映射函数:

    这个映射函数表示了顶点之间隐藏的社会特征(social representation),其中这个映射函数是一个|V| x d的矩阵

    由此一来,eq.1式转化为:

    关于随机游走值得关注的问题:随机游走的长度会越来越大(walk length grows),这样以来我们在计算eq.1或者eq. 2式条件概率的时候会出现困难。

    针对上面这个问题对随机游走进行了改进:

    • 通过单词来预测上下文而不是通过上下文来预测单词
    • 上下文的组成有单词左右两边的信息组成
    • 去掉顺序的约束

     

    对随机游走进行了改进后,eq.2 的问题转化


    deep walk 的算法描述

    deep walk包括两个部分,一个是随机游走生成器,一个是更新程序

     


    在本文中涉及到的一个streaming 方法,是为了在不知道整个图的情况下,也可以采用本算法。

    streaming approach could 被implemented without knowledge of the entire graph.


    源码的学习

     

    默认生成.adjlist的文件

    生成.mat的文件

     

     

    评估

     

    展开全文
  • DeepWalk .pptx

    2021-04-11 17:00:11
    自己做的一个有关深度游走(DeepWalk)的ppt
  • 渣渣的deepwalk之旅——win10下deepwalk配置和运行

    千次阅读 热门讨论 2017-08-02 12:24:36
    渣渣的deepwalk之旅刚开始学习网络表示学习,看完《Deepwalk Online learning of social representations》后,打算去github上下载源码并自己测试,实现deepwalk算法,结果就开始漫长的修正bug之路: 对deepwalk论文...

    渣渣的deepwalk之旅

    刚开始学习网络表示学习,看完《Deepwalk Online learning of social representations》后,打算去github上下载源码并自己测试,实现deepwalk算法,结果就开始漫长的修正bug之路:

    • 对deepwalk论文的理解
    • 源码和数据集
    • 各种库函数安装失败(scipy和gensim)
    • 成功运行

    对deepwalk论文的理解

    《DeepWalk: Online Learning of Social Representations - Bryan Perozzi》 —— [ 论文下载 ]

    首先,感觉这篇论文的亮点在于作者观察到文本语料中词语出现的频率和随机游走的网络上节点被访问到的次数都服从幂律分布(zipf),这成为deepwalk成立的前提。所以可以把节点作为单词,随机游走的路径作为句子,输入到word2vec中训练得到节点的向量表示。所以缺点应该是没有明确的优化目标函数,所以给后面人提供很大改进空间。

    这 篇文章着重于实践部分,对论文的理解不详细解释,我看过这篇博客,觉得讲的不错:http://blog.csdn.net/wolfblood_zzx/article/details/73088111

    具体算法

    用random walk(随机游走)生成|V|个子网络,然后送到word2vec去训练,听起来就是这么简单。
    主要步骤:Network/graph—random walk—得到节点序列(representation mapping)—放到skip-gram模型中(word2vec模型)—-output:representation

    代码块

     walks = graph.build_deepwalk_corpus(G,num_paths=args.number_walks,
                                         path_length=args.walk_length, alpha=0, rand=random.Random(args.seed))
        print("Training...")
        model = Word2Vec(walks, size=args.representation_size, window=args.window_size, min_count=0, workers=args.workers)

    流程图

    这里写图片描述

    源码和数据集

    github

    这里写图片描述

    数据集的定义:http://leitang.net/social_dimension.html

    各种库函数安装失败(scipy和gensim)

    第一次安装了pycharm编辑器,又从官网上下载了python3.6版本(简直后悔),导入进包后,发现这个编辑器不错,鼠标放在未导入的包处后,会显示自动导入,但是scipy没法自动下载成功,需要先安装好numpy后,再从http://www.lfd.uci.edu/~gohlke/pythonlibs/#scipy找到对应的.whl文件下载后,从命令行里面进入到下载后文件的位置,然后输入“pip install scipy‑0.19.1‑cp36‑cp36m‑win_amd64.whl”就可以安装了。后来只剩下gensim==0.10.2没安装成功,结果查找发现3.6版本不支持这个版本的gensim(内心小怪兽要出来了!!!)气得我直接删掉全部python,第二天重新开始安装。

    这一次长经验了,直接安装的anaconda的python2.7,真心推荐,因为里面自带的库函数非常非常全,都是用于科学计算的,对于深度学习机器学习应该够了。(注意要把Python运行路径放置在path环境变量里面,例如:E:\anaconda\install\Scripts)
    然后要自己下载pip(http://www.cnblogs.com/NanShan2016/p/5518235.html)参考这个博客,讲的很详细。

    小插曲:因为我的用户目录是中文的,所以会出现编码错误的问题,也就是当调用pip安装时,会出现如下错误:
    UnicodeDecodeError: ‘ascii’ codec can’t decode byte 0xbf in position 7: ordinal not in range(128)
    解决办法是:
    python目录 Python27\Lib\site-packages 建一个文件sitecustomize.py
    内容写:
    import sys
    sys.setdefaultencoding(‘gb2312’)
    python会自动运行这个文件。

    然后安装requirements.txt中的文件,打开github里面的说明,
    这里写图片描述
    先进入deepwalk文件夹然后安装txt文件。

    最后当安装gensim的时候,一定要先装Visual C++库2008 SP1 Redistributable Package,还有,安装VCForPython27.msi,之后再安装gensim 0.10.2 可以使用命令 pip install gensim==0.10.2,但是还是出错了!说是因为ascii码转换出错,就是路径中出现中文,参考这个博客
    http://blog.csdn.net/all_over_servlet/article/details/45112221里面的第二个方法,一定一定注意空格和回车等问题,http://dikar.iteye.com/blog/308934

    最后当gensim安装成功了,那就大功告成了。

    成功运行

    最后一步 ,一定要进入deepwalk的目录下,然后python setup.py install测试deepwalk,按照下面格式输入
    这里写图片描述
    打开karate.embedding文件
    结果如图:
    这里写图片描述

    【2】:http://www.jianshu.com/p/41a9c25273b1 python第三方库的安装
    【3】:https://zhuanlan.zhihu.com/p/25748378 deepwalk配置与安装(重要)
    【4】http://www.cnblogs.com/NanShan2016/p/5518235.html Pip安装三步走

    展开全文
  • deepwalk路径

    2018-07-08 16:32:08
    deepwalk的目录下python3 __main__.py --input F:\TheTest\deepwalk\deepwalk-master\example_graphs\karate.adjlist --output F:\TheTest\deepwalk\deepwalk-master\example_graphs\karate.embeddings
  • DeepWalk算法

    千次阅读 2019-04-03 22:04:00
    DeepWalk算法
  • deepwalk 图向量

    2021-01-26 19:04:21
    目录1 目的和思想2 模型原理2.1 random walk2.2 更新向量中参数3 deepwalk 相关知识3.1 Hierarchical softmax(层次 softmax)4 deepwalk 总结4.1 random walk 优点 1 目的和思想 deepwalk 模型的目的:将图的顶点...
  • deepwalk 概率图 介绍 (Introduction) Graph Neural Networks are the current hot topic [1]. And this interest is surely justified as GNNs are all about latent representation of the graph in vector space....
  • 整理版DeepWalk-1.0.3

    2019-01-25 15:33:51
    在官方DeepWalk1.0.3的基础上,添加了DeepWalk1.0.2中的example_graphs/文件夹和DeepWalk论文中使用的数据集,并就兼容性问题,更改了部分代码。
  • Deepwalk笔记

    2020-08-21 16:19:33
    Deepwalk整理 主要思想 ​ Deepwalk是一种将随机游走(Random walk)和Word2Vec两种算法相结合的图表示算法。网络的输入是一张图或者一个网络,输出为网络中顶点的向量表示。 ​ 图 1 图表示...
  • basic deepwalk

    2019-09-29 00:44:26
    basic deepwalk Get to know How deepwalk works by this project. Two steps: 1. gen the graph, and gen the corpus on the graph via rando...
  • DeepWalk.pptx

    2017-11-01 16:26:46
    基于很多大牛的资料结合我自己对DeepWalk这篇论文的理解做了这个ppt,希望能帮到你
  • Deepwalk results consistency

    2020-11-22 06:00:32
    <div><p>I have used the default parameters of deepwalk to train on a node embedding as well as the config file in <a href="https://github.com/DeepGraphLearning/graphvite/blob/master/config/graph/deep...
  • DeepWalk 安装指南

    2019-10-02 07:52:45
    DeepWalk 安装指南 创建 conda 虚拟环境 conda create -n deepwalk pip python=3.5 conda activate deepwalk 安装 deepwalk pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple/ python ...
  • [HH deepwalk-master]$ deepwalk --input example_graphs/blogcatalog.mat --output blogcatalog.embeddings --format mat /usr/lib/python2.7/site-packages/pkg_resources.py:979: UserWarning: /home/HH/.python-...
  • DeepWalk论文笔记一.概述二.研究问题三.研究方法四.研究结果分析五.总结 一.概述 本文主要介绍了DeepWalk,这是一种用于学习网络中顶点的潜在表示的方法。论文的引言部分介绍了提出DeepWalk的原因:它是针对...
  • 表示学习2-Deep Walk

    千次阅读 2017-09-20 14:34:52
    deepwalk
  • Deepwalk on Weighted Graph

    2020-11-30 13:47:59
    I would like to know what should be done to use DeepWalk on weighted Graphs? Do I need to consider weighted random walk or is there any way to run it on Weighted adjacency or Laplacian matrix. <p>...
  • cpp-C中的DeepWalk实现

    2019-08-16 04:13:17
    DeepWalk implementation in C
  • DeepWalk学习

    2018-06-13 09:56:00
    DeepWalk Background 使用机器学习的算法解决问题需要有大量的信息,但是现实世界中的网络中的信息往往比较少,这就导致传统机器学习算法不能在网络中广泛使用。 (Ps: 传统机器学习分类问题是学习一种假设,将样本...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 839
精华内容 335
关键字:

deepwalk