矩阵乘法的三种视角

后续图卷积网络的原理讲解主要以矩阵乘法的显示展开,这里介绍矩阵乘法的几种不同的视角,这些视角有助于我们理解图卷积网络的逻辑过程。

对于矩阵 A∈Rm×nA\in R^{m\times n}A∈Rm×n 和 矩阵 B∈Rn×pB \in R^{n\times p}B∈Rn×p,它们的乘积 C∈Rm×pC \in R^{m \times p}C∈Rm×p,可以由如下三种视角计算得到。

  • 內积视角:这是我们本科阶段就接触到的视角。矩阵CCC 的第i 行第 j 列是由矩阵 AAA 的第iii 和矩阵BBB 的第j列做內积运算得到。
    即:ci,j=Ai,∗×B∗,j=∑k=1nai,k∗bk,jc_{i,j}=A_{i,*}\times B_{*,j}=\sum_{k=1}^{n} a_{i,k}*b_{k,j}ci,j​=Ai,∗​×B∗,j​=∑k=1n​ai,k​∗bk,j​。Ai,∗A_{i,*}Ai,∗​表示A的第i行,B∗,jB_{*,j}B∗,j​表示B的第j列。
  • 行向量视角:矩阵 CCC的第 iii 行可以看做矩阵BBB 的所有行向量以矩阵AAA 的第i行为系数,线性组合而得到。这里的逻辑是:矩阵 CCC 的第 iii 行的形状是 1×p1\times p1×p,该形状与矩阵BBB 的每一行的形状(1×p1 \times p1×p)是一致的。因此我们看可以把 CCC的第iii 行,看成是矩阵 BBB 的所有行的线性组合。那么组合过程的系数是谁呢?因为每次组合,需要对矩阵BBB 的 mmm 个行向量进行组合,那么势必需要 mmm 个系数,每个系数负责去乘以一个行向量,很自然地 矩阵AAA 的第iii 列 恰好是有mmm 个元素的,可以充当系数。
    于是我们有:Ci,∗=A∗,i×BC_{i,*}=A_{*,i} \times BCi,∗​=A∗,i​×B 。
  • 列向量视角: 矩阵 CCC的第iii 列,可以看做是矩阵 AAA的所有列向量,以矩阵BBB 的第iii 行 为系数,线性组合而成。
    我们有:C∗,i=A×Bi,∗C_{*,i}=A \times B_{i,*}C∗,i​=A×Bi,∗​ 。

举个例子来说:
对于矩阵 :
A=[1−12021]B=[20−110−1]C=A×B=[3−3−21]A= \begin{bmatrix} 1 &-1 &2 \\ 0 & 2 &1 \end{bmatrix} \quad B=\begin{bmatrix} 2 & 0 \\ -1 & 1\\ 0 & -1 \end{bmatrix} \quad C=A\times B=\begin{bmatrix} 3 &-3\\ -2&1 \end{bmatrix} A=[10​−12​21​]B=⎣⎡​2−10​01−1​⎦⎤​C=A×B=[3−2​−31​]

內积视角:c0,0=A0,∗×B∗,0=[1−12]×[2−10]=3c_{0,0}=A_{0,*}\times B_{*,0}=\begin{bmatrix}1&-1&2\end{bmatrix} \times \begin{bmatrix}2\\-1\\0\end{bmatrix}=3c0,0​=A0,∗​×B∗,0​=[1​−1​2​]×⎣⎡​2−10​⎦⎤​=3

行向量视角:C0,∗=A0,∗×B=[1−12]×[20−110−1]=1×(20)+−1×(−11)+2×(0−1)=(3−3)\begin{aligned} C_{0,*}= A_{0,*} \times B=\begin{bmatrix}1&-1&2\end{bmatrix} \times \begin{bmatrix} 2 & 0 \\ -1 & 1\\ 0 & -1 \end{bmatrix}=1\times \begin{pmatrix}2&0\end{pmatrix} + -1 \times \begin{pmatrix}-1&1\end{pmatrix}+2 \times \begin{pmatrix}0&-1\end{pmatrix}\\=\begin{pmatrix}3&-3\end{pmatrix} \end{aligned}C0,∗​=A0,∗​×B=[1​−1​2​]×⎣⎡​2−10​01−1​⎦⎤​=1×(2​0​)+−1×(−1​1​)+2×(0​−1​)=(3​−3​)​

列向量视角:
C∗,1=A×B∗,1=[1−12021]×[01−1]=0×(10)+1×(−12)+−1×(21)=(−31)C_{*,1}=A \times B_{*,1} = \begin{bmatrix} 1 &-1 &2 \\ 0 & 2 &1 \end{bmatrix} \times \begin{bmatrix} 0 \\ 1\\ -1 \end{bmatrix}=0 \times \begin{pmatrix}1\\0\end{pmatrix}+ 1 \times \begin{pmatrix}-1\\2\end{pmatrix}+ -1 \times \begin{pmatrix}2\\1\end{pmatrix}=\begin{pmatrix}-3\\1\end{pmatrix} C∗,1​=A×B∗,1​=[10​−12​21​]×⎣⎡​01−1​⎦⎤​=0×(10​)+1×(−12​)+−1×(21​)=(−31​)

图信号

给定图 G=(V,E)G=(V,E )G=(V,E),其中 VVV 表示节点集合,假设节点个数为 NNN , E={(u,v)∣u∈V,v∈V}E=\{(u,v)|u\in V,v \in V\}E={(u,v)∣u∈V,v∈V} 表示边集合。
所谓的图信号,是图节点到mmm维向量空间RmR^mRm的一个映射,即:V→RmV\to R^mV→Rm,表示成向量的形式:x=[x1x2…xN]\bold{x}=\begin{bmatrix}x_1\\x_2\\\dots\\x_N\end{bmatrix}x=⎣⎢⎢⎡​x1​x2​…xN​​⎦⎥⎥⎤​,其中 xix_ixi​ 表示第iii 个节点的特征信号。

为了方便后续的讲解,我们先把mmm 限制为1。

在研究图上面节点特征信号的时候,除了要自然而然的考虑图信号本身以外,还需要考虑图里面节点之间的连接关系,不同图上同一特征信号具有不同的性质。

拉普拉斯矩阵是用来研究图结构性质的核心对象,它负责将图中节点之间的连接关系以矩阵的方式引入到模型之中,它充当了一个离散图信号与图拓扑关系之间的桥梁的角色。

拉普拉斯矩阵的定义为:L=D−AL=D-AL=D−A ,其中AAA 是图的邻接矩阵,如果Aij=1A_{ij}=1Aij​=1 说明存在 (i,j)∈E(i,j)\in E(i,j)∈E,如果Aij=0A_{ij}=0Aij​=0 说明(i,j)∉E(i,j)\notin E(i,j)∈/​E,而且规定Aii=0A_{ii}=0Aii​=0;而 DDD 是节点的出度矩阵,它是一个对角矩阵,其中Dii=∑j=1NAijD_{ii}=\sum^{N}_{j=1}A_{ij}Dii​=∑j=1N​Aij​。因此 LLL 的计算为:
Dij={0,if(i,j)∉E−1,if(i,j)∈E,i≠jDij,ifi=jD_{ij}=\left\{ \begin{aligned} 0 &,if \space(i,j)\notin E \\ -1&,if \space (i,j) \in E, i \neq j \\ D_{ij} &, if \space i= j \end{aligned} \right. Dij​=⎩⎪⎨⎪⎧​0−1Dij​​,if (i,j)∈/​E,if (i,j)∈E,i​=j,if i=j​

为啥说拉普拉斯矩阵是个桥梁呢 ?
我们可以看到特性信号向量 x\bold{x}x 里面的每个元素是独立的,如果我们往x\bold{x}x 左乘它所在图的拉普拉斯矩阵 LLL,
即:x′=Lx\bold{x'}= L\bold{x}x′=Lx 。我们看可以得到什么:
x′=Lx=(D−A)x\begin{aligned} \bold{x'}=L\bold{x}=(D-A)\bold{x} \end{aligned} x′=Lx=(D−A)x​
因为LLL 的形状是N×NN\times NN×N,而x\bold{x}x的形状为N×1N\times1N×1,于是它们乘积的结果x′\bold{x'}x′ 的形状是N×1N\times1N×1 。
如果我们从行向量视角来看x′\bold{x'}x′的计算的话,那么x′\bold{x'}x′的第iii 行可以看做是 x\bold{x}x的所有行的线性组合,而组合的系数是 LLL的第iii 行 ,即有:
xi′=Li∗x\bold{x'_i}=L_{i*}\bold{x} xi′​=Li∗​x
而 LLL的第iii 里面,LiiL_{ii}Lii​ 是节点iii 的出度,Lij=0L_{ij}=0Lij​=0 如果不存在节点iii 到节点 jjj的边,否则Li,j=−1L_{i,j}=-1Li,j​=−1。因此
xi′=Li∗x=∑j∈{j∣(i,j)∈E}Aijxi−∑j∈{j∣(i,j)∈E}Aijxj=∑j∈{j∣(i,j)∈E}Aijxi−Aijxj=∑j∈{j∣(i,j)∈E}(xi−xj)\begin{aligned} \bold{x'_i}=L_{i*}\bold{x}=\sum_{j\in\{j|(i,j)\in E\}}A_{ij}x_i-\sum_{j\in \{j|(i,j)\in E\}}A_{ij}x_{j}\\=\sum_{j\in\{j|(i,j)\in E\}}A_{ij}x_i-A_{ij}x_{j}=\sum_{j\in\{j|(i,j)\in E\}}(x_i-x_{j}) \end{aligned} xi′​=Li∗​x=j∈{j∣(i,j)∈E}∑​Aij​xi​−j∈{j∣(i,j)∈E}∑​Aij​xj​=j∈{j∣(i,j)∈E}∑​Aij​xi​−Aij​xj​=j∈{j∣(i,j)∈E}∑​(xi​−xj​)​
也就是:x′\bold{x'}x′的第iii 个元素表示用节点iii 与其他所有从它出去的节点的特征信号差的和。

这反映了iii 节点的信号值与其他相邻节点信号值之间的差异程度。

当然了,这个差值的和是带符号的,如果出现一正一负的数据,他们进行求和后数值本身的绝对值会下降。
如果能够使用差的平方和就好了!

于是在x′\bold{x'}x′ 的基础上,我们左乘一个 xT\bold{x}^TxT:
p=xTx′=xTLx′=∑i=1Nxi[∑j∈{j∣(i,j)∈E}(xi−xj)]=∑i=1N∑j∈{j∣(i,j)∈E}(xi2−xixj)=x12−x1x2+x12−x1x3+⋯+x12−x1xj+x22−x1x2+x22−x2x3+⋯+x22−x2xj+⋯+xN2−x1xN+xN2−xNx2+⋯+xN2−xNxj+=(x12−2x1x2+x22)+(x12−2x1x3+x32)+⋯+(x12−2x1xN+xN2)+(x22−2x2x3+x32)+⋯+(x22−2x2xN+xN2)+…=∑{i,j∣(i,j)∈E}(xi−xj)2\begin{aligned} p=\bold{x}^T\bold{x'}=\bold{x}^TL\bold{x'}=\sum_{i=1}^{N}x_{i}[\sum_{j\in\{j|(i,j)\in E\}}(x_{i}-x_{j})]\\ =\sum_{i=1}^{N}\sum_{j\in\{j|(i,j)\in E\}}(x_{i}^2-x_{i}x_{j})\\ =x_{1}^{2}-x_1x_2+x_1^2-x_1x_3+\dots+x^2_1-x_1x_j+\\ x_{2}^{2}-x_1x_2+x_2^2-x_2x_3+\dots+x^2_2-x_2x_j+\\ \dots +\\ x_{N}^{2}-x_1x_N+x_N^2-x_Nx_2+\dots+x^2_N-x_Nx_j+\\ =(x_1^2-2x_1x_2+x^2_2)+(x^2_1-2x_1x_3+x^2_3)+\dots+(x^2_1-2x_1x_N+x^2_N)+\\ (x^2_2-2x_2x_3+x^2_3)+\dots+(x^2_2-2x_2x_N+x^2_N)+\dots\\ =\sum_{\{i,j|(i,j)\in E\}}(x_i-x_j)^2 \end{aligned} p=xTx′=xTLx′=i=1∑N​xi​[j∈{j∣(i,j)∈E}∑​(xi​−xj​)]=i=1∑N​j∈{j∣(i,j)∈E}∑​(xi2​−xi​xj​)=x12​−x1​x2​+x12​−x1​x3​+⋯+x12​−x1​xj​+x22​−x1​x2​+x22​−x2​x3​+⋯+x22​−x2​xj​+⋯+xN2​−x1​xN​+xN2​−xN​x2​+⋯+xN2​−xN​xj​+=(x12​−2x1​x2​+x22​)+(x12​−2x1​x3​+x32​)+⋯+(x12​−2x1​xN​+xN2​)+(x22​−2x2​x3​+x32​)+⋯+(x22​−2x2​xN​+xN2​)+…={i,j∣(i,j)∈E}∑​(xi​−xj​)2​
我们把这个标量叫做图信号的总变差,记做 TV(x)=xTLxTV(\bold{x})=\bold{x}^TL\bold{x}TV(x)=xTLx .
TV(x)TV(\bold{x})TV(x) 反映了图上各节点信号的平滑程度,而且总变差总是非负的。

图卷积网络原理(二)【图信号与图的拉普拉斯矩阵】相关推荐

  1. Graph Convolution Network图卷积网络(二)数据加载与网络结构定义

    背景 : 弄懂Graph Convolution Network的pytorch代码如何加载数据并且如何定义网络结构的. 代码地址:https://github.com/tkipf/pygcn 论文地 ...

  2. 图卷积网络初探【GCN】

    最近GCN非常火,虽然个人暂时用不到GCN,但还是简单看了下理论,感觉不是特别复杂,但是似乎实现上较为有难度,尤其是高维的图表示,先转载一篇机器之心的文章学习一下,感觉GCN主要是处理复杂的关系网络, ...

  3. 【论文翻译】Cluster-GCN:用于训练深度和大型图卷积网络的高效算法

    Cluster-GCN: An Efficient Algorithm for Training Deep and Large Graph Convolutional Networks 聚类GCN:一 ...

  4. 【论文翻译】HCGN:面向集体分类的异构图卷积网络深度学习模型

    HCGN:面向集体分类的异构图卷积网络深度学习模型 摘要 集合分类是研究网络数据的一项重要技术,旨在利用一组具有复杂依赖关系的互联实体的标签自相关性.随着各种异构信息网络的出现,集合分类目前正面临着来 ...

  5. 关系抽取:图卷积网络的学习(二)(附代码)

    关系抽取:图卷积网络的学习(二)(附代码) 目录 关系抽取:图卷积网络的学习(二)(附代码) 论文一:基于关系图的实体关系联合抽取 摘要 1.Introduction 2.Motivation 3.G ...

  6. 借助chat GPT阅读文献——基于改进的时间-图卷积网络的端到端EEG信号疲劳驾驶分类模型

    借助chat GPT阅读文献--基于改进的时间-图卷积网络的端到端EEG信号疲劳驾驶分类模型 文章主要内容 文献原文 End-to-end fatigue driving EEG signal det ...

  7. 一文概览图卷积网络基本结构和最新进展(附视频代码)

    来源:机器之心 本文长度为3476字,建议阅读7分钟 本文为你介绍图卷积网络的基本结构和最新的研究进展,并用一个简单的一阶 GCN 模型进行图嵌入. 本文介绍了图卷积网络的基本结构和最新的研究进展,并 ...

  8. 图卷积网络 GCN Graph Convolutional Network(谱域GCN)的理解和详细推导

    文章目录 1. 为什么会出现图卷积神经网络? 2. 图卷积网络的两种理解方式 2.1 vertex domain(spatial domain):顶点域(空间域) 2.2 spectral domai ...

  9. 卷积网络中的通道、特征图、过滤器和卷积核

    卷积网络中的通道.特征图.过滤器和卷积核 1.feature map 1 feature map 在cnn的每个卷积层,数据都是以三维形式存在的.你可以把它看成许多个二维图片叠在一起(像豆腐皮一样), ...

最新文章

  1. 个人前端学习路线图与github优秀前端开发者的路线图推荐
  2. python使用matplotlib可视化间断条形图、使用broken_barh函数可视化间断条形图、可视化定性数据的相同指标在时间维度上的差异
  3. xss攻击汇总--转
  4. python语言语句快的标记是什么_一文搞懂Python程序语句
  5. LNMP单机高并发的简单优化
  6. //随机生成1位大写字母\小写字母\数字
  7. python软件安装和使用方法_aws cli的安装及使用(内含python的安装方法)
  8. 无心剑中译狄金森诗36首
  9. win10安装账户卡住_win10安装卡着不动怎么处理 解决win10安装卡死方法
  10. Centos安装MysqlServer与MysqlWorkbench
  11. 浅析视频云行业及实现技术
  12. css3中自适应边框图片运用
  13. HDU - 1253 胜利大逃亡 BFS
  14. oracle 11g rac 恢复,11G RAC 异机恢复至单实例测试
  15. 青云云服务器怎么改系统,青云QingCloud沈鸥:企业应用如何往云端迁移?
  16. 区块链和公益怎么如何融合到一起
  17. 数字化转型风口,渠道商服务的转型与升级
  18. ISO文件解析(转)
  19. redis-短信手机号码频次限制
  20. jmeter性能测试报告之图形化展示

热门文章

  1. 路由器CFE-固件-NVRAM
  2. 【时空序列预测实战】风险时空预测?keras之ConvLSTM实战来搞定
  3. BPA - 一揽子采购协议 Blanket Purchase Agreement
  4. [4G/5G/6G专题基础-154]: 5G无线准入控制RAC(Radio Admission Control)+ 其他准入控制
  5. 图书信息管理系统(数据结构顺序表,c语言版)
  6. 安卓和IOS系统下字体样式的不同
  7. 1.5 synchronized类锁和对象锁快速区别
  8. 【nginx 扩容及常用模块扩展】
  9. 4.TradingView K线和成交量没有自适应区域显示,ma线显示会错乱,高低不齐(巨坑)
  10. 全国计算机等级考试四级考试大纲,全国计算机等级考试四级考试大纲