图网络的度矩阵D/邻接矩阵A/拉普拉斯矩阵L以及图中的节点如何各自保存更新节点特征

在开始前,我们明确几个概念度矩阵D/邻接矩阵A/拉普拉斯矩阵L分别是做什么的?

  • 度矩阵D:描述一个节点能连接多少其他节点;
  • 邻接矩阵A: 描述一个节点具体和其他哪个节点连接;
  • 拉普拉斯矩阵L:L=D-A描述一个节点的特征和其他节点特征有多不一样。
python 复制代码
For Example
一个简单的图结构:A ------ B ------ C
提取其度矩阵D=
				[ 1  0  0 ] # A只和一个节点B相连
				[ 0  2  0 ] # B和两个节点相连B和C
				[ 0  0  1 ] # C只和一个节点B相连
提取其邻接矩阵A=
				[ 0  1  0 ]  	[ 0  		A和B相连  0       ] 
				[ 1  0  1 ]  	[ B和A相连  0  		  B和C相连 ] 
				[ 0  1  0 ]  	[ 0  		C和B相连  0       ] 
计算其拉普拉斯矩阵L=D-A
				[ 1  0  0 ]   [ 0  1  0 ]   [  1  -1   0 ]
				[ 0  2  0 ] − [ 1  0  1 ] = [ -1   2  -1 ]
				[ 0  0  1 ]   [ 0  1  0 ]   [  0  -1   1 ]

之后我们就可以愉快的了解图节点如何保存与更新他们各自的节点特征

  • 每一个节点的节点特征并不是一个数,而是由许多数组成的一个行向量。所有节点的行向量都叠在一起,就获得了一个节点特征矩阵
  • 例如,某油田中存在一成熟井网,井网的这种网络关系就可以看作图。井网中的每一口井就可以看作图中的节点,那么这个井对应的节点就应具备一些必要的节点特征例如BHP,PERM和PORO.
  • 这些合在一起则有井对应的节点特征向量x_i=[BHP, Pro, PERM, PORO]
python 复制代码
For Example
一个简单的井网(图结构):A ------ B ------ C. 每个节点具有两个特征(一行 = 一个节点, 一列 = 一种特征)
 - F1: BHP
 - F2: Pro
X = [ 18   90 ]   ← A 
	[ 17   85 ]   ← B
	[ 18   95 ]   ← C
神经网络的基本操作是:节点的新信息=自己的旧信息+邻居的信息,也可以写成X'=AX.
计算X'=AX
A =				X =				AX =
[ 0  1  0 ]		[ 18  90 ]←A		[ 17  85 ]
[ 1  0  1 ]		[ 17  85 ]←B		[ 36  185]
[ 0  1  0 ]		[ 18  95 ]←C		[ 17  85 ]
 - A 只连着 B → 拿到 B 的特征
 - B 连着 A 和 C → 拿到 A + C 的特征
 - C 只连着 B → 拿到 B 的特征

后记:当了这么久调参侠和炼丹师不懂些算法还是有点立不住。

相关推荐
lbb 小魔仙3 小时前
面向 NPU 的高性能矩阵乘法:CANN ops-nn 算子库架构与优化技术
线性代数·矩阵·架构
空白诗3 小时前
CANN ops-nn 算子解读:大语言模型推理中的 MatMul 矩阵乘实现
人工智能·语言模型·矩阵
劈星斩月5 小时前
线性代数-3Blue1Brown《线性代数的本质》特征向量与特征值(12)
线性代数·特征值·特征向量·特征方程
池央7 小时前
ops-nn 算子库中的数据布局与混合精度策略:卷积、矩阵乘法与 RNN 的优化实践
rnn·线性代数·矩阵
深鱼~9 小时前
大模型底层算力支撑:ops-math在矩阵乘法上的优化
人工智能·线性代数·矩阵·cann
Zfox_9 小时前
CANN PyPTO 编程范式深度解析:并行张量与 Tile 分块操作的架构原理、内存控制与流水线调度机制
线性代数·矩阵·架构
TechWJ9 小时前
catlass深度解析:Ascend平台的高性能矩阵运算模板库
线性代数·矩阵·ascend·cann·catlass
deep_drink1 天前
【基础知识一】线性代数的核心:从矩阵变换到 SVD 终极奥义
线性代数·机器学习·矩阵
数智工坊1 天前
【数据结构-特殊矩阵】3.5 特殊矩阵-压缩存储
数据结构·线性代数·矩阵
AI科技星1 天前
张祥前统一场论核心场方程的经典验证-基于电子与质子的求导溯源及力的精确计算
线性代数·算法·机器学习·矩阵·概率论