zoukankan      html  css  js  c++  java
  • 网络表示学习Network Representation Learning/Embedding

    网络表示学习相关资料

    网络表示学习(network representation learning,NRL),也被称为图嵌入方法(graph embedding method,GEM)是这两年兴起的工作,目前很热,许多直接研究网络表示学习的工作和同时优化网络表示+下游任务的工作正在进行中。

      1. 清华大学计算机系的一个学习组 新浪微博@涂存超 整理的论文列表:https://github.com/thunlp/NRLpapers,并一直持续更新着,里面详细的列举了最近几年有关网络表示学习(network representation learning/network embedding)比较有代表性的论文列表及其代码。

      2. 陈启明整理的github列表  https://github.com/chihming/awesome-network-embedding

      3. 一篇综述性文章(University of Southern California (USC))及其code:
        (1)文章: Goyal P, Ferrara E. Graph Embedding Techniques, Applications, and Performance: A Survey[J]. arXiv preprint arXiv:1705.02801, 2017.
        (2)代码: https://github.com/palash1992/GEM

      4. 一篇博客:
        http://blog.csdn.net/Dark_Scope/article/details/74279582#0-tsina-1-3919-397232819ff9a47a7b7e80a40613cfe1

      5. 一个github资料,里面有部分论文+code(大多数是python实现,matlab次之):

      6. 四个slides:

        1.  [(MLSS2017)网络表示学习]《Representation Learning with Networks》by Jure Leskovec [Stanford University] Part1:网页链接 Part2:网页链接 Part3:网页链接 Part4:网页链接 ​​​​

        2.   https://pan.baidu.com/s/1nuB5Rex
        3.   https://pan.baidu.com/s/1geUHeQB
        4.   https://pan.baidu.com/s/1cwB7pc

    网络表示学习(DeepWalk,LINE,node2vec,SDNE)

    原创 2017年07月24日 12:49:01
     

    详细的资料可以参考:网络表示学习相关资料


    1.传统:基于图的表示(又称为基于符号的表示)


    如左图G =VE),用不同的符号命名不同的节点,用二维数组(邻接矩阵)的存储结构表示两节点间是否存在连边,存在为1,否则为0

     

    缺点:长尾分布下大部分节点间没有关系,所以邻接矩阵非常稀疏,不利于存储计算。


    2. 网络表示学习(Network Representation LearningNRL),也称为图嵌入法(Graph Embedding MethodGEM):用低维、稠密、实值的向量表示网络中的节点(含有语义关系,利于计算存储,不用再手动提特征(自适应性),且可以将异质信息投影到同一个低维空间中方便进行下游计算)。

     

    DeepWalk1

    实现1:https://github.com/phanein/deepwalk

     

      SkipGram的方法进行网络中节点的表示学习。那么,根据SkipGram的思路,最重要的就是定义Context也就Neighborhood。​NLP中,Neighborhood是当前Word周围的字,本文用随机游走得到Graph或者Network中节点的Neighborhood

    • 1)随机游走随机均匀地选取网络节点,并生成固定长度的随机游走序列,将此序列类比为自然语言中的句子(节点序列=句子,序列中的节点=句子中的单词),应用skip-gram模型学习节点的分布式表示,skip-gram模型详见:http://blog.csdn.net/u013527419/article/details/74129996
    • 2)前提:如果一个网络的节点服从幂律分布,那么节点在随机游走序列中的出现次数也服从幂律分布,并且实证发现NLP中单词的出现频率也服从幂律分布。

                            

     

    • 3)大体步骤:

              Network/graph ---------random walk ---------得到节点序列(representation mapping-------- 放到skip-gram模型中(中间节点预测上下        文节点)--------- outputrepresentation

     

    计算机生成了可选文字:网 络 随 机 游 走 t-ti 1 1 与 + 1 + 2 〕 Skip-Gram

    LINE2

    计算机生成了可选文字:10

    1)先区分两个概念:

    一阶相似度:直接相连节点间,例如67

    定义节点vivj间的联合概率为

    计算机生成了可选文字:此@,, , 与 1 + exp(—üT · )

    v代表节点,u代表节点的embedding。上面式子的意思是两节点越相似,內积越大,sigmoid映射后的值越大,也就是这两节点相连的权重越大,也就是这两个节点间出现的概率越大???。

     

    二阶相似度:通过其他中介节点相连的节点间例如56

    用的是一个条件概率

     

    计算机生成了可选文字:exp(uy 乥 〕 k : 1 exp ( 卩 ' . 豇 , )

    2)目标是让NRL前后节点间相似度不变,也节点表示学习前如果两个节点比较相似,那么embedding后的这两个节点表示向量也要很相似。--此文中用的是KL散度,度量两个概率分布之间的距离。KL散度的相关知识详见:http://blog.csdn.net/u013527419/article/details/51776786

    以保证其一阶相似度为例子:

    embedding前:节点vivj间的经验联合概率为

    计算机生成了可选文字:= . 证

    所以,最小化:

    计算机生成了可选文字:01 乥 〕 丿 log 夕1@, , ) 力 e

    Node2vec3

    论文+实现及其他:http://snap.stanford.edu/node2vec/

    类似于deepwalk,主要的创新点在于改进了随机游走的策略,定义了两个参数pq,在BFSDFS中达到一个平衡,同时考虑到局部和宏观的信息,并且具有很高的适应性。

    1

    计算机生成了可选文字:

    2)参数控制跳转概率的随机游走,之前完全随机时,p=q=1.

          --返回概率参数(Return parameterp,对应BFSp控制回到原来节点的概率,如图中从t跳到v以后,有1/p的概率在节点v处再跳回到t

         --离开概率参数(In outparameterq,对应DFSq控制跳到其他节点的概率。

    计算机生成了可选文字:0 = 1 / q 0 = 1 / q -I/p 1 if if dtT if

    上图中,刚从edge tv)过来,现在在节点v上,要决定下一步(vx)怎么走。其中dtx表示节点t到节点x之间的最短路径,dtx=0表示会回到节点t本身,dtx=1表示节点t和节点x直接相连,但是在上一步却选择了节点vdtx=2表示节点t不与x直接相连,但节点vx直接相连。

    3)在计算广告、推荐领域中,围绕着node2nec有俩很有意思的应用:

         Facebookhttp://geek.csdn.net/news/detail/200138

         Tencenthttp://www.sohu.com/a/124091440_355140

     

    SDNE[4]::

      本文的一大贡献在于提出了一种新的半监督学习模型,结合一阶估计与二阶估计的优点,用于表示网络的全局结构属性和局部结构属性。

    计算机生成了可选文字:10 pr 严 { LO structure 0 ; stwing № b structure 2 : The frame 、 york the semi 、 upervi 、 ed deep model Of 、 D 、 丆

    对节点的描述特征向量(比如点的「邻接向量」)使用autoencoder编码,取autoencoder中间层作为向量表示,以此来让获得2ndproximity(相似邻居的点相似度较高,因为两个节点的「邻接向量」相似,说明它们共享了很多邻居,最后映射成的向量y也会更接近)。总觉得上面图中localglobal写反了。

    目标函数:

     

    1Perozzi B, Al-Rfou R, Skiena S.Deepwalk: Online learning of social representations[C]KDD2014: 701-710.

    2LINELarge-scaleInformation Network EmbeddingWWW2015JianTang, Meng Qu , Mingzhe Wang, Ming Zhang, Jun Yan, Qiaozhu MeiMicrosoftResearch Asia;Peking University,China;University of Michigan

    3node2vec: Scalable Feature Learning forNetworksA Grover, J Leskovec [StanfordUniversity] (KDD2016)

    4】Structural Deep Network Embedding,KDD 2016

     

    上面都是我比较感兴趣一点的,详细的可以参考:https://github.com/thunlp/NRLpapers

     


     

    转载自:蓁蓁尔的博客

      网络表示学习相关资料  http://blog.csdn.net/u013527419/article/details/74853633
      网络表示学习(DeepWalk,LINE,node2vec,SDNE)  http://blog.csdn.net/u013527419/article/details/76017528

     

     

     

     


     

  • 相关阅读:
    工程结构
    生活决策
    工作原则概要与列表
    生活原则概要与列表
    在Windows2008下安装SQL Server 2005无法启动服务的解决办法
    MySQL启动提示High Severity Error解决方案
    知乎页面颜色个性化修改
    博客园 CodingLife 模板 翻页样式美化方法
    【翻译】GitHub Pages Basics 基本使用帮助【一】GitHub Pages 是什么?
    【翻译】GitHub Pages Basics 基本使用帮助【首页】
  • 原文地址:https://www.cnblogs.com/sonictl/p/8460230.html
Copyright © 2011-2022 走看看