我最近开始学习GNN,到目前为止我已经介绍了GCN和GraphSage。但是当测试发生时,我对这个过程感到困惑。

现在,假设在上面的图中,我使用节点作为列车和测试集,如图所示。假设我使用GraphSage模型来完成一个有监督的节点分类任务,现在在训练过程中,我为子图提供蓝色节点,并利用该子图(蓝色)中节点的邻域信息计算权重(参数)。
但是在测试期间,我想找到绿色节点的标签。因此,在此期间,将使用训练期间计算的权重和测试节点的邻域信息来执行GraphSage的前向传播。
我的疑问是:在测试中,我感到困惑的部分是,在测试过程中,算法是只考虑绿色节点(测试集),还是在前向传播步骤中考虑蓝色节点的信息(因为它是连通的,如图中所示)来计算节点嵌入?
下面是纸中提到的图形的前向传播算法。

这可能是一个愚蠢的问题,但由于我是新手,所以在火车和测试期间,我很难理解邻里的定义。如果我说错了任何一点,请纠正我。
发布于 2021-10-17 17:22:43
该算法是只考虑绿色节点(测试集)还是考虑蓝色节点的邻域?
它同时考虑了蓝色节点和绿色节点。
注意,GNN处理的是换能式学习,其中测试数据(这里的节点)在培训期间被看到(不知道标签)。你可能想到的是归纳学习(训练集和测试集是完全分开的)。
假设我使用GraphSage模型来完成一个有监督的节点分类任务,现在在训练过程中,我为子图提供蓝色节点,并利用该子图(蓝色)中节点的邻域信息计算权重(参数)。
这是不对的,在培训期间,您提供了整个图(蓝色节点和绿色节点以及所有的egdes),但是您只提供了列车集中节点的标签(在培训期间测试集中节点的标签是未知的)。
您可能需要参考这些幻灯片(第55页以后)。
https://datascience.stackexchange.com/questions/99706
复制相似问题