# 技巧

## 任务

* transductive 任务：训练阶段与测试阶段都基于同样的图结构
* inductive 任务：训练阶段与测试阶段需要处理的graph不同。通常是训练阶段只是在子图（subgraph）上进行，测试阶段需要处理未知的顶点（unseen node）
* node classification
* link prediction
* community detection

## 模型

* NN
  * random walk转化为sequence data, 通过word2vec转化为embedding
  * 输入node, edge通过GCN, GAT自动提取图特征
  * 参考 [keras examples](https://keras.io/examples/graph/)
* 树
  * 图特征
* GAT
  * 一种是所有node之间两两计算相似度, 加权平均更新node
  * 一种是利用graph edge信息，逐个计算每个node与自己的neighbor的相似度

## 阅读

* https://github.com/pyg-team/pytorch\_geometric
* https://www.kaggle.com/code/mrkmakr/covid-ae-pretrain-gnn-attn-cnn/notebook
