Gcn符号笔记

Key Points

  • 邻接矩阵 A通常表示无向图中结点之间的连接,尺寸为 [N,N],其中 N 是结点的数量。
  • 度矩阵 D 是对角矩阵,尺寸为 [N,N],对角元素表示每个结点的度。
  • 结点特征向量矩阵 X X X 的尺寸为 [N,C] ,其中 C 是每个结点的特征数量,包含结点的额外属性,如年龄或文本特征。

邻接矩阵 A

邻接矩阵 A 是一个方阵,用于表示图中结点之间的连接关系。对于无向图,A[i,j]=1 A[i, j] = 1 A[i,j]=1 表示结点 i 和 j 之间有边,否则为 0。它的尺寸为 [N,N],其中  N 是结点的总数。

例如,对于一个包含 3 个结点的图,结点 A、B、C,边为 (A, B) 和 (B, C),则:

Gcn符号笔记_第1张图片


度矩阵 D

度矩阵 D是一个对角矩阵,其对角元素 D[i,i] 表示结点 i  的度(即与其直接相连的边的数量)。它的尺寸也为 [N,N]。

继续上面的例子,结点的度分别为:

  • A 的度为 1(连接到 B)
  • B 的度为 2(连接到 A 和 C)
  • C 的度为 1(连接到 B)

则:

Gcn符号笔记_第2张图片


结点特征向量矩阵 X

结点特征向量矩阵 X包含每个结点的额外属性,尺寸为 [N,C],其中 C  是特征的数量。这些特征可以是任何与结点相关的属性,如社会网络中的年龄、性别,或学术论文中的词汇出现情况。

例如,假设每个结点有两个特征:年龄和性别(0 为女性,1 为男性):

  • A:年龄 25,性别 0
  • B:年龄 30,性别 1
  • C:年龄 28,性别 1

则:

另一个例子是 Cora 数据集,其中每个结点是论文,特征是基于 1433 个词汇的二进制向量,表示词汇是否出现在论文中。X的尺寸为 [2708,1433],例如一个小例子:

  • 论文1 包含词汇 1、2、3,则行向量为 [1, 1, 1, 0, 0](假设只有 5 个词汇)。


详细说明

以下是关于无向图 G=(V,E) G = (V, E) G=(V,E) 中各矩阵的详细解释,包括邻接矩阵 A A A、度矩阵 D D D 和结点特征向量矩阵 X X X,以及举例说明,特别是对 X X X 的详细示例。

背景与定义

无向图 G=(V,E) G = (V, E) G=(V,E) 由结点集 V V V 和边集 E E E 组成,其中:

  • V  包含网络中所有的 N  个结点。
  • E 代表结点之间的边,表示无向连接(即边没有方向)。

为了分析图的结构和属性,我们常用矩阵表示:

  • 邻接矩阵 A :大小为 [N,N] ,元素 A[i,j]=1 表示结点 i和 j之间有边,A[i,j]=0 表示无边。对于无向图,A 是对称矩阵,且对角线通常为 0(无自环)。
  • 度矩阵 D :大小为 [N,N],是一个对角矩阵,其中 D[i,i] 是结点 i的度(即与其直接相连的边的数量)。
  • 结点特征向量矩阵 X :大小为 [N,C] ,其中 C 是每个结点的特征数量,包含与每个结点相关的额外属性,常见于图机器学习任务。
举例说明

为了更直观地理解这些矩阵,我们以一个简单的小型无向图为例,包含 3 个结点 A、B、C,边为 (A, B) 和 (B, C)。

1. 邻接矩阵 A

我们按顺序排列结点为 A、B、C,则:

  • A 连接 B,B 连接 A 和 C,C 连接 B。
  • 因此,A A A 为:
  • Gcn符号笔记_第3张图片​​
  • 这里,A[0,1]=1 表示 A 和 B 相连,A[0,2]=0 表示 A 和 C 不相连。
2. 度矩阵 D

计算每个结点的度:

  • A 的度为 1(只连接 B)
  • B 的度为 2(连接 A 和 C)
  • C 的度为 1(只连接 B)

因此,D D D 为:

Gcn符号笔记_第4张图片

这是对角矩阵,对角线元素分别是各结点的度。

3. 结点特征向量矩阵 X

现在我们为每个结点添加两个特征:年龄和性别(0 为女性,1 为男性)。假设:

  • A:年龄 25,性别 0
  • B:年龄 30,性别 1
  • C:年龄 28,性别 1

则 X X X 为:

Gcn符号笔记_第5张图片

这里,X X X 的尺寸为 [3,2] [3, 2] [3,2],第一列是年龄,第二列是性别。

为了进一步说明 X X X 的多样性,我们再看一个实际数据集的例子:Cora 数据集。Cora 是一个引用网络,包含 2708 篇论文(结点),每个论文用一个基于 1433 个词汇的二进制向量表示,表明词汇是否出现在论文中。例如:

  • 如果我们只考虑 3 篇论文和 5 个词汇,假设:
    • 论文1 包含词汇 1、2、3,则行向量为 [1, 1, 1, 0, 0]
    • 论文2 包含词汇 2、4,则行向量为 [0, 1, 0, 1, 0]
    • 论文3 包含词汇 3、5,则行向量为 [0, 0, 1, 0, 1]

则 X X X 为:

这里,C=5 C = 5 C=5,每个特征对应一个词汇的出现情况。

总结与应用
  • 邻接矩阵 A A A度矩阵 D D D 主要用于描述图的结构,常见于图论中的分析。
  • 结点特征向量矩阵 X X X 则在图机器学习中尤为重要,特别是在图神经网络(GNN)中,用于结点分类、链接预测等任务。特征可以是数值(如年龄)、分类(如性别),或高维向量(如文本特征)。

以下表格总结了各矩阵的定义和例子:

矩阵 尺寸 定义 示例(3 结点图)
邻接矩阵 A [N,N] 表示结点间连接,A[i,j]=1  有边 [010101010] \begin{bmatrix} 0 & 1 & 0 \\ 1 & 0 & 1 \\ 0 & 1 & 0 \end{bmatrix} ​010​101​010​​
度矩阵 D [N,N] 对角矩阵,对角元素为结点的度 [100020001] \begin{bmatrix} 1 & 0 & 0 \\ 0 & 2 & 0 \\ 0 & 0 & 1 \end{bmatrix} ​100​020​001​​
特征矩阵 X [N,C] 每个结点的 C  个特征,描述属性 [250301281] \begin{bmatrix} 25 & 0 \\ 30 & 1 \\ 28 & 1 \end{bmatrix} ​253028​011​​ (年龄、性别)

通过这些例子,相信可以更清楚地理解各矩阵的含义,特别是 X X X 在实际应用中的多样性。

参考资料:

  • Introduction to Graph Machine Learning
  • What are examples of node 'features' in graph networks? - Artificial Intelligence Stack Exchange
  • Graph Neural Networks Series | Part 3 | Node embedding | by Omar Hussein | The Modern Scientist | Medium
  • The Cora dataset - Graph Consulting
  • Papers with Code - Cora Dataset

你可能感兴趣的:(笔记,python)