符号定义#
内积是一种映射 ⟨⋅,⋅⟩:V×V→R,满足以下性质:
- 正定性:对于所有 v∈V,⟨v,v⟩≥0,且当且仅当 v=0 时等号成立。
- 对称性(自反性):对于所有 u,v∈V,⟨u,v⟩=⟨v,u⟩。
- 线性性:对于所有 u,v,w∈V 和标量 c∈R,满足以下线性关系:
- ⟨cu,v⟩=c⟨u,v⟩
- ⟨u+w,v⟩=⟨u,v⟩+⟨w,v⟩
定义标准内积为 ⟨u,v⟩=∑i=1nuivi=uTv,其中 u=(u1,u2,…,un) 和 v=(v1,v2,…,vn) 是 n 维实向量。
从向量到矩阵的内积#
补充:Gram矩阵#
对于一组向量 {v1,v2,…,vm},我们可以构造一个 m×m 的矩阵 G,称为Gram矩阵,其元素定义为向量之间的内积:
Gij=⟨vi,vj⟩或者如图:

Gram矩阵有几个重要性质:
- 对称性:由于内积的对称性,Gram矩阵是一个对称矩阵,即 Gij=Gji。
- 半正定性:Gram矩阵是半正定的。任何非零向量 c∈Rm,都有 cTGc≥0。这是因为 cTGc=∑i=1m∑j=1mcicj⟨vi,vj⟩=⟨∑i=1mcivi,∑j=1mcjvj⟩≥0。
- 秩:Gram矩阵的秩等于向量集合 {v1,v2,…,vm} 的线性独立向量的数量。换句话说,如果这些向量中有 r 个是线性独立的,那么 Gram矩阵的秩就是 r。
- 特征值:由于 Gram矩阵是半正定的,它的所有特征值都是非负的。这些特征值反映了向量集合的几何性质,例如它们在空间中的分布和相互关系。
ATA#
内积的概念可以推广到矩阵空间。对于两个同型矩阵 A,B∈Rm×n,我们可以定义它们的Frobenius内积为:
⟨A,B⟩F=tr(ATB)=i=1∑mj=1∑nAijBij可以参考矩阵的迹与Frobenius范数的关系。
对于一个矩阵 A 自己和自己内积ATA :
假设矩阵 A 的列向量分别为 a1,a2,…,an:
A=∣a1∣∣a2∣…∣an∣当我们计算 ATA 时:
ATA=—a1T—⋮—anT—∣a1∣…∣an∣=a1Ta1a2Ta1⋮a1Ta2a2Ta2⋮……⋱可以看到,ATA 的每一个元素正好是 A 的列向量之间的内积。
结论:
- ATA 是矩阵 A 的列向量的 Gram 矩阵。
- 同理: AAT 是矩阵 A 的行向量的 Gram 矩阵。
所以 ATA 也满足 Gram矩阵的性质:
- 对称性:ATA 是一个对称矩阵。
- 半正定性:ATA 是半正定的。
- 秩:ATA 的秩等于 A 的列空间的维数。(或者AAT 等于 A 的行空间的维数)
- 特征值:ATA 的所有特征值都是非负的。
ATA 的应用#
A. 描述“相关性”
在数据处理中,如果 A 的每一列代表一个特征,那么 Gram 矩阵 ATA 实际上捕捉了所有特征两两之间的相关性。对角线元素 aiTai 是向量的长度平方(能量)。非对角线元素反映了向量间的夹角(余弦相似度)。
B. 风格迁移(Style Transfer)
在深度学习的风格迁移(如 Gatys 的算法)中,我们提取卷积层的特征图(Feature Map),计算其 Gram 矩阵。这正是利用了 Gram 矩阵能丢弃空间信息、提取纹理统计特性的能力。
C. 与 SVD(奇异值分解)的联系
ATA 的特征值的平方根就是 A 的奇异值(Singular Values)。利用迹的性质:Tr(ATA)=∑λi=∑σi2=∥A∥F2。这意味着矩阵所有元素的平方和(Frobenius范数的平方),等于其 Gram 矩阵的迹,也等于所有奇异值的平方和。
ATA 和 AAT 体现的对称性#
A 是一个 m×n 的矩阵。ATA 是一个 n×n 的对称阵。AAT 是一个 m×m 的对称阵
他们共享以下性质:
-
特征值:ATA 和 AAT 的非零特征值是相同的。如果 λ=0 是 ATA 的一个特征值,那么它也一定是 AAT 的特征值。
证明:
设 v 是 ATA 的特征向量,对应特征值 λ:
(ATA)v=λv
两边同时左乘 A:
A(ATA)v=A(λv)
利用矩阵结合律重组左边:
(AAT)(Av)=λ(Av)
结果显而易见:Av 变成了 AAT 的特征向量,且对应的特征值依然是 λ
-
迹(Trace) 相等:由循环不变性 tr(AB)=tr(BA)。所以 tr(ATA)=tr(AAT)=∑aij2(这就是矩阵的 Frobenius 范数的平方)。
-
秩(Rank) 相等:rank(A)=rank(ATA)=rank(AAT)。这意味着它们包含的“线性无关信息量”是一模一样的。
-
奇异值相同:因为奇异值 σ=λ,所以两者的奇异值(除去多出来的 0)完全一致。
唯一不同:零特征值的个数。如果 m>n,那么大的矩阵 AAT 会比 ATA 多出 m−n 个等于 0 的特征值。换句话说,大矩阵包含了小矩阵的所有信息,只是额外多了一堆“废话”(零空间)。