阅读量 ,评论量
一、前言
基于图的典型任务
节点分类:一个资讯会不会被用户点击、……
边预测:用户与用户之间的相似度、……
社区发现:定向人群挖掘、……
网络相似度:分子结构判定、……
图分类:分子所属类目的判定、……
主流解法
图模型需要具备的能力:将原始空间中的图结构映射到一个低维的空间,并且能够使节点间的『相关度』在映射后的空间中保持一致。
Walk-Based
GE(graph-embedding)
通过游走的方式生成游走路径,通过word2vec的方式获得节点的embedding表示,生成节点间的相关度。根据游走逻辑的不同,可分为:
- DeepWalk:根据边的权重随机地游走;
- Node2Vec:额外引进广度优先遍历和深度优先遍历的概率超参;
- Metapath2Vec:额外引进游走schema,依此进行概率游走;
优:
- shallow encoder,运算速度高;
- 偏精准记忆;
缺:
- encoder表达能力有限;
- 易受训练数据分布影响,泛化性差;
Message-Passing GNN()
生成节点的embedding表示时,不再只依赖节点本身,而是汇聚邻居和节点自身的信息来获得节点的embedding表示。根据汇聚逻辑的不同,可分为:
- 基础做法:节点表示 ← Active(W1 * 邻居均值 + W2 * 节点表示)
- GraphSAGE:将邻居均值操作改为通用汇聚函数(Mean、Pooling、LSTM);并将加和操作改为concat;
- GAT:在通用汇聚函数中引入attention操作,更加个性化;
优:
- deep encoder,表达能力强;
- 泛化性好;
缺:
- 卷积、FC的引入,运算速度低;
- 海量数据下,效果不如精准记忆(实践发现;不同业务场景结论可能不同);
GraphSAGE
BOW SUM聚合方式: \[
E_s = \alpha E_s + (1-\alpha) \sum_{t \epsilon \{边类型\}} (E_s +
\sum_{neighber_i \epsilon \{边类型为t的邻居\}}^{采样个数}E_{neighber_i})
\]