网络表示学习Network Representation Learning/Embedding
网络表示学习相关资料
网络表示学习(network representation learning,NRL),也被称为图嵌入方法(graph embedding method,GEM)是这两年兴起的工作,目前很热,许多直接研究网络表示学习的工作和同时优化网络表示+下游任务的工作正在进行中。
清华大学计算机系的一个学习组 新浪微博@涂存超 整理的论文列表:https://github.com/thunlp/NRLpapers,并一直持续更新着,里面详细的列举了最近几年有关网络表示学习(network representation learning/network embedding)比较有代表性的论文列表及其代码。
☆陈启明整理的github列表 https://github.com/chihming/awesome-network-embedding
一篇综述性文章(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一篇博客:
http://blog.csdn.net/Dark_Scope/article/details/74279582#0-tsina-1-3919-397232819ff9a47a7b7e80a40613cfe1一个github资料,里面有部分论文+code(大多数是python实现,matlab次之):
四个slides:
[(MLSS2017)网络表示学习]《Representation Learning with Networks》by Jure Leskovec [Stanford University] Part1:网页链接 Part2:网页链接 Part3:网页链接 Part4:网页链接
- https://pan.baidu.com/s/1nuB5Rex
- https://pan.baidu.com/s/1geUHeQB
- https://pan.baidu.com/s/1cwB7pc
网络表示学习(DeepWalk,LINE,node2vec,SDNE)
详细的资料可以参考:网络表示学习相关资料
1.传统:基于图的表示(又称为基于符号的表示)
如左图G =(V,E),用不同的符号命名不同的节点,用二维数组(邻接矩阵)的存储结构表示两节点间是否存在连边,存在为1,否则为0。
缺点:长尾分布下大部分节点间没有关系,所以邻接矩阵非常稀疏,不利于存储计算。
2. 网络表示学习(Network Representation Learning,NRL),也称为图嵌入法(Graph Embedding Method,GEM):用低维、稠密、实值的向量表示网络中的节点(含有语义关系,利于计算存储,不用再手动提特征(自适应性),且可以将异质信息投影到同一个低维空间中方便进行下游计算)。
DeepWalk【1】:
实现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模型中(中间节点预测上下 文节点)--------- output:representation
LINE【2】:
(1)先区分两个概念:
一阶相似度:直接相连节点间,例如6与7。
定义节点vi和vj间的联合概率为
v代表节点,u代表节点的embedding。上面式子的意思是两节点越相似,內积越大,sigmoid映射后的值越大,也就是这两节点相连的权重越大,也就是这两个节点间出现的概率越大???。
二阶相似度:通过其他中介节点相连的节点间例如5与6。
用的是一个条件概率
(2)目标是让NRL前后节点间相似度不变,也节点表示学习前如果两个节点比较相似,那么embedding后的这两个节点表示向量也要很相似。--此文中用的是KL散度,度量两个概率分布之间的距离。KL散度的相关知识详见:http://blog.csdn.net/u013527419/article/details/51776786
以保证其一阶相似度为例子:
embedding前:节点vi和vj间的经验联合概率为
所以,最小化:
Node2vec【3】:
论文+实现及其他:http://snap.stanford.edu/node2vec/
类似于deepwalk,主要的创新点在于改进了随机游走的策略,定义了两个参数p和q,在BFS和DFS中达到一个平衡,同时考虑到局部和宏观的信息,并且具有很高的适应性。
(1)
(2)参数控制跳转概率的随机游走,之前完全随机时,p=q=1.
--返回概率参数(Return parameter)p,对应BFS,p控制回到原来节点的概率,如图中从t跳到v以后,有1/p的概率在节点v处再跳回到t。
--离开概率参数(In outparameter)q,对应DFS,q控制跳到其他节点的概率。
上图中,刚从edge (t,v)过来,现在在节点v上,要决定下一步(v,x)怎么走。其中dtx表示节点t到节点x之间的最短路径,dtx=0表示会回到节点t本身,dtx=1表示节点t和节点x直接相连,但是在上一步却选择了节点v,dtx=2表示节点t不与x直接相连,但节点v与x直接相连。
(3)在计算广告、推荐领域中,围绕着node2nec有俩很有意思的应用:
Facebook:http://geek.csdn.net/news/detail/200138
Tencent:http://www.sohu.com/a/124091440_355140
SDNE[4]::
本文的一大贡献在于提出了一种新的半监督学习模型,结合一阶估计与二阶估计的优点,用于表示网络的全局结构属性和局部结构属性。
对节点的描述特征向量(比如点的「邻接向量」)使用autoencoder编码,取autoencoder中间层作为向量表示,以此来让获得2ndproximity(相似邻居的点相似度较高,因为两个节点的「邻接向量」相似,说明它们共享了很多邻居,最后映射成的向量y也会更接近)。总觉得上面图中local和global写反了。
目标函数:
【1】Perozzi B, Al-Rfou R, Skiena S.Deepwalk: Online learning of social representations[C],KDD2014: 701-710.
【2】LINE:Large-scaleInformation Network Embedding。WWW2015,JianTang, Meng Qu , Mingzhe Wang, Ming Zhang, Jun Yan, Qiaozhu Mei,MicrosoftResearch Asia;Peking University,China;University of Michigan。
【3】node2vec: Scalable Feature Learning forNetworks,A 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
转载于:https://www.cnblogs.com/sonictl/p/8460230.html
网络表示学习Network Representation Learning/Embedding相关推荐
- 【论文翻译|2021】A survey on heterogeneous network representation learning 异构网络表示学习综述
文章目录 摘要 1引言 2 相关工作 3 相关概念 4 分类 4.1 异构信息网络表示方法概览 4.2 异构信息网络嵌入算法的分类 4.3 基于路径的算法 4.3.1 传统的机器学习 5 讨论 5.1 ...
- 【论文翻译 IJCAI-20】Heterogeneous Network Representation Learning 异构网络表示学习
文章目录 摘要 1 引言 2 异构网络挖掘 3 异构网络表示 3.1 异构网络嵌入 3.2 异构图神经网络 3.3 知识图谱与属性网络 3.4 应用 4 挑战.方向和开源数据 4.1 未来方向 避免设 ...
- 文献记录(part36)--A survey on heterogeneous network representation learning
学习笔记,仅供参考,有错必纠 关键词:异构网络:网络表征学习:机器学习 文章目录 A survey on heterogeneous network representation learning 摘 ...
- network representation learning(NRL)
network representation learning(NRL) Label Informed Attributed Network Embedding 这篇论文关注的是带标签的属性网络的特征 ...
- 表示学习(Representation Learning)之局部表示(Local Representation)与分布式表示(Distributed Representation)
一个良好的表示是内容充分高效表达的基础,作为沟通计算机与现实世界的桥梁,计算机行业人员每时每刻都在研究事物的表示.比如:编程语言,早期的机器语言和现在的高级程序语言可以看作是指令的两种不同表示方式,从 ...
- 图表示学习(Graph Representation Learning)笔记
Introduction graph–是一种可以描述复杂系统的数据结构 1.1 what is a graph? G=(V,E)G = (V,E)G=(V,E) V:node set E: edge ...
- 关于表征学习(Representation Learning)的浅显理解
最近刚上研一,真正开始学习人工智能相关内容了,所以稍微对自己的学习过程做个记录. 我们在训练CNN区分猫和狗的时候,会给计算机看很多猫和狗的图片,计算机慢慢就能学会区分猫和狗.那么这里要问了,我们总是 ...
- 【论文阅读|深读】ANRL: Attributed Network Representation Learning via Deep Neural Networks
目录 前言 简介 Abstract 1 Introduction 2 Related Work 3 Proposed Model 3.1 Notations and Problem Formulati ...
- 文献阅读总结:网络表示学习/图学习
本文是对网络表示学习/图学习(Network Representation Learning / Graph Learning)领域已读文献的归纳总结,长期更新. 朋友们,我们在github创建了一个 ...
最新文章
- 如何轻松实现iOS9多任务管理器效果(iCarousel高级教程)
- 吴恩达深度学习笔记(109)-循环神经网络模型(RNN介绍)
- 李春平:钱不是奥黛莉赫本给的
- qpython获取手机gps_基于Python获取照片的GPS位置信息
- Oracle dataGuard专题:Rman通过duplicate创建standby
- inodesusedpercent_Linux系统中常用的监控指标整理
- DXUT实战1:CG+D3D9+DXUT(june_2010)
- haproxy高可用
- matlab画柱状图斜线,matlab柱状图斜线填充
- 西南民族大学计算机院方导师,暨南大学信息科学技术学院导师教师师资介绍简介-高博宇...
- PostgreSQL的下载和安装使用步骤
- e与phi不互素 --- 五道题详记
- 51nod 13831048 整数分解为2的幂 [递推]【数学】
- 实现DNS主从复制、子域、转发、智能DNS
- C语言-数据输入与输出函数
- builing android2.2(froyo)
- 2021高考汇文中学成绩查询,2021年北京高考英语阅读理解评析(北京汇文中学)...
- 安装包UI美化之路-在线安装包
- C++ 演讲比赛流程管理系统
- 毕设 基于J2EE的网上图书超市的设计与实现论文
热门文章
- 电脑桌面宠物java,java 桌面动态宠物
- builing android2.2(froyo)
- Windows系统提示应用程序无法正常启动(0xc0000142)解决方法
- 二维平面多点电荷电力线与等位面及三维空间多点电荷电力线的计算机仿真
- 计算机考研专业课课件,【考研计算机专业课】武汉大学计算机网络PPT课件 习题课.ppt...
- Java数据同步方案
- 守护云原生安全,青藤让浙江移动“心里更有底”
- Matlab产生正交矩阵
- 计算机无线网卡,电脑如何无线上网 电脑无线网卡买什么好
- JavaSocket