chap 1 : introduction
- 节点特征表征的挖掘有两种方法:
特征工程(feature engineering)–手工; 特征学习(feature learning)–自动; - 重点关注feature learning on graphs,包含两种方法:
图上的特征选择(去除不相关or冗余的节点特征); 图上的表示学习representation learning on graphs(用于生成节点的特征集); - 图上的特征选择:很多时候我们需要重点关注部分信息,而不是关注全部信息;传统的特征选择方法建立于数据实例是独立同分布的假设(i.i.d.),但是这种假设在大部分的应用场景里并不成立,于是motivate了图上的特征选择。
图上的特征选择定义:给定图G={V,E},V为节点集合,E为边集合。假设节点由d个特征刻画,图上的特征选择旨在选择K个特征(K<<d)。 有监督情景下的特征选择:通过线性分类器将选定的特征映射为class lables,图正则化项用于捕捉结构信息(相连的节点在选定的特征上应该被映射为相似的lables)。无监督情景下的特征选择:从结构信息中挖掘出假的lables作为监督信息指导特征选择过程。问题可以从简单图拓展到复杂图:动态图、多维图、有向图、属性图… - 图上的表示学习:旨在学习出新的节点特征。
早年间,图上的表示学习是基于谱聚类、图的维度下降和特征分解的。谱聚类的核心是谱嵌入(spectral embedding),它的目标是将节点嵌入到低维空间。谱嵌入结束后通过传统聚类算法完成聚类。图维度下降一般是通过预设的距离或相似度函数来建立相似图(affinity graph)。上面提到的方法一般都需要对关联矩阵\邻接矩阵\拉普拉斯矩阵进行特征分解,计算量大。我们常用关联矩阵\邻接矩阵\拉普拉斯矩阵来表示一个图,于是特征分解自然而然地被用于学习节点特征,我们学习低维的节点表示并且希望能够重构原来的图表示(这里提到的图表示就是上面提到的几种矩阵)。矩阵分解可以被用于:节点分类、链接预测… 利用word2vec在图上实现节点表示(将图上的节点视为某语言,维持图上的共现关系co-occurrence)。之后,工作大体被划分为三个方向:(1)维持节点共现关系的先进方法;(2)保存节点的其他信息:如结构信息、集体信息、节点状态等; (3)为复杂图设计框架。 将DNN推广到图上,得到GNN,GNN大体可以被分为频域and空域上的,空域方法显式地影响图结构,频域方法利用图傅立叶变换和图傅立叶反变换。 GNN的发展层面如下:
- 很多GNN模型被提出(空域、频域层面);
- 全图表示的发展,从节点表征中学习全图的表征,因此可以被用于graph-focused任务;
- GNN对于对抗攻击是脆弱的,发展出了defense技术;
- 如何将GNN扩展到更大的图上(scalability)
- 如何扩展到复杂图上;
- 将DNN架构扩展到图上,如自动编码机、VAE、RNN、生成对抗网络;
- 将GNN应用到各种领域上去。
|