图网络的度矩阵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 的特征

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

相关推荐
辰尘_星启6 小时前
[线性代数]矩阵/向量求导为什么要区别分子布局和分母布局
神经网络·线性代数·数学·矩阵·控制·导数
西***634710 小时前
从被动响应到主动预判:矩阵技术重塑机场安全监控新生态
线性代数·矩阵
梯度下降中10 小时前
求职面试中的线代知识总结
人工智能·线性代数·算法·机器学习
We་ct12 小时前
LeetCode 289. 生命游戏:题解+优化,从基础到原地最优
前端·算法·leetcode·矩阵·typescript
fie888916 小时前
MATLAB中LASSO方法的特征矩阵优化与特征选择实现
开发语言·matlab·矩阵
Candice Can17 小时前
【机器学习】吴恩达机器学习Lecture3-Linear Algebra review(optional) 线性代数回顾
人工智能·线性代数·机器学习·吴恩达机器学习
颢珂智库Haokir Insights17 小时前
线性代数 (Linear Algebra) 的数学模型示例:数据变换
线性代数
重生之我是Java开发战士2 天前
【优选算法】前缀和:一二维前缀和,寻找数组的中心下标,除自身以外数组的乘积,和为K的子数组,和可被K整除的子数组,连续数组,矩阵区域和
线性代数·算法·矩阵
We་ct2 天前
LeetCode 73. 矩阵置零:原地算法实现与优化解析
前端·算法·leetcode·矩阵·typescript
好学且牛逼的马2 天前
【Hot100|22-LeetCode 206. 反转链表 - 完整解法详解】
算法·leetcode·矩阵