现在位置: 首页 > AI 数学基础 > 正文

特殊矩阵 -- 单位阵、对角阵、对称阵

有些矩阵类型在 AI 中反复出现,它们有特殊的结构和性质。了解它们能帮你快速理解优化器行为、正则化效果和数据变换的含义。

单位矩阵 I

主对角线全是 1,其余全是 0

乘以任何矩阵 = 不变

相当于数字中的「1」

对角矩阵

只有主对角线上有值

每个维度独立缩放

相当于音响均衡器

对称矩阵

转置 = 自身

关于主对角线对称

特征值全是实数

单位矩阵:数学中的「1」

\[ \mathbf{I}_n = \begin{bmatrix} 1 & 0 & \cdots & 0 \\ 0 & 1 & \cdots & 0 \\ \vdots & \vdots & \ddots & \vdots \\ 0 & 0 & \cdots & 1 \end{bmatrix} \]

对任意形状兼容的矩阵 A:\( \mathbf{I}A = A \),\( A\mathbf{I} = A \)。

对角矩阵:独立缩放每个维度

\[ \mathbf{D} = \text{diag}(d_1, d_2, \dots, d_n) = \begin{bmatrix} d_1 & 0 & \cdots & 0 \\ 0 & d_2 & \cdots & 0 \\ \vdots & \vdots & \ddots & \vdots \\ 0 & 0 & \cdots & d_n \end{bmatrix} \]

对角矩阵乘以向量 = 对向量的每个分量独立施加不同的缩放系数。

对称矩阵:转置后还是自己

\( \mathbf{A}^T = \mathbf{A} \),即 \( a_{ij} = a_{ji} \)。

对称矩阵有一个极重要的性质:特征值全是实数,特征向量相互正交。

这使得对称矩阵在优化和统计中极其有用——协方差矩阵和 Hessian 矩阵都是对称矩阵。


生活例子

单位矩阵:什么都不做的操作

你在 PS 中打开一张图片,不做任何编辑直接保存。输入 = 输出。

单位矩阵就是这个「什么都不做」的数学表达。

对角矩阵:音响均衡器

均衡器的每个滑动条独立控制一个频段的音量——高频 +3dB,低频 -2dB,中频不变。

每个频段互不干扰,分别缩放。这就是对角矩阵的行为。

对称矩阵:镜子里的倒影

站在镜子前,你的左手在镜子里对应右手的位置。上下不变,左右互换。

对称矩阵类似——关于主对角线对称,上下位置互换后值不变。


数学定义

矩阵类型定义条件记号
单位矩阵\( I_{ii}=1, I_{ij}=0 \; (i \neq j) \)\( \mathbf{I}_n \)
对角矩阵\( D_{ij}=0 \) 当 \( i \neq j \)diag(d₁,...,dₙ)
对称矩阵\( A_{ij} = A_{ji} \) 对所有 i,j\( \mathbf{A} = \mathbf{A}^T \)

Python 动手实践

实例

import numpy as np

# 单位矩阵
I = np.eye(3)
A = np.array([[4,7,2],[3,5,1],[6,8,9]])
print("I @ A == A:", np.allclose(I @ A, A))

# 对角矩阵:独立缩放
D = np.diag([2, 3, 5])
v = np.array([1, 1, 1])
print("D @ [1,1,1] =", D @ v)  # [2, 3, 5]

# 对称矩阵
S = np.array([[1,4,5],[4,2,6],[5,6,3]])
print("S 对称:", np.allclose(S.T, S))
eigenvals = np.linalg.eigvals(S)
print("特征值全实数:", np.all(np.isreal(eigenvals)))

# 协方差矩阵天然对称
data = np.random.randn(100, 5)
cov = np.cov(data.T)
print("协方差矩阵对称:", np.allclose(cov, cov.T))
I @ A == A: True
D @ [1,1,1] = [2 3 5]
S 对称: True
特征值全实数: True
协方差矩阵对称: True

AI 中的应用场景

Adam 优化器 = 对角矩阵自适应缩放

Adam 为每个参数维护梯度平方的指数移动平均 v_t,更新时用 \( \theta_{t+1} = \theta_t - \eta \cdot m_t / \sqrt{v_t} \)。从数学上看,\( 1/\sqrt{v_t} \) 对每个参数分量独立缩放——这就是一个对角矩阵乘以梯度向量。活跃的梯度分量被缩小学习率,不活跃的梯度分量被放大。

协方差矩阵用于 PCA

PCA 降维的第一步:计算数据中心化后的协方差矩阵 \( \Sigma = X^TX/(n-1) \)。这是一个对称矩阵(\Sigma_{ij} = \Sigma_{ji}),它的特征值全为实数。最大的 k 个特征值对应的特征向量就是主成分方向。sklearn 的 PCA 类底层就做这件事。

循环神经网络的恒等初始化

RNN 和 LSTM 的 recurrent 权重矩阵常初始化为单位矩阵。这确保训练初期,隐藏状态的信息能够「原封不动」地传递,避免梯度在时间步上过快衰减。这个技巧被称为 IRNN(Identity RNN)。

Xavier/Glorot 初始化

Xavier 初始化精心选择权重的方差使每层输出的方差保持一致:\( Var(W) = 2/(n_{in} + n_{out}) \)。这等价于从该方差的正态分布中对角矩阵(方差)的约束。