一、Graph2vec
https://www.pythonf.cn/read/72395
子图抽取用的是 Weisfeiler-Lehman算法
https://blog.csdn.net/qq_37475168/article/details/103616443
二、GNN参考教程
https://dreamhomes.top/posts/202005162221.html
1.使用DGL的例程
https://docs.dgl.ai/tutorials/basics/1_first.html
目的是节点分类:Karate club中,分为两个community,由0,33两个节点分别领导。对剩余节点分类,预测属于哪个社区。
步骤:
1.生成graph G
2.给节点或边添加特征 nn.embedding 每个节点添加1x5的特征向量
3.GCN网络 原文:https://arxiv.org/pdf/1609.02907.pdf 代码:https://github.com/tkipf/pygcn
每一层,每个节点有一个特征向量,GCN需要聚合u的特征信息作为v的下一层特征,u是v的邻节点;
建立两层的GCN网络:GCN(5--5--2):feature size--hidden size--output.
4.数据准备和初始化
由于是半监督学习,只给0和33的特征信息
5.训练并可视化
训练循环:1.创建一个优化器2.给定输入数据到模型中3.计算损失函数4.用autograd优化模型