文章目录
Why Graphs?
Graphs are a general language for describing and analyzing entities with relations/interactions.
图是用于描述和分析具有关系/交互的实体的一种通用语言。
- 许多数据类型是图


Graphs and Relational Data
主要问题:如何利用这些关系数据更好的进行预测任务?
Graphs : Machine Learning
复杂领域有丰富的关系结构,可以被表示为relational graph(关系图),通过显式的建模得到更好的表现。
Today:Modern ML Toolbox
但并非所有数据都可以表示为sequence or grid
。如何开发出适用范围更广的神经网络?使其应用不在局限于images and sequences
。
图机器学习
Graphs are the new frontier of deep learning.(图是深度学习的新前沿)
Graphs connect things.(图连接一切)
为何图深度学习很难?
Networks are complex.
- Arbitrary and complex topological structure(任意大小和复杂拓扑结构,没有向网格一样的空间局部性)
- No fixed node ordering or reference point(没有固定节点排序或参考点)
- Often dynamic and have multimodal features(图是动态的并具有多模态特征)
Deep Learning in Graphs(图深度学习)
Representation Learning(表示学习)


Outline
- 传统方法:Graphlets、Graph Kernels
- 节点嵌入方法:DeepWalk、Node2Vec
- 图神经网络:GCN、GraphSAGE、GAT、
- 知识图谱和推理:TransE、BetaE
- 图深度生成模型:GraphRNN
- 应用:Biomedicine、Science、Industry
Application(应用)
经典图机器学习任务
- 节点分类:预测一个节点属性
- 在线用户/物品分类
- 链接预测:预测两个节点间是否边缺失
- 图分类:分类不同的图
- 分子属性预测
- 聚类:检查节点是否形成社区
- 社交圈子检测
- 其他任务
- 图生成:药物发现
- 图演化:物理模拟
Example(例子)
Node-level ML Tasks(节点级别的ML任务)
- 仅仅基于氨基酸序列预测蛋白质的3D结构
- AlphaFold:解决蛋白质折叠问题
- 核心idea:Spatial graph (空间图)
- 节点:蛋白质序列中的氨基酸
- 边:氨基酸(残基)之间的接近度
Edge-level ML Tasks(边级别的ML任务)
-
推荐系统
- 用户和物品交互
- 看电影、购物、听音乐
- 节点:用户和物品
- 边:用户和物品的交互
- 目标:给用户推荐其可能喜欢的物品
基于图的推荐
- 用户和物品交互
2. 药物副作用影响
Subgraph-level ML Tasks(子图级别ML任务)
- 交通预测
- 节点:路段
- 边:路段之间的连通性
- 预测:Time of Arrival(ETA)(到达时间)
解决方法:用GNN来预测ETA。