PyTorch图神经网络(六)
第十章讲的是使用图神经网络来预测链接,这里直接跳过传统方法。
1.VGAE
VGAE是通过编码器-解码器的形式来对链接进行预测。通过VGAE对节点的特征进行编码,然后通过GCN层来聚合相邻节点的特征,最终能够得到每个节点的隐向量,通过预测节点隐向量的相似度来预测边的存在性,最终预测得到的比原来多的边就是可能存在的边。
损失函数:预测得到的边与真实的邻接矩阵的差。
2.SEAL
SEAL是一种基于子图结构的链接预测模型。他通过提取目标节点以及周围k跳的子图作为输入,通过网络学习子图结构来预测,具体为:
1.封闭子图提取:包括采用一组真实链接和一组假链接来形成训练数据;
2.节点信息矩阵构建:涉及3个组成部分:节点标签,节点嵌入和节点特征。
3.图神经网络训练:以节点信息矩阵为输入,输出链接概率。
这里最重要的就是第二部分的理解:
1.节点标签:为每个节点分配一个特定的编号,并嵌入了距离。
2.节点嵌入:通过模型学习到的节点低维向量;
3.节点特征:节点本身的特征;
然后,使用节点信息矩阵和邻接矩阵来预测链接。
最终输出的是两个点之间存在边的概率,损失函数和上面基本一致。