上一篇(Art. 1A)给了我们描述向量和子空间的几何语言——内积度量对齐、投影做分解、秩衡量独立方向。这些是向量级的工具。
现在我们要问一个更深层的问题:矩阵本身有什么内在结构? 一个矩阵不只是一堆数字排成方阵。不同的矩阵有不同的”形状”——对称、正定、协方差、Gram……这些结构标签意味着什么?为什么 ML 中遇到的矩阵大多是对称半正定的?矩阵的迹和行列式这两个标量数字又凝缩了什么信息?
连接线是二次型(quadratic form)xTAx——它把矩阵变成一个标量值函数,几何上画出椭圆、双曲线等曲面。正定意味着椭圆不退化——所有方向都在拉伸。协方差矩阵是”数据云的形状描述”,天然半正定。VTV 度量列之间的相似度,VVT 把向量投影到列空间。迹和行列式是矩阵的两个最浓缩的”摘要”——总拉伸量和体积缩放。
这六个概念构成了矩阵级的几何语言,为 Art. 2 的特征分解做好最后的铺垫。
二次型:把矩阵变成几何曲面
从矩阵到标量函数
给定一个对称矩阵 A∈Rn×n(即 A=AT),二次型(quadratic form)定义为:
f(x)=xTAx
这是一个从 Rn 到 R 的函数——输入一个向量,输出一个标量。
为什么要求 A 对称?因为任何矩阵的二次型都等于其对称部分的二次型。具体来说,任意矩阵 B 都可以唯一分解为对称部分和反对称部分之和:
B=对称部分 S2B+BT+反对称部分 K2B−BT
其中 S=ST,K=−KT。关键观察:反对称矩阵对二次型的贡献恒为零。这是因为 xTKx 是一个标量,标量的转置等于自身:
xTKx=(xTKx)T=xTKTx=xT(−K)x=−xTKx
一个数等于它自己的负数,只能是零。因此:
二次型只看到对称部分
xTBx=xT(2B+BT)x
反对称部分对二次型贡献恒为零 → 正定性只对对称矩阵讨论。
也就是说,二次型只”看到”矩阵的对称部分——反对称部分完全隐形。所以不失一般性,我们只讨论对称矩阵。
用 2×2 验证:取 B=[1132],对称部分 S=[1222],反对称部分 K=[0−110]。对 x=(x1,x2)T:xTKx=x1x2−x2x1=0 ✓。反对称部分产生的两个交叉项恰好正负抵消。
2D 展开:看清每一项
在二维空间中,设 x=(x1,x2)T,对称矩阵 A=[abbc]。展开二次型:
xTAx=(x1x2)[abbc](x1x2)=ax12+2bx1x2+cx22
逐项含义:
- ax12:沿 x1 轴的”拉伸”,系数 a 决定拉伸强度
- cx22:沿 x2 轴的”拉伸”,系数 c 决定拉伸强度
- 2bx1x2:耦合项——两个坐标轴之间的”交叉作用”。b=0 时两轴独立
等值线的几何:矩阵决定形状
二次型的等值线(contour)是满足 xTAx=c 的所有点的集合。不同的矩阵画出截然不同的几何图形。
例 1:对角正定矩阵 A=[3001]
3x12+x22=1
这是一个标准椭圆——x1 方向被压得更窄(系数 3 更大),x2 方向更宽。椭圆的轴就沿坐标轴方向。
例 2:对角不定矩阵 A=[200−1]
2x12−x22=1
这是一条双曲线——x1 方向的系数为正,x2 方向为负,两个方向的”拉伸”相互矛盾。
例 3:非对角正定矩阵 A=[2112]
2x12+2x1x2+2x22=1
仍然是椭圆(因为两个方向的系数都为正且足够大),但椭圆旋转了——轴不再沿坐标轴。耦合项 2x1x2 让椭圆倾斜了 45 度。
二次型的等值线:矩阵结构决定几何形状
xᵀAx = c 的等值线由矩阵 A 的性质决定
关键观察:椭圆/双曲线的轴方向和长度,完全由矩阵 A 决定。 找到这些”天然轴”——让二次型的等值线变成最简单的形式——正是 Art. 2 特征分解要做的事。
二次型为什么重要
二次型不是一个纯数学游戏。在优化中,一个光滑函数在极值点附近的 Taylor 展开恰好是二次型:
f(x)≈f(x0)+∇f(x0)T(x−x0)+21(x−x0)TH(x−x0)
在极值点 ∇f=0,函数的局部行为就由二次型 21dTHd 决定(H 是 Hessian 矩阵)。椭圆形等值线意味着碗底(极小值),双曲线意味着鞍点。深度学习中损失函数的地形分析,核心就是在分析这个二次型。
同时,PCA 的优化目标 maxwwTCw(约束 ∥w∥=1)本身就是协方差矩阵 C 的二次型——在单位球面上找二次型的最大值。
正定与半正定:所有方向都在拉伸
定义
二次型的”形状”引出了矩阵最重要的分类之一:
- 正定(positive definite):xTAx>0 对所有 x=0
- 半正定(positive semidefinite,简写 PSD):xTAx≥0 对所有 x
- 不定(indefinite):存在 x 使 xTAx>0,也存在 y 使 yTAy<0
直观理解:
- 正定 = 不管从哪个方向看,二次型都严格为正 = 等值线是封闭椭圆 = 碗形曲面
- 半正定 = 所有方向都非负,但某些方向可能为零 = 椭圆可能退化成椭圆柱
- 不定 = 有些方向为正、有些为负 = 等值线是双曲线 = 鞍面
正定 vs 不定:等值线的几何区别
正定 = 封闭椭圆(碗底) 不定 = 双曲线(鞍点)
不依赖特征分解的判定方法
判断正定/半正定,有一个非常直接的充分条件:
BTB 判据:A=BTB ⟹ A 半正定
xTAx=∥Bx∥2≥0
推论:协方差矩阵(n1XTX)、Gram 矩阵、Kernel 矩阵都是对称半正定的。
什么时候严格正定?当 Bx=0 只有 x=0 这个解时——即 B 的零空间只包含零向量——BTB 就是正定的。
另一个简单判据:对角矩阵的正定性直接由对角元素决定。 如果 A=diag(d1,…,dn),则:
xTAx=d1x12+d2x22+⋯+dnxn2
所有 di>0 则正定,所有 di≥0 则半正定,有正有负则不定。
Art. 2 预告:特征分解会揭示一个优雅的等价条件——正定 ⟺ 所有特征值 >0。这把一般矩阵的正定性判断归结为了对角矩阵的情况。
为什么 ML 关心正定性
正定/半正定不只是数学家的分类游戏,它在 ML 中有直接的实际意义:
- 协方差矩阵半正定:方差不能为负——这个直觉将在下面的 §4 中精确化
- Hessian 正定 ⇒ 局部极小:优化算法在正定 Hessian 处找到的是碗底,不是鞍点
- Kernel 矩阵要求半正定:支持向量机、高斯过程等 kernel 方法的数学基础要求 kernel 矩阵 Kij=k(xi,xj) 是半正定的
对称矩阵:ML 中最常见的结构
在一般线性代数课程中,矩阵可以是任意形状的。但在 ML 中,你遇到的重要方阵绝大多数是对称的。这不是巧合,而是有结构性原因的。
为什么对称矩阵无处不在
ML 中的对称矩阵无处不在
对称 + 半正定是 ML 中最常见的矩阵结构
ATA 必对称
(ATA)T=AT(AT)T=ATA
结合 BTB 判据 → ATA 同时是对称且半正定的。
这一条就解释了大量的对称矩阵来源。以下 ML 中的核心矩阵都是 BTB(或类似形式):
- 协方差矩阵 C=n−11X~TX~:中心化数据的 Gram 矩阵,对称且半正定
- Gram 矩阵 G=VTV:度量向量集合的两两内积,对称且半正定
- Kernel 矩阵 Kij=k(xi,xj):如果 kernel 函数 k 满足 Mercer 条件,K 对称半正定
- 图 Laplacian L=D−W:D 是度数对角矩阵,W 是邻接矩阵。L 对称(对无向图)且半正定
- Hessian 矩阵:二阶偏导数矩阵 Hij=∂xi∂xj∂2f,由偏导数交换性保证对称
对称矩阵有什么特殊?
对称矩阵不仅仅是"A=AT"这样的代数条件。从几何上看,对称矩阵有一个核心性质:它的二次型等值线一定有互相正交的轴。
回顾前面的例子:[2112] 的等值线是旋转了 45° 的椭圆。但无论怎么旋转,椭圆的长轴和短轴一定互相垂直——这不是偶然,而是对称性保证的。
边界声明:为什么对称矩阵一定有正交的轴?这背后是谱定理(spectral theorem),将在 Art. 2 特征分解 给出完整答案。本节只需要记住两点:
- 对称矩阵在 ML 中无处不在(因为 BTB 结构)
- 对称矩阵有某种内在的正交结构——这使得它们特别适合分析和分解
协方差矩阵:数据云的形状
前三节建立了二次型、正定性和对称性这三个概念。现在把它们统一到一个 ML 中最重要的矩阵上:协方差矩阵(covariance matrix)。
从散点图到椭球
想象在二维平面上撒了一把点——有些像圆形分布,有些像细长的椭圆。协方差矩阵精确地描述了这种”形状”:点云是圆形还是椭圆?椭圆指向哪个方向?椭圆有多扁?
定义
给定 n 个 d 维数据点 x1,…,xn,均值为 xˉ=n1∑i=1nxi。中心化数据 x~i=xi−xˉ,写成矩阵形式 X~∈Rn×d(每行是一个中心化样本)。
协方差矩阵定义为:
C=n−11X~TX~
这是一个 d×d 的矩阵。分母 n−1(而非 n)是无偏估计的 Bessel 校正。
逐项解读
C 的每个元素都有清晰的含义:
Cij=n−11∑k=1nx~kix~kj
- 对角线 Cii=n−11∑k=1nx~ki2=Var(xi):第 i 个特征的方差——数据在第 i 个坐标方向上散布的程度
- 非对角 Cij (i=j):第 i 和第 j 个特征之间的协方差——两个特征是否”一起变大”或”一个变大另一个变小”
- Cij>0:正相关(同增同减)
- Cij=0:不相关
- Cij<0:负相关
几何意义:vTCv 就是方向方差
协方差矩阵直接决定了数据云的”形状”。这个说法的精确含义需要分三步理解。
第一步:把高维数据投影到一个方向上。 取任意单位向量 v(∥v∥=1),代表空间中的一个方向。每个中心化样本 x~i 在 v 方向上的投影是一个标量:
pi=x~iTv
这 n 个标量 p1,p2,…,pn 描述了数据沿 v 方向的分布——它们就是”从 v 方向看过去”数据散布的程度。
第二步:这些投影值的方差恰好等于 vTCv。 因为数据已经中心化(均值为零),投影值的均值也为零,所以方差就是平方和除以 n−1:
Var(投影)=n−11∑i=1npi2=n−11∑i=1n(x~iTv)2
把 n 个投影值排成向量:X~v=(p1,p2,…,pn)T,则
Var(投影)=n−11∥X~v∥2=n−11(X~v)T(X~v)=vT=Cn−11X~TX~v=vTCv
这就是关键等式:vTCv = 数据在方向 v 上的方差。 选不同的方向 v,二次型给出不同的方差值。数据云在某些方向上”胖”(方差大),在另一些方向上”瘦”(方差小)——这些差异全部编码在 C 中。
第三步:等值面 vTCv=c 画出椭球。 如果我们把所有方向 v 按其方差值”等高着色”,方差相同的方向构成的曲面 vTCv=c 就是一个椭球——和前面 §2 中二次型的等值线完全一致。对高斯分布 N(0,C) 来说,概率密度 ∝exp(−21xTC−1x),等密度曲线 xTC−1x=c 也是椭球,形状由 C 决定。
协方差矩阵 = 数据云的形状
椭圆的轴方向 = 数据散布的主方向,轴长度 ∝ 标准差
椭球的性质完全由 C 决定:
- 椭球的轴方向是 C 的”天然轴”——即方差最大/最小的正交方向(这正是 PCA 要找的主成分方向,将在 Art. 6 PCA 正式建立)
- 椭球沿各轴的半径与该方向上的标准差成正比
为什么协方差矩阵一定半正定
上面的推导已经给出了答案——vTCv 是方差,方差不能为负:
vTCv=n−11∥X~v∥2≥0
这也是 §2 中 BTB 判据的直接应用(C=n−11X~TX~,取 B=n−11X~)。
直接连接 PCA
PCA 的优化目标”找方差最大的方向”可以精确写成:
max∥w∥=1wTCw
这正是在单位球面上最大化协方差矩阵的二次型。Art. 2 特征分解 的特征分解给出答案——最大方差方向是 C 的最大特征向量。Art. 6(PCA)将展开这个故事的完整版本。
VTV 与 VVT:Gram 矩阵与投影矩阵
在讨论协方差矩阵时,我们遇到了 X~TX~。现在更一般地讨论这对”孪生矩阵”:给定矩阵 V∈Rn×d,VTV 和 VVT 是两个看起来相似但含义不同的矩阵。
VTV(Gram 矩阵):列相似度
VTV 是一个 d×d 矩阵,它的 (i,j) 元素是 V 的第 i 列和第 j 列的内积:
(VTV)ij=viTvj
其中 vi 是 V 的第 i 个列向量。
这就是 Gram 矩阵——它完整编码了列向量之间的两两相似度:
- 对角线 (VTV)ii=∥vi∥2:第 i 列的”能量”
- 非对角 (VTV)ij:第 i 列和第 j 列的对齐程度
Gram 矩阵一定是对称半正定的(因为它本身就是 BTB 的形式)。
VVT(投影矩阵族):投影到列空间
VVT 是一个 n×n 矩阵。当 V 的列是标准正交的(VTV=I)时,P=VVT 就是向 V 的列空间的正交投影矩阵——正是 Art. 1A 向量空间几何 中讨论过的投影矩阵。
即使列不正交,VVT 也有明确的几何含义:它把任何向量 x 映射为 V 的列向量的一个线性组合 V(VTx)——其中 VTx 计算了 x 与每个列的内积(“在各列方向上的分量”),然后 V 把这些分量重新组合回原始空间。
VᵀV(Gram 矩阵)vs VVᵀ(投影矩阵)
前者度量列之间的相似度,后者把向量投影到列空间
核心联系:共享非零特征值
VTV 和 VVT 有一个意义深远的性质:它们共享所有非零特征值(含重数)。
这意味着,虽然 VTV 是 d×d、VVT 是 n×n(尺寸可能差很多),但它们”编码了同样的信息”。区别只在于:
- VTV 从”列空间”的视角看
- VVT 从”行空间”的视角看
X~TX~ vs X~X~T:同样的信息,不同的尺寸
回到协方差的场景:X~∈Rn×d(n 个样本,d 维特征)。
- X~TX~(d×d):特征之间的 Gram 矩阵。除以 n−1 就是协方差矩阵 C。当 d 较小时,直接处理这个矩阵
- X~X~T(n×n):样本之间的 Gram 矩阵。(i,j) 元素是样本 i 和样本 j 的内积——度量两个样本的”相似度”
当 n≪d(样本数远小于特征维度)时,处理 n×n 的 X~X~T 比处理 d×d 的 X~TX~ 便宜得多。这正是 Turk & Pentland(1991)在 Eigenfaces 人脸识别中使用的技巧:图像维度 d=10304(112×92 像素),但样本数 n 只有几百。先对小矩阵 X~X~T 做分解,再用共享非零特征值的性质恢复大矩阵的分解结果。Art. 6(PCA) 将详细展示这个技巧。
迹与行列式:矩阵的两个”摘要数字”
一个 n×n 矩阵有 n2 个元素。有没有办法用一两个数字浓缩矩阵的关键信息?迹和行列式就是两个最重要的标量摘要。
迹:总拉伸量
矩阵 A 的迹(trace)是对角元素之和:
tr(A)=∑i=1naii
迹有一个深层身份:迹等于所有特征值之和。 也就是说,迹衡量了矩阵”在所有方向上的拉伸的总量”——不管你选什么坐标系,这个总量是不变的。
迹还有几个非常有用的性质:
- 循环置换不变性:tr(ABC)=tr(BCA)=tr(CAB)(但不等于 tr(BAC))
- 转置不变性:tr(AT)=tr(A)
- 线性:tr(A+B)=tr(A)+tr(B),tr(αA)=α⋅tr(A)
协方差矩阵的迹 = 总方差。 因为 tr(C)=∑iCii=∑iVar(xi)——对角元素就是各维度的方差。在 PCA 中,保留的方差占总方差的比例就是 tr(C)∑i=1kλi。
行列式:体积缩放因子
矩阵 A 的行列式(determinant)det(A) 衡量的是:A 作为线性变换,把体积放大或缩小了多少倍。
行列式 = 面积(体积)缩放因子
单位正方形经矩阵变换后,面积变为 |det(A)| 倍
几何直觉:
- 二维中,∣det(A)∣ = 单位正方形变换后的平行四边形面积
- 三维中,∣det(A)∣ = 单位立方体变换后的平行六面体体积
- det(A)>0:保持方向(不翻转)
- det(A)<0:翻转方向(镜像)
行列式也有一个深层身份:行列式等于所有特征值之积。 所以:
det(A)=0⟺某个特征值为 0⟺A 不可逆
这给出了判断矩阵可逆性的一个标量测试。
对于 2×2 矩阵,行列式有一个简洁的公式:
det[acbd]=ad−bc
可以直接验证:A=[20.511.5],det(A)=2×1.5−1×0.5=2.5——单位正方形变成面积为 2.5 的平行四边形,与上图一致。
协同洞察:加法 vs 乘法
迹和行列式是矩阵的两个互补视角:
| 迹 tr(A) | 行列式 det(A) |
|---|
| 定义 | 对角元素之和 | (通过置换或递归定义) |
| 特征值关系 | 特征值之和 | 特征值之积 |
| 几何含义 | 总拉伸量 | 体积缩放因子 |
| 为零的含义 | 拉伸的”平均”为零 | 矩阵不可逆 |
| 协方差矩阵 | 总方差 | ”广义方差” |
迹是加法摘要(求和),行列式是乘法摘要(求积)。两者缺一不可——知道了迹但不知道行列式(或反过来),你对矩阵的理解是不完整的。
完整数值例子
把本文的所有概念串在一起,用一个具体的 2D 数据集完整走一遍。
数据
5 个二维数据点:
p1=(1,2),p2=(2,1),p3=(3,3),p4=(4,5),p5=(5,4)
第一步:中心化
均值:xˉ=(51+2+3+4+5,52+1+3+5+4)=(3,3)
中心化数据(每个点减去均值):
x~1=(−2,−1),x~2=(−1,−2),x~3=(0,0),x~4=(1,2),x~5=(2,1)
写成矩阵:X~=−2−1012−1−2021
第二步:计算协方差矩阵
X~TX~=[−2−1−1−2001221]−2−1012−1−2021=[108810]
验证:第一行第一列 =(−2)2+(−1)2+02+12+22=4+1+0+1+4=10 ✓
第一行第二列 =(−2)(−1)+(−1)(−2)+0⋅0+1⋅2+2⋅1=2+2+0+2+2=8 ✓
协方差矩阵:
C=n−11X~TX~=41[108810]=[2.5222.5]
解读:
- 对角元素 C11=C22=2.5:两个维度的方差相等
- 非对角元素 C12=C21=2:强正相关——x1 增大时 x2 也倾向于增大
第三步:验证半正定
用 BTB 判据:C=41X~TX~,所以对任意 v:
vTCv=41∥X~v∥2≥0✓
具体验证几个方向:
- v=(1,0):vTCv=2.5>0 ✓
- v=(0,1):vTCv=2.5>0 ✓
- v=21(1,1):vTCv=21(2.5+2+2+2.5)=4.5>0 ✓(最大方差方向)
- v=21(1,−1):vTCv=21(2.5−2−2+2.5)=0.5>0 ✓(最小方差方向)
注意 4.5 和 0.5 的巨大差异——沿 (1,1) 方向数据散布极广,沿 (1,−1) 方向数据紧凑。这正是 PCA 发现的:前者是第一主成分方向,后者是第二主成分方向。
第四步:X~TX~ vs X~X~T
X~TX~(2×2)我们已经算了:[108810]。
X~X~T(5×5)的每个元素是两个样本的内积:
X~X~T=540−4−5450−5−400000−4−5054−5−4045
验证:(1,1) 元素 =(−2)2+(−1)2=5 ✓。(1,2) 元素 =(−2)(−1)+(−1)(−2)=4 ✓。
共享非零特征值验证:X~TX~ 的特征值为 18 和 2。X~X~T 是 5×5 矩阵,它的特征值为 18, 2, 0, 0, 0。非零特征值 {18,2} 完全一致 ✓
(协方差矩阵 C=41X~TX~ 的特征值为 418=4.5 和 42=0.5。)
第五步:迹和行列式
tr(C)=2.5+2.5=5.0=总方差
验证:tr(C)=λ1+λ2=4.5+0.5=5.0 ✓
det(C)=2.5×2.5−2×2=6.25−4=2.25
验证:det(C)=λ1×λ2=4.5×0.5=2.25 ✓
行列式不为零,说明 C 不仅是半正定的,而且是正定的——两个方向都有非零方差,没有退化。
种子:椭球的轴方向就是特征向量
从 §3 的计算中,我们已经发现了椭球的两个轴方向:(1,1)/2 对应方差 4.5,(1,−1)/2 对应方差 0.5。这两个方向互相正交,分别是方差最大和最小的方向。
这就是 C 的特征分解做的事——找到让 C 变成对角形式的那组正交坐标轴。在新坐标下:
C→[4.5000.5]
对角矩阵——没有耦合项,两个方向完全独立。这就是特征分解的核心目标:找到让矩阵变成最简形式的坐标系。 Art. 2 特征分解 将给出完整的理论。
总结与展望
本文建立了描述矩阵内在结构的六个核心概念:
| 概念 | 核心含义 | 在 ML 中的作用 |
|---|
| 二次型 | 矩阵 → 标量函数 → 几何曲面 | 损失函数局部分析、PCA 目标 |
| 正定性 | 所有方向都在拉伸 | 协方差矩阵、Hessian 判断、kernel |
| 对称性 | A=AT,等值线有正交轴 | 几乎所有 ML 核心矩阵都对称 |
| 协方差矩阵 | 数据云的形状描述 | PCA、高斯分布、特征选择 |
| Gram / 投影 | 列相似度 / 子空间投影 | Eigenfaces 技巧、kernel 方法 |
| 迹 / 行列式 | 加法摘要 / 乘法摘要 | 总方差、可逆性判断 |
至此,Art. 1A 和 1B 共同建立了完整的几何语言——向量级(内积、投影、秩、零空间)和矩阵级(二次型、正定性、协方差、迹、行列式)。
但我们一直在说”找到天然轴”、“让矩阵变成对角形式”,却还没有给出系统的方法。有没有一组”天然坐标轴”,让任何矩阵在新坐标下变成最简单的对角形式?每个方向上的拉伸倍数是多少?
这正是 Art. 2 特征分解 要回答的问题——它将把本文中反复出现的”天然轴”精确化为特征向量,把”拉伸倍数”精确化为特征值,并给出对称矩阵的完整分解定理。