1347 字
7 分钟
从向量到矩阵的内积:Gram矩阵与$A^TA$
2026-04-20
无标签

符号定义#

内积是一种映射 ⟨⋅,⋅⟩:V×V→R\langle \cdot, \cdot \rangle: V \times V \to \mathbb{R},满足以下性质:

  1. 正定性:对于所有 v∈V\mathbf{v} \in V,⟨v,v⟩≥0\langle \mathbf{v}, \mathbf{v} \rangle \geq 0,且当且仅当 v=0\mathbf{v} = \mathbf{0} 时等号成立。
  2. 对称性(自反性):对于所有 u,v∈V\mathbf{u}, \mathbf{v} \in V,⟨u,v⟩=⟨v,u⟩\langle \mathbf{u}, \mathbf{v} \rangle = \langle \mathbf{v}, \mathbf{u} \rangle。
  3. 线性性:对于所有 u,v,w∈V\mathbf{u}, \mathbf{v}, \mathbf{w} \in V 和标量 c∈Rc \in \mathbb{R},满足以下线性关系:
    • ⟨cu,v⟩=c⟨u,v⟩\langle c\mathbf{u}, \mathbf{v} \rangle = c\langle \mathbf{u}, \mathbf{v} \rangle
    • ⟨u+w,v⟩=⟨u,v⟩+⟨w,v⟩\langle \mathbf{u} + \mathbf{w}, \mathbf{v} \rangle = \langle \mathbf{u}, \mathbf{v} \rangle + \langle \mathbf{w}, \mathbf{v} \rangle

定义标准内积为 ⟨u,v⟩=∑i=1nuivi=uTv\langle \mathbf{u}, \mathbf{v} \rangle = \sum_{i=1}^n u_i v_i=\mathbf{u}^T \mathbf{v},其中 u=(u1,u2,…,un)\mathbf{u} = (u_1, u_2, \ldots, u_n) 和 v=(v1,v2,…,vn)\mathbf{v} = (v_1, v_2, \ldots, v_n) 是 nn 维实向量。

从向量到矩阵的内积#

补充:Gram矩阵#

对于一组向量 {v1,v2,…,vm}\{\mathbf{v}_1, \mathbf{v}_2, \ldots, \mathbf{v}_m\},我们可以构造一个 m×mm \times m 的矩阵 GG,称为Gram矩阵,其元素定义为向量之间的内积:

Gij=⟨vi,vj⟩G_{ij} = \langle \mathbf{v}_i, \mathbf{v}_j \rangle

或者如图: alt text

Gram矩阵有几个重要性质:

  1. 对称性:由于内积的对称性,Gram矩阵是一个对称矩阵,即 Gij=GjiG_{ij} = G_{ji}。
  2. 半正定性:Gram矩阵是半正定的。任何非零向量 c∈Rm\mathbf{c} \in \mathbb{R}^m,都有 cTGc≥0\mathbf{c}^T G \mathbf{c} \geq 0。这是因为 cTGc=∑i=1m∑j=1mcicj⟨vi,vj⟩=⟨∑i=1mcivi,∑j=1mcjvj⟩≥0\mathbf{c}^T G \mathbf{c} = \sum_{i=1}^m \sum_{j=1}^m c_i c_j \langle \mathbf{v}_i, \mathbf{v}_j \rangle = \langle \sum_{i=1}^m c_i \mathbf{v}_i, \sum_{j=1}^m c_j \mathbf{v}_j \rangle \geq 0。
  3. 秩:Gram矩阵的秩等于向量集合 {v1,v2,…,vm}\{\mathbf{v}_1, \mathbf{v}_2, \ldots, \mathbf{v}_m\} 的线性独立向量的数量。换句话说,如果这些向量中有 rr 个是线性独立的,那么 Gram矩阵的秩就是 rr。
  4. 特征值:由于 Gram矩阵是半正定的,它的所有特征值都是非负的。这些特征值反映了向量集合的几何性质,例如它们在空间中的分布和相互关系。

ATAA^TA#

内积的概念可以推广到矩阵空间。对于两个同型矩阵 A,B∈Rm×nA, B \in \mathbb{R}^{m \times n},我们可以定义它们的Frobenius内积为:

⟨A,B⟩F=tr(ATB)=∑i=1m∑j=1nAijBij\langle A, B \rangle_F = \text{tr}(A^T B) = \sum_{i=1}^m \sum_{j=1}^n A_{ij} B_{ij}

可以参考矩阵的迹与Frobenius范数的关系。

对于一个矩阵 AA 自己和自己内积ATAA^TA :

假设矩阵 A\mathbf{A} 的列向量分别为 a1,a2,…,an\mathbf{a}_1, \mathbf{a}_2, \dots, \mathbf{a}_n:

A=(∣∣∣a1a2…an∣∣∣)\mathbf{A} = \begin{pmatrix} | & | & & | \\ \mathbf{a}_1 & \mathbf{a}_2 & \dots & \mathbf{a}_n \\ | & | & & | \end{pmatrix}

当我们计算 ATA\mathbf{A}^T\mathbf{A} 时:

ATA=(—a1T—⋮—anT—)(∣∣a1…an∣∣)=(a1Ta1a1Ta2…a2Ta1a2Ta2…⋮⋮⋱)\mathbf{A}^T\mathbf{A} = \begin{pmatrix} \text{—} \mathbf{a}_1^T \text{—} \\ \vdots \\ \text{—} \mathbf{a}_n^T \text{—} \end{pmatrix} \begin{pmatrix} | & & | \\ \mathbf{a}_1 & \dots & \mathbf{a}_n \\ | & & | \end{pmatrix} = \begin{pmatrix} \mathbf{a}_1^T \mathbf{a}_1 & \mathbf{a}_1^T \mathbf{a}_2 & \dots \\ \mathbf{a}_2^T \mathbf{a}_1 & \mathbf{a}_2^T \mathbf{a}_2 & \dots \\ \vdots & \vdots & \ddots \end{pmatrix}

可以看到,ATA\mathbf{A}^T\mathbf{A} 的每一个元素正好是 A\mathbf{A} 的列向量之间的内积。

结论:

  • ATA\mathbf{A}^T\mathbf{A} 是矩阵 A\mathbf{A} 的列向量的 Gram 矩阵。
  • 同理: AAT\mathbf{A}\mathbf{A}^T 是矩阵 A\mathbf{A} 的行向量的 Gram 矩阵。

所以 ATAA^TA 也满足 Gram矩阵的性质:

  1. 对称性:ATAA^TA 是一个对称矩阵。
  2. 半正定性:ATAA^TA 是半正定的。
  3. 秩:ATAA^TA 的秩等于 AA 的列空间的维数。(或者AATAA^T 等于 AA 的行空间的维数)
  4. 特征值:ATAA^TA 的所有特征值都是非负的。

ATAA^TA 的应用#

A. 描述“相关性”

在数据处理中,如果 A\mathbf{A} 的每一列代表一个特征,那么 Gram 矩阵 ATA\mathbf{A}^T\mathbf{A} 实际上捕捉了所有特征两两之间的相关性。对角线元素 aiTai\mathbf{a}_i^T \mathbf{a}_i 是向量的长度平方(能量)。非对角线元素反映了向量间的夹角(余弦相似度)。

B. 风格迁移(Style Transfer)

在深度学习的风格迁移(如 Gatys 的算法)中,我们提取卷积层的特征图(Feature Map),计算其 Gram 矩阵。这正是利用了 Gram 矩阵能丢弃空间信息、提取纹理统计特性的能力。

C. 与 SVD(奇异值分解)的联系

ATA\mathbf{A}^T\mathbf{A} 的特征值的平方根就是 A\mathbf{A} 的奇异值(Singular Values)。利用迹的性质:Tr(ATA)=∑λi=∑σi2=∥A∥F2Tr(\mathbf{A}^T\mathbf{A}) = \sum \lambda_i = \sum \sigma_i^2 = \|\mathbf{A}\|_F^2。这意味着矩阵所有元素的平方和(Frobenius范数的平方),等于其 Gram 矩阵的迹,也等于所有奇异值的平方和。

ATAA^TA 和 AATAA^T 体现的对称性#

AA 是一个 m×nm \times n 的矩阵。ATAA^T A 是一个 n×nn \times n 的对称阵。AATA A^T 是一个 m×mm \times m 的对称阵

他们共享以下性质:

  • 特征值:ATAA^T A 和 AATA A^T 的非零特征值是相同的。如果 λ≠0\lambda \neq 0 是 ATAA^T A 的一个特征值,那么它也一定是 AATAA^T 的特征值。

    证明:

    设 v\mathbf{v} 是 ATAA^T A 的特征向量,对应特征值 λ\lambda:

    (ATA)v=λv(A^T A) \mathbf{v} = \lambda \mathbf{v}

    两边同时左乘 AA:

    A(ATA)v=A(λv)A (A^T A) \mathbf{v} = A (\lambda \mathbf{v})

    利用矩阵结合律重组左边:

    (AAT)(Av)=λ(Av)(A A^T) (A \mathbf{v}) = \lambda (A \mathbf{v})

    结果显而易见:AvA \mathbf{v} 变成了 AATAA^T 的特征向量,且对应的特征值依然是 λ\lambda

  • 迹(Trace) 相等:由循环不变性 tr(AB)=tr(BA)\text{tr}(AB) = \text{tr}(BA)。所以 tr(ATA)=tr(AAT)=∑aij2\text{tr}(A^T A) = \text{tr}(A A^T) = \sum a_{ij}^2(这就是矩阵的 Frobenius 范数的平方)。

  • 秩(Rank) 相等:rank(A)=rank(ATA)=rank(AAT)\text{rank}(A) = \text{rank}(A^T A) = \text{rank}(A A^T)。这意味着它们包含的“线性无关信息量”是一模一样的。

  • 奇异值相同:因为奇异值 σ=λ\sigma = \sqrt{\lambda},所以两者的奇异值(除去多出来的 0)完全一致。

唯一不同:零特征值的个数。如果 m>nm > n,那么大的矩阵 AATAA^T 会比 ATAA^T A 多出 m−nm-n 个等于 00 的特征值。换句话说,大矩阵包含了小矩阵的所有信息,只是额外多了一堆“废话”(零空间)。

从向量到矩阵的内积:Gram矩阵与$A^TA$
https://biscuit0613.github.io/posts/math/innerproduct/
作者
Biscuit
发布于
2026-04-20
许可协议
CC BY-NC-SA 4.0
奇异值和奇异值分解 (Singular Value Decomposition, SVD)
矩阵的可逆性与Sherman-Morrison