我正在 PyTorch 中研究 GCN(图卷积网络),在我的应用程序中:患者是一个图,节点代表其基因,对于每个基因,我有 2 个特征(基因结构和表达值)。
我的任务是建立一个回归模型来预测每位患者患病的风险。
我的问题是,
1-如何知道哪些节点(基因)对预测有贡献?
2- 我拥有的 2 的哪个特征(基因结构和表达值)有助于预测?
任何建议/想法都会有所帮助,谢谢。
最佳答案
我建议的可能是最简单的解决方案。但是,它可以很好地工作。
根据您对问题的描述,您想学习图形(代表患者)表示,可用于预测患病风险。正如我们所知,GCN(图卷积网络)可以为图中的每个节点提供向量表示。
所有节点表示都可以转化为单个向量表示,表示整个图,这可以通过多种方式完成。例如,您可以使用最大池化或自注意力池化。通过这两种方式,您都可以确定哪些节点对最终预测的贡献最大。
例如,在self-attention pooling中,每个节点都有一个权重,单向量表示是加权向量表示。因此,权重可以指示节点的贡献。如果我们使用最大池化,那么我们可以在应用最大池化时计算一个节点中有多少特征被池化。计数本身可以指示贡献。
Which feature of the 2 that I have (gene structure and expression value) contribute to the prediction?
您可以应用与上述相同的想法。例如,您可以为这 2 个特征设置可学习的权重,以便在计算图的单个向量表示时将它们组合起来。
关于graph - 如何知道节点/功能贡献?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61851325/