当前位置: 首页 > ai >正文

拆解GCN(Graph Convolutional Network)单层迭代公式

用5个节点(每个节点10维特征)为例,详细拆解GCN(Graph Convolutional Network)单层迭代公式中各矩阵的​​维度​​和​​计算过程​​。GCN公式为:

1. 各矩阵的维度定义​

假设你的场景是:

  • ​节点数​​:5个(例如5个路口/传感器)
  • ​每个节点特征维度​​:10维(例如车流量、速度等10个特征)
  • ​第 l 层的输出特征维度​​:假设为20维(可自定义)
​(1) 邻接矩阵 A​
  • ​维度​​:5×5
  • ​含义​​:描述节点间的连接关系。
​(2) 单位矩阵 I​
  • ​维度​​:5×5
  • ​含义​​:对角线为1,其他为0。添加自环后,每个节点会连接到自身。
​(3) 添加自环后的邻接矩阵 A^=A+I​
  • ​维度​​:5×5
​(4) 度矩阵 D^​
  • ​维度​​:5×5
  • ​含义​​:对角矩阵,对角线元素是每个节点的度数(即连接的边数)。
​(5) 节点特征矩阵 H(l)​
  • ​维度​​:5×10
    • 行数:5(节点数)
    • 列数:10(每个节点的特征维度)
​(6) 权重矩阵 W(l)​
  • ​维度​​:10×20
    • 输入维度:10(与 H(l) 的列数一致)
    • 输出维度:20(自定义,决定下一层的特征维度)

​2. 公式计算步骤的维度变化​

我们逐步计算 H(l+1) 的维度:

​(1) 计算 H(l)W(l)​
  • ​输入​​:H(l)(5×10) × W(l)(10×20)
  • ​输出​​:5×20
    (矩阵乘法规则:(5×10)×(10×20)=5×20)
​(2) 计算归一化的拉普拉斯矩阵 D^−21​A^D^−21​​
  • ​维度​​:5×5
    (所有矩阵都是5×5,结果仍为5×5)
​(3) 聚合邻居信息​
  • ​输入​​:D^−21​A^D^−21​(5×5) × H(l)W(l)(5×20)
  • ​输出​​:5×20
    (矩阵乘法规则:(5×5)×(5×20)=5×20)
​(4) 激活函数 σ​
  • ​输入​​:5×20
  • ​输出​​:5×20(激活函数不改变维度)

​3. 最终输出 H(l+1) 的维度​

  • ​维度​​:5×20
    (与下一层的输入特征维度一致)

​4. 维度总结​

矩阵/操作维度说明
邻接矩阵 A5×5原始节点连接关系
单位矩阵 I5×5添加自环
自环邻接矩阵 A^5×5A+I
度矩阵 D^5×5对角矩阵,对角线为节点度数
特征矩阵 H(l)5×10第 l 层的输入特征
权重矩阵 W(l)10×20将特征从10维映射到20维
输出 H(l+1)5×20第 l+1 层的输出特征(激活函数后)

​5. 关键理解点​

  1. ​邻接矩阵 A^ 的作用​​:定义节点间的连接关系,控制信息传播范围。
  2. ​度矩阵 D^ 的作用​​:归一化邻接矩阵,防止节点度数不同导致特征缩放不均。
  3. ​权重矩阵 W(l) 的作用​​:学习特征变换,决定下一层的特征维度。
  4. ​激活函数 σ​​:引入非线性,增强模型表达能力。
http://www.xdnf.cn/news/4015.html

相关文章:

  • 基于MicroPython的ESP32开发
  • YOLOv8 标签透明化与可视化优化指南
  • 两次解析格式化字符串 + 使用SQLAlchemy的relationship执行任意命令 -- link-shortener b01lersCTF 2025
  • C语言|函数的递归调用
  • 智算中心建设方案和前景分析
  • RHCE 第二次作业
  • LeetCode 热题 100 118. 杨辉三角
  • boke luntan shop edu自动化脚本
  • 民宿管理系统5
  • WidowX-250s 机械臂的简单数字孪生案例
  • 【NLP】 31. Retrieval-Augmented Generation(RAG):KNN-LM, RAG、REALM、RETRO、FLARE
  • 【渗透测试】Web服务程序解析漏洞原理、利用方式、防范措施
  • C++进阶之——多态
  • 【C++项目实战】日志系统
  • WEB表单和表格标签综合案例
  • win10启动项管理在哪里设置?开机启动项怎么设置
  • Android工厂模式
  • 抽奖系统(基于Tkinter)
  • 微服务项目中网关服务挂了程序还可以正常运行吗
  • 数学复习笔记 2
  • JAVA在线考试系统考试管理题库管理成绩查询重复考试学生管理教师管理源码
  • JobHistory Server的配置和启动
  • LCD,LED
  • 期末项目Python
  • GoogleTest:GMock初识
  • 嵌入式开发学习日志Day13
  • window 系统 使用ollama + docker + deepseek R1+ Dify 搭建本地个人助手
  • C++笔记之接口`Interface`
  • 恶心的win11更新DIY 设置win11更新为100年
  • 《赤色世界》彩蛋