Brain Network Transformer里的正交聚类模块很实用,用到了Gram-Schmidt process。
Gram-Schmidt 过程
1. 定义
Gram-Schmidt 过程是一种将线性无关的向量组转换为正交归一基的方法。具体来说,给定一组线性无关的向量 {v1,v2,…,vn},Gram-Schmidt 过程可以生成一组正交归一基 {u1,u2,…,un},使得这两个向量组张成的子空间相同。
2. 步骤
假设我们有一组线性无关的向量 {v1,v2,…,vn},Gram-Schmidt 过程的具体步骤如下:
- 初始化第一个正交向量:
w1=v1
u1=∥w1∥w1
- 递归生成后续正交向量:
对于每个 i 从 2 到 n,计算:wi=vi−j=1∑i−1⟨uj,uj⟩⟨vi,uj⟩uj
ui=∥wi∥wi
其中,⟨⋅,⋅⟩ 表示内积。
3. 具体公式
具体公式可以表示为:
w1=v1,u1=∥w1∥w1
wi=vi−j=1∑i−1⟨uj,uj⟩⟨vi,uj⟩uj,ui=∥wi∥wifor i=2,3,…,n
4. 矩阵形式
如果将这些向量组成矩阵 A,其中每一列是一个向量 vi,那么 Gram-Schmidt 过程可以表示为矩阵分解:
A=QR
其中,Q 是一个列向量为正交归一基的矩阵,R 是一个上三角矩阵。具体来说:
A=⎣⎡∣v1∣∣v2∣⋯∣vn∣⎦⎤=⎣⎡∣u1∣∣u2∣⋯∣un∣⎦⎤⎣⎢⎢⎢⎡r110⋮0r12r22⋮0⋯⋯⋱⋯r1nr2n⋮rnn⎦⎥⎥⎥⎤
其中,rij=⟨vj,ui⟩ 且 rii=∥wi∥。
5. 应用
在 OCREAD 中,Gram-Schmidt 过程用于初始化聚类中心,具体步骤如下:
- 使用 Xavier 均匀初始化方法初始化 K 个随机中心,每个中心包含 V 维,记为 C∈RK×V。
- 应用 Gram-Schmidt 过程将这些随机中心转换为正交基 E:
uk=Ck⋅−j=1∑k−1⟨uj,uj⟩⟨uj,Ck⋅⟩uj,Ek⋅=∥uk∥uk
6. 优势
正交归一化初始化的优势在于:
- 减少冗余:正交基的性质使得每个聚类中心在特征空间中相互独立,减少了聚类中心之间的冗余,提高了聚类的区分度。
- 提高性能:通过正交归一化初始化,模型可以更有效地学习节点嵌入和聚类分配,从而生成更具信息量的图级嵌入。