图卷积网络(GCN)与图注意力网络(GAT)基础实现及其应用

图卷积

创作不易,您的打赏、关注、点赞、收藏和转发是我坚持下去的动力!

图卷积网络(Graph Convolutional Networks, GCN)是一种能够直接在图结构数据上进行操作的神经网络模型。它能够处理不规则的数据结构,捕获节点之间的依赖关系,广泛应用于社交网络分析、推荐系统、图像识别、化学分子分析等领域。

主流的图卷积网络包括以下几种:

1. 经典图卷积网络(GCN)

经典GCN使用图拉普拉斯算子将卷积操作推广到图数据中,具体而言,它通过对图的邻接矩阵进行归一化操作来进行信息传播。GCN的核心思想是通过卷积操作在每一层中聚合节点邻居的信息,最终对节点进行表示。

在这里插入图片描述

示例代码:

import torch
import torch.nn as nn
import torch.nn.functional as F
import networkx as nx
import numpy as np

class GCNLayer(nn.Module):
    def __init__(self, in_features, out_features):
        super(GCNLayer, self).__init__()
        self.weight = nn.Parameter(torch.FloatTensor(in_features, out_features))
        nn.init.xavier_uniform_(self.weight)

    def forward(self, X, adj):
        support = torch.mm(X, self.weight)
        output = torch.mm(adj, support)
        return output

class GCN(nn.Module):
    def __init__(self, in_features, hidden_features, out_features):
        super(GCN, self).__init__()
        self.layer1 = GCNLayer(in_features, hidden_features)
        self.layer2 = GCNLayer(hidden_features, out_features)

    def forward(self, X
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

智能科技前沿

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值