GCN 在 Cora 数据集上节点分类任务的代码实现 什么是 GCN 图卷积神经网络,实际上跟 CNN 的作用一样,就是一个特征提取器,但 GCN 面向的对象是图数据结构,能够巧妙的从图数据中提取特征,并使用这些特征去尽显节点分类、图分类、边预测、图嵌入表示等问题。 图与欧式空间 为什么要有专门面向图的卷积神经网络?可以想到对于之前的 CNN、RNN 系列
这样,我们就构建了一个包含两个隐藏层的GCN模型。接下来,我们以cora的参考文献网络数据集为例,来详细探讨一下实例中的数据。该数据集的节点数据格式为:<被引论文的ID> <引文论文的ID>。Cites的特征矩阵包含以下列:<paper_id>:被引论文的唯一标识符。<word_attributes>:与被引论文相关的词向量或文本属性。
图上的机器学习任务通常有三种类型:整图分类、节点分类和链接预测。本篇博客要实现的例子是节点分类,具体来说是用GCN对Cora数据集里的样本进行分类。 Cora数据集介绍: Cora数据集由许多机器学习领域的paper构成,这些paper被分为7个类别: Case_Based Genetic_Algorithms Neural_Networks Probabilistic_Methods Reinforcement...
Cora数据集节点是论文,边是论文之间的引用关系。任务是预测论文的分类(研究领域)。 import dgl.data # networkx dataset = dgl.data.CoraGraphDataset() print('Number of categories:', dataset.num_classes) DGL的数据集可以包含多个graph,目前我们用的Cora数据集只有一个graph,所以直接取出这个graph: g = datase...
基于Pyg实现GCN对Cora数据集的分类任务 1、Pyg的基本使用方法(参考官网) 1.1、图的表示方法 data.x: 节点的特征的shape[num_nodes, num_node_features] data.edge_index:代表图的连接性,形状是[2, num_edges] data.edge_attr: 边的特征的shape [num_edges, num_edge_features]...
Cora数据集包含2708篇论文及其引用关系,形成5429条边。论文被划分为7类主题,通过词袋模型得到特征向量,维度为1433。目标是利用节点之间的连接关系对数据结构中的每个节点进行分类。下游任务与性能评估 针对节点分类任务,预测节点类别通常采用softmax函数,而性能评估则使用交叉熵损失函数。环境配置与模型实现 ...
上述代码中,GraphConvolution是定义图卷积层的模块,GCN是整个GCN模型的定义。在forward函数中,我们首先根据输入和权重矩阵计算节点的邻居加权和,然后通过激活函数进行非线性变换。 使用Cora数据集进行节点分类 下面我们将使用Cora数据集来训练和测试我们的GCN模型。Cora数据集是一个常用的图数据集,包含2708个科学文献节点,...
节点分类任务实现 Cora数据集 搭建GCN模型 训练与测试 迭代并输出 完整代码 基本介绍 PyTorch Geometric PyG(PyTorch Geometric)是一个基于PyTorch的库,可以轻松编写和训练图神经网络(GNN),用于与结构化数据相关的广泛应用。 它包括从各种已发表的论文中对图和其他不规则结构进行深度学习的各种方法,也称为几何深度学习。
图神经网络(Graph Neural Network,GNN)是使用神经网络来学习图结构数据,提取和发掘图结构数据中的特征和模式,满足聚类、分类、预测、分割、生成等图学习任务需求的算法,如图节点分类,图关系预测,社区发现,网络相似度。图卷积网络(Graph Convolutional Network,GCN),图注意力网络(Graph Attention Network,GAT),cora数据集...