很多数据都是图结构,例如社交网络、经济网络、生物医学网络、信息网络(互联网网站、学术引用)、互联网、神经网络。而网络是它们的通用语言,因此具备极大的研究价值。
图表示学习目标:获取高效的Embedding
图表示学习类型:
- 基于图结构的表示学习:对结点的向量表示只来源于图的拓扑结构,缺乏对图结点特征消息的表示。
- 基于图特征的表示学习:对结点的向量表示既包含了图的拓扑信息也包含了已有的特征向量。
- 节点分类 ——预测一个给定节点的类型
- 链接预测 ——预测两个节点是否连接
- 社群检测 ——识别密集连接的节点群
- 网络相似度 ——两个子网络有多相似
区别于词向量表示(e.g.,Word2Vec (学习笔记)),词向量表示的任务是将单词转换为包含语义的vectors,而基于图结构的表示学习目的是将图网络的节点(或边)表示为向量,图表示学习所涵盖的范围更广泛, e.g.,drug-drug network,drug-disease network,protein-protein network, electronic network.
Model | Paper | Note | Source Code | Train Script |
---|---|---|---|---|
DeepWalk | [KDD 2014]DeepWalk: Online Learning of Social Representations | DeepWalk:学习笔记 | deepwalk.py | run_deepwalk.py |
LINE | [WWW 2015]LINE: Large-scale Information Network Embedding | LINE:学习笔记 | line.py | run_line.py |
Node2Vec | [KDD 2016]node2vec: Scalable Feature Learning for Networks | Node2Vec:学习笔记 | node2vec.py | run_node2vec.py |
SDNE | [KDD 2016]Structural Deep Network Embedding | |||
Struc2Vec | [KDD 2017]struc2vec: Learning Node Representations from Structural Identity |
Model | Paper | Note | Source Code | Train Script |
---|---|---|---|---|
GCN | [ICLR 2017]semi-supervised classification with graph convolutional networks | |||
GraphSAGE | [NeurIPS 2017]Inductive representation learning on large graphs | |||
GAT | [ICLR 2018]Graph Attention Networks |
1、PyG
2、DGL
[1] Standford CS224W
Machine Learning with Graphs
Insturctor: Prof. Jure Leskovec
[4] A Gentle Introduction to Graph Neural Networks, Google Research