Lecture 31: Change of Basis; Image Compression
Lecture 31: Change of Basis; Image Compression
概述
同一栋房子在不同坐标系下有不同的地址;同一个线性变换在不同基下有不同的矩阵。本讲回答两个问题:(1)换基时矩阵如何换算?答案是 $B=W^{-1}AW$(相似变换)。 (2)为什么我们要主动换基?因为好基能让矩阵变得稀疏/对角。”对角化 $A=S\Lambda S^{-1}$”其实就是”换成特征向量基”的特例。 我们把这条思想推向应用:图像压缩 = 在 DCT/小波基下展开 + 丢掉小系数,这与讲次 29 的 SVD 低秩逼近是同一枚硬币的两面。
核心概念的几何直觉
基与坐标(basis and coordinates)
定义与目的:$\mathbb{R}^n$ 的一组基 $\mathbf{v}_1,\dots,\mathbf{v}_n$ 是线性无关且张成整个空间的 $n$ 个向量。任意 $\mathbf{x}\in\mathbb{R}^n$ 有唯一的展开 \(\mathbf{x}=c_1\mathbf{v}_1+\cdots+c_n\mathbf{v}_n.\) 数字 $c_1,\dots,c_n$ 就是 $\mathbf{x}$ 在这组基下的坐标。把基向量按列堆成矩阵 $V=[\mathbf{v}_1\ \cdots\ \mathbf{v}_n]$,则 \(\mathbf{x}=V\mathbf{c},\qquad \mathbf{c}=V^{-1}\mathbf{x}.\)
几何直觉(它在空间中是什么样子?):基就是”尺子”。同一个点,用不同的尺子量出不同的读数。标准基下的坐标 $(3,1)$ 是在说”沿 $x$ 方向走 3,沿 $y$ 方向走 1”;换成基 $\{\frac{1}{\sqrt2}(1,1),\frac{1}{\sqrt2}(1,-1)\}$,读数变成 $(2\sqrt2,\sqrt2)$,是在说”沿对角线走 $2\sqrt2$,沿反对角线走 $\sqrt2$”。点没动,读数变了。
两个关键子情形:
- 正交基($V^{\mathsf T}V=I$):$V^{-1}=V^{\mathsf T}$,换基只需转置,”免费”且数值稳定(讲次 17)。此时 $\vert \mathbf{x}\vert ^2=\vert \mathbf{c}\vert ^2$(保长/Parseval)。
- 非正交基:必须真算 $V^{-1}$。若基向量很接近平行,$V$ 病态,换基会放大误差。
具体示例:$\mathbf{x}=(3,1)^{\mathsf T}$,正交基 $\mathbf{w}_1=\frac{1}{\sqrt2}(1,1)^{\mathsf T},\mathbf{w}_2=\frac{1}{\sqrt2}(1,-1)^{\mathsf T}$。 \(W=\frac{1}{\sqrt2}\begin{bmatrix}1&1\\1&-1\end{bmatrix},\qquad W^{\mathsf T}W=I,\) \(\mathbf{c}=W^{\mathsf T}\mathbf{x}=\frac{1}{\sqrt2}\begin{bmatrix}1&1\\1&-1\end{bmatrix}\begin{bmatrix}3\\1\end{bmatrix}=\frac{1}{\sqrt2}\begin{bmatrix}4\\2\end{bmatrix}=\begin{bmatrix}2\sqrt2\\ \sqrt2\end{bmatrix}\approx\begin{bmatrix}2.828427\\1.414214\end{bmatrix}.\) 回代 $W\mathbf{c}=(3,1)^{\mathsf T}$ ✓(脚本验算通过)。
换基公式 $B=W^{-1}AW$(相似变换)
定义与目的:设 $T:\mathbb{R}^n\to\mathbb{R}^n$。在旧基(标准基)下 $T$ 的矩阵是 $A$;在新基 $\mathbf{w}_1,\dots,\mathbf{w}_n$ 下是 $B$。令 $W=[\mathbf{w}_1\ \cdots\ \mathbf{w}_n]$,则 \(B=W^{-1}AW.\) 等价写法:若记 $M=W^{-1}$,则 $B=MWM^{-1}$ 与 $B=W^{-1}AW$ 是同一件事——只是”谁叫 $W$”的命名差异。必须盯住 $W$ 的定义,不要背公式。
几何直觉(它在空间中是什么样子?):三层电梯,进出一趟就回到原地:
新坐标 c ──(乘 W)──► 旧坐标 x = W c
│
│ 乘 A:在旧基下做变换 T
▼
新坐标 c' = W⁻¹(A x) ◄──(乘 W⁻¹)── 旧坐标 A x
于是 c' = (W⁻¹ A W) c ,即 B = W⁻¹ A W
一句话:用 $W$ 把新坐标翻译成旧坐标 → 用熟悉的 $A$ 干活 → 用 $W^{-1}$ 把结果翻译回新坐标。
- 具体示例(对角化的几何解释):如果新基选的正是 $A$ 的特征向量,$W=S=[\mathbf{s}_1\ \cdots\ \mathbf{s}_n]$,那么 $A\mathbf{s}_j=\lambda_j\mathbf{s}_j$,于是 $S^{-1}AS=\Lambda=\operatorname{diag}(\lambda_1,\dots,\lambda_n)$。“对角化”没有魔法,它就是”换成特征向量基”,使变换在每个基方向上是独立的一次拉伸。
图像压缩(image compression)
- 定义与目的:灰度图像 = 像素亮度矩阵(如 $256\times256$,取值 $0\sim255$)。压缩的通用套路:
- 分块:切成 $8\times8$ 的小块;
- 换基:每块用一组二维基函数展开,得到系数矩阵 $C=W^{\mathsf T}BW$(若基正交);
- 量化 + 丢弃:小的系数直接置零(或粗量化),只保留少数大系数;
- 存储:只存非零系数的位置与数值(游程编码 / 熵编码);
- 重建:$\hat B=W\hat C W^{\mathsf T}$。
几何直觉(它在空间中是什么样子?):像素矩阵 $B$ 是 $\mathbb{R}^{8\times8}$(64 维空间)里的一个点。换基 = 换到一组”图像模式”(模式 = 平滑块、水平条纹、垂直条纹、棋盘格……)的坐标系里,坐标就是”这块图里有多少这种模式”。 自然图像大多平滑,于是能量集中在少数几个低频模式上——这就是稀疏性。压缩的数学本质:找到一组基,让信号在该基下稀疏。
- 具体示例(JPEG 用 DCT,JPEG2000 用小波):8 点 DCT-II 基(正交) \(C_{k,n}=a_k\cos\!\Bigl(\frac{\pi(2n+1)k}{16}\Bigr),\quad a_0=\frac{1}{\sqrt8},\ a_k=\sqrt{\frac{2}{8}}\ (k\ge1),\) $k=0,1,2$ 三行是
k=0: 0.3536 0.3536 0.3536 0.3536 0.3536 0.3536 0.3536 0.3536 ← 直流/平均 k=1: 0.4904 0.4157 0.2778 0.0975 -0.0975 -0.2778 -0.4157 -0.4904 ← 最低频振荡 k=2: 0.4619 0.1913 -0.1913 -0.4619 -0.4619 -0.1913 0.1913 0.4619 ← 次低频二维 DCT 就是 $C=W B W^{\mathsf T}$($W$ 的行是 DCT 基向量),逆变换 $\hat B=W^{\mathsf T}\hat C W$。
计算步骤与手算演示
示例 1(本讲主戏):投影到 $y=x$,从标准基换到”直线基”
步骤 1:写出旧基下的矩阵。 标准基下(讲次 30 示例 2) \(A=P=\frac12\begin{bmatrix}1&1\\1&1\end{bmatrix}.\)
步骤 2:选定新基。 \(\mathbf{w}_1=\frac{1}{\sqrt2}\begin{bmatrix}1\\1\end{bmatrix}\ (\text{沿 } y=x),\qquad \mathbf{w}_2=\frac{1}{\sqrt2}\begin{bmatrix}1\\-1\end{bmatrix}\ (\perp y=x),\) \(W=\begin{bmatrix}\mathbf{w}_1&\mathbf{w}_2\end{bmatrix}=\frac{1}{\sqrt2}\begin{bmatrix}1&1\\1&-1\end{bmatrix}.\)
步骤 3:求 $W^{-1}$(正交,$W^{-1}=W^{\mathsf T}$)。 先验证正交性: \(W^{\mathsf T}W=\frac12\begin{bmatrix}1&1\\1&-1\end{bmatrix}\begin{bmatrix}1&1\\1&-1\end{bmatrix}=\frac12\begin{bmatrix}2&0\\0&2\end{bmatrix}=\begin{bmatrix}1&0\\0&1\end{bmatrix}=I.\ \checkmark\) (验算通过。)所以 \(W^{-1}=W^{\mathsf T}=\frac{1}{\sqrt2}\begin{bmatrix}1&1\\1&-1\end{bmatrix}.\) 注意这里 $W$ 对称,所以 $W^{-1}=W^{\mathsf T}=W$——这是巧合(对合基),不能推广。
步骤 4:算 $W^{-1}AW=B$。 一步步来,先算 $AW$: \(AW=\frac12\begin{bmatrix}1&1\\1&1\end{bmatrix}\cdot\frac{1}{\sqrt2}\begin{bmatrix}1&1\\1&-1\end{bmatrix}=\frac{1}{2\sqrt2}\begin{bmatrix}1+1&1-1\\1+1&1-1\end{bmatrix}=\frac{1}{2\sqrt2}\begin{bmatrix}2&0\\2&0\end{bmatrix}=\frac{1}{\sqrt2}\begin{bmatrix}1&0\\1&0\end{bmatrix}.\) (机制:$A$ 把第 1 列 $\mathbf{w}_1$ 原样保留,把第 2 列 $\mathbf{w}_2$ 打成零——因为 $\mathbf{w}_1$ 是特征向量 $\lambda=1$,$\mathbf{w}_2$ 是特征向量 $\lambda=0$。)
再左乘 $W^{-1}=W^{\mathsf T}$: \(B=W^{\mathsf T}(AW)=\frac{1}{\sqrt2}\begin{bmatrix}1&1\\1&-1\end{bmatrix}\cdot\frac{1}{\sqrt2}\begin{bmatrix}1&0\\1&0\end{bmatrix}=\frac12\begin{bmatrix}1+1&0\\1-1&0\end{bmatrix}=\frac12\begin{bmatrix}2&0\\0&0\end{bmatrix}=\begin{bmatrix}1&0\\0&0\end{bmatrix}=\operatorname{diag}(1,0).\ \checkmark\)
步骤 5:不变量核验。 $\operatorname{tr}B=1=\operatorname{tr}A$ ✓;$\det B=0=\det A$ ✓(验算通过)。
步骤 6:坐标流水线核验。 取 $\mathbf{x}=(3,1)^{\mathsf T}$:
- 新坐标 $\mathbf{c}=W^{\mathsf T}\mathbf{x}=(2\sqrt2,\ \sqrt2)^{\mathsf T}\approx(2.828427,1.414214)^{\mathsf T}$;
- 在旧基下做投影:$A\mathbf{x}=(2,2)^{\mathsf T}$;
- $A\mathbf{x}$ 的新坐标:$W^{\mathsf T}(A\mathbf{x})=(2\sqrt2,\ 0)^{\mathsf T}$;
- 直接算 $B\mathbf{c}=\operatorname{diag}(1,0)(2\sqrt2,\sqrt2)^{\mathsf T}=(2\sqrt2,0)^{\mathsf T}$;
- 两者相同 ✓(验算通过),这正是 $B\mathbf{c}=W^{\mathsf T}AW\mathbf{c}=W^{\mathsf T}A\mathbf{x}$。
步骤 7:回到旧坐标。 $W(B\mathbf{c})=W(2\sqrt2,0)^{\mathsf T}=2\sqrt2\cdot\mathbf{w}_1=(2,2)^{\mathsf T}=A\mathbf{x}$ ✓。
步骤 8:读出几何意义。 $B=\operatorname{diag}(1,0)$ 直接告诉我们:在新基下,投影就是”第 1 个坐标原样保留,第 2 个坐标清零”。没有任何矩阵元互相耦合。这就是”好基让变换解耦”。
步骤 9:验证 $A=W B W^{\mathsf T}$(反向重建)。 \(W\operatorname{diag}(1,0)W^{\mathsf T}=\Bigl(\frac{1}{\sqrt2}\begin{bmatrix}1\\1\end{bmatrix}\Bigr)\Bigl(\frac{1}{\sqrt2}\begin{bmatrix}1&1\end{bmatrix}\Bigr)=\frac12\begin{bmatrix}1&1\\1&1\end{bmatrix}=A.\ \checkmark\) 这就是谱分解 $P=\mathbf{w}_1\mathbf{w}_1^{\mathsf T}$——投影矩阵恰是”投影方向的外积”(验算通过)。
【计算机制解说】:为什么 $B=W^{-1}AW$ 而不是 $W AW^{-1}$ 或 $WAW^{\mathsf T}$?看输入输出。 $B$ 必须吃”新坐标”、吐”新坐标”。整条链路是 \(\underbrace{\mathbf{c}}_{\text{新坐标}}\ \xrightarrow{\ W\ }\ \underbrace{W\mathbf{c}=\mathbf{x}}_{\text{旧坐标}}\ \xrightarrow{\ A\ }\ \underbrace{A\mathbf{x}}_{\text{旧坐标}}\ \xrightarrow{\ W^{-1}\ }\ \underbrace{W^{-1}A\mathbf{x}}_{\text{新坐标}}.\) 三个箭头依次是 $W$、$A$、$W^{-1}$,由右往左读就是 $B=W^{-1}AW$。只要坚持”第一刀和最后一刀由坐标翻译负责”,方向就不会错。 如果写成 $WAW^{-1}$,那是”从旧坐标出发→新坐标→旧坐标”,代表的是另一个(相似但有方向的)问题。
注意 $W$ 的两种命名在教材中都会出现:Strang 用 $W$ 表示基矩阵、$B=W^{-1}AW$;另一种常见写法是 $M^{-1}AM$($M$ 从标准基到新基,或反之),只要 $M=W^{-1}$ 就完全等价。关键是把 $M$ 或 $W$ 的列与新基向量对齐,写清约定。
示例 2:非正交基下的换基——旋转 $90^\circ$ 在基 $\{(1,1),(1,0)\}$ 下
步骤 1:旧基下的矩阵。 $R=\begin{bmatrix}0&-1\\1&0\end{bmatrix}$(绕原点逆时针 $90^\circ$)。
步骤 2:新基与基矩阵。 $\mathbf{w}_1=(1,1)^{\mathsf T},\mathbf{w}_2=(1,0)^{\mathsf T}$(不正交!$W$ 也不对称), \(W=\begin{bmatrix}1&1\\1&0\end{bmatrix},\qquad \det W=1\cdot0-1\cdot1=-1\neq0\ \Rightarrow\ \text{是基}.\)
步骤 3:求 $W^{-1}$。 用 $2\times2$ 公式 $\begin{bmatrix}a&b\\c&d\end{bmatrix}^{-1}=\frac{1}{ad-bc}\begin{bmatrix}d&-b\\-c&a\end{bmatrix}$: \(W^{-1}=\frac{1}{-1}\begin{bmatrix}0&-1\\-1&1\end{bmatrix}=\begin{bmatrix}0&1\\1&-1\end{bmatrix}.\) 核验:$W^{-1}W=\begin{bmatrix}0&1\\1&-1\end{bmatrix}\begin{bmatrix}1&1\\1&0\end{bmatrix}=\begin{bmatrix}1&0\\0&1\end{bmatrix}$ ✓(验算通过)。
步骤 4:算 $B=W^{-1}RW$。 先算 $RW$: \(RW=\begin{bmatrix}0&-1\\1&0\end{bmatrix}\begin{bmatrix}1&1\\1&0\end{bmatrix}=\begin{bmatrix}0-1&0-0\\1+0&1+0\end{bmatrix}=\begin{bmatrix}-1&0\\1&1\end{bmatrix}.\) (逐项机制:第 1 列 $R\mathbf{w}_1=R(1,1)^{\mathsf T}=(-1,1)^{\mathsf T}$;第 2 列 $R\mathbf{w}_2=R(1,0)^{\mathsf T}=(0,1)^{\mathsf T}$。)
再左乘 $W^{-1}$: \(B=\begin{bmatrix}0&1\\1&-1\end{bmatrix}\begin{bmatrix}-1&0\\1&1\end{bmatrix}=\begin{bmatrix}0+1&0+1\\-1-1&0-1\end{bmatrix}=\begin{bmatrix}1&1\\-2&-1\end{bmatrix}.\)
步骤 5:不变量核验。 $\operatorname{tr}B=1+(-1)=0=\operatorname{tr}R$ ✓;$\det B=1\cdot(-1)-1\cdot(-2)=-1+2=1=\det R$ ✓(验算通过)。所以 $B$ 与 $R$ 有相同的特征多项式 \(\lambda^2-(\operatorname{tr}B)\lambda+\det B=\lambda^2+1,\) 特征值为 $\pm i$——与 $R$ 的旋转 $90^\circ$(无实特征向量)一致。这就是相似矩阵共享特征值的具体体现。
步骤 6:几何解读。 $B$ 不再有任何”旋转”的直观样子(既不反对称也不稀疏),因为基 $\{(1,1),(1,0)\}$ 与旋转的天然方向(标准基)不对齐。旋转的最好基是标准基;投影的最好基是特征向量基;选错基只会让矩阵变丑。
【计算机制解说】:这里要警惕一个常见误解:“$W$ 正交”不是换基公式的前提。$B=W^{-1}AW$ 对任何可逆 $W$ 都成立。$W$ 正交只是让 $W^{-1}$ 变便宜($=W^{\mathsf T}$)并且保持长度与角度(讲次 17)。示例 1 和示例 2 放在一起看,正好覆盖两种情形。
另一个机制:相似关系 $B=W^{-1}AW$ 是一个等价关系(自反:$W=I$;对称:$A=W B W^{-1}$;传递:$W_1^{-1}AW_1=W_2^{-1}BW_2$ 可继续复合),所以它把”所有 $n\times n$ 矩阵”分成相似类。同一类里的矩阵共享:特征多项式、特征值(含重数)、迹、行列式、秩、Jordan 形、最小多项式。不共享:特征向量本身、矩阵元、对称性(对称矩阵换非正交基后一般不再对称)。
示例 3:图像压缩——8×8 平滑块的 DCT 展开与量化
步骤 1:构造一个平滑的 $8\times8$ 块。 取 $B_{ij}=100+3i+2j$($i,j=0,\dots,7$),即行列方向各有一个线性斜坡:
j=0 j=1 j=2 j=3 j=4 j=5 j=6 j=7
i=0 100 102 104 106 108 110 112 114
i=1 103 105 107 109 111 113 115 117
i=2 106 108 110 112 114 116 118 120
i=3 109 111 113 115 117 119 121 123
i=4 112 114 116 118 120 122 124 126
i=5 115 117 119 121 123 125 127 129
i=6 118 120 122 124 126 128 130 132
i=7 121 123 125 127 129 131 133 135
(在真实 JPEG 中还要先减去 128 做电平移位;这里为便于手算保留原值。)
步骤 2:计算二维 DCT 系数 $X=WBW^{\mathsf T}$($W$ 的每行是一个 DCT 基向量,正交)。 脚本算出(保留 4 位,只列 $X$ 的前四行四列):
k=0 k=1 k=2 k=3
l=0 940.0000 -36.4433 0.0000 -3.8096
l=1 -54.6649 0.0000 0.0000 0.0000
l=2 0.0000 0.0000 0.0000 0.0000
l=3 -5.7145 0.0000 0.0000 0.0000
$\mathbf{64}$ 个系数中只有 9 个非零:$(k,l)=(0,0)$ 的 $940$、$(0,1)$ 的 $-36.4433$、$(0,3)$ 的 $-3.8096$、$(0,5)$ 的 $-1.1365$、$(0,7)$ 的 $-0.2868$、$(1,0)$ 的 $-54.6649$、$(3,0)$ 的 $-5.7145$、$(5,0)$ 的 $-1.7047$、$(7,0)$ 的 $-0.4302$(验算通过)。
步骤 3:解释结构。 线性斜坡 $100+3i+2j$ 可分解为”常数 + $i$ 的线性项 + $j$ 的线性项”,而 $k=0$(常数/直流)与 $k=1$(最低频振荡)近似能表示线性函数,所以非零系数只出现在第一行与第一列:$k=0$ 那一行($l=1,3,5,7$ 有值)与 $l=0$ 那一列($k=1,3,5,7$ 有值)——共 $4+4+1=9$ 个。注意它们并不都落在”附近”:$k=0$ 时一直延伸到 $l=7$,这是因为离散 DCT 基向量不是严格的线性函数,需要高阶分量把离散斜坡”拼”出来(与附录 E 中 $4\times4$ 的例子同理,只是 $N$ 更大时修正项更多)。三阶以上的值迅速衰减($-0.2868$ 对比 $940$),所以”少量系数足够好地近似”仍然成立。比值核验很漂亮: \(X_{1,0}/X_{0,1}=(-54.6649)/(-36.4433)=1.500000\ \left(=\frac32=\frac{\text{行斜率}}{\text{列斜率}}\right),\) 这正是斜坡方向信息的体现(验算通过)。这个比值关系是精确的(脚本输出 $1.500000$),因为两个方向的一阶系数按完全相同的模式随斜率缩放。
步骤 4:直流系数与均值的关系。 $X_{0,0}=940$,而块的平均值 $\bar B=100+3\cdot3.5+2\cdot3.5=100+10.5+7=117.5$,$8\bar B=8\times117.5=940$。推导:二维 DCT 的直流基是 $a_0^2=\frac{1}{\sqrt8}\cdot\frac{1}{\sqrt8}=\frac18$,所以 \(X_{0,0}=a_0^2\sum_{i,j}B_{ij}=\frac18\cdot 64\bar B=8\bar B.\) 直流系数 = 8 倍均值(不是 64 倍!注意 $\sum_{i,j}$ 有 64 项,正好把 $\frac18$ 的因子抵消到只剩 $8$)。它承载了块的全部平均亮度,因此 JPEG 对 DC 用最小的量化步长。
步骤 5:能量集中度。 总能量 $\sum X_{kl}^2=887968.0000$;前 6 大系数($940,-54.6649,-36.4433,-5.7145,-3.8096,-1.7047$)的能量 $\approx887966.4411$,占比 \(\frac{887966.4411}{887968.0000}=99.99982\%\ (\text{脚本输出 }100.000\%).\) 只用 6/64 个系数就保住了几乎全部能量。
步骤 6:量化 + 丢弃(JPEG 的核心一步)。 用一个均匀量化步长 $q=10$ 做 $X_{kl}\to\operatorname{round}(X_{kl}/q)$:
(0,0) → 94 (0,1) → -4 (1,0) → -5 (3,0) → -1
其余全部 → 0
只剩 4 个非零数(验算通过)。按 JPEG 的 zig-zag 扫描顺序(从低频到高频的之字形路径),这 4 个非零系数落在第 $1,2,3,10$ 位上:
zig-zag 顺序(位置编号,1-based):
①(0,0) ②(0,1) ③(1,0) ④(2,0) ⑤(1,1) ⑥(0,2) ⑦(0,3) ⑧(1,2) ⑨(2,1) ⑩(3,0) …
↑ ↑ ↑ ↑
94 -4 -5 -1
于是”游程编码 + 霍夫曼编码”看到的是”94, -4, -5, [6 个零], -1, 然后块结束标记”。64 个数被压成约 5 个符号。
步骤 7:重建与误差。 只保留前 6 大系数做逆变换 $\hat B=W^{\mathsf T}\hat XW$,最大绝对误差 $\approx0.30$(脚本验算:$0.29980345$),而原始块取值在 $100\sim135$,相对误差约 $0.2\%$。
步骤 8:一般化——真正的自然图像块。 用一个光滑高斯斑块 $B_{ij}=100+80e^{-((i-3.5)^2+(j-3.5)^2)/16}$ 做同样的实验(脚本验算):
前 1 个系数(DC) 占能量 98.64% (值 1158.798)
前 2 个系数(DC + (2,0)) 占能量 99.29% ((2,0) 值 -93.768)
前 3 个系数(+ (0,2)) 占能量 99.93% ((0,2) 值 -93.768,对称!)
前 4 个系数(+ (2,2)) 占能量 99.98% (值 24.505)
前 8 个系数 占能量 100.00%
保留 8/64 个系数(12.5%) 时,最大绝对误差 $1.21$、RMS 误差 $0.56$,而块的峰值是 $177.54$——误差不到峰值的 $0.7\%$。注意 $(2,0)$ 与 $(0,2)$ 系数相等,这是斑块在行列方向对称的必然结果(对称性 → 系数对称,是一个好用的自检)。
步骤 9:小波(JPEG2000)对比——Haar 基。 取一维信号 $\mathbf{s}=(9,9,9,9,1,1,1,1)^{\mathsf T}$(前半亮、后半暗的台阶),做归一化 Haar 变换(系数 $1/\sqrt2$):
原始信号 (8 个数):[9, 9, 9, 9, 1, 1, 1, 1]
第 1 层(4 组配对,取平均/细节,系数 1/√2):
[9,9] → 平均 (9+9)/√2 = 12.727922 细节 (9-9)/√2 = 0
[9,9] → 平均 12.727922 细节 0
[1,1] → 平均 (1+1)/√2 = 1.414214 细节 (1-1)/√2 = 0
[1,1] → 平均 1.414214 细节 0
→ 平均值向量(进入第 2 层):[12.727922, 12.727922, 1.414214, 1.414214]
第 2 层(对上面 4 个平均值再配对):
[12.727922, 12.727922] → 平均 (12.727922+12.727922)/√2 = 18 细节 0
[ 1.414214, 1.414214] → 平均 ( 1.414214+ 1.414214)/√2 = 2 细节 0
→ 平均值向量(进入第 3 层):[18, 2]
第 3 层(最后两个值配对):
[18, 2] → 平均 (18+2)/√2 = 14.142136 细节 (18-2)/√2 = 11.313708
最终打包系数(末尾 6 个为各级细节,全为 0): \(\mathbf{h}=(14.142136,\ 11.313708,\ 0,\ 0,\ 0,\ 0,\ 0,\ 0)^{\mathsf T}=\Bigl(10\sqrt2,\ 8\sqrt2,\ 0,0,0,0,0,0\Bigr)^{\mathsf T}.\) 8 个数里只有 2 个非零,而且 \(\vert \mathbf{s}\vert ^2=328=\vert \mathbf{h}\vert ^2\ (\text{脚本验算通过}),\) 即 $14.142136^2+11.313708^2=200+128=328$。这是正交变换的保能量性质(Parseval),也是讲次 17 的正交性在信号处理里的化身。 逐条验证:$10\sqrt2=14.142136$ ✓,$8\sqrt2=11.313708$ ✓。
步骤 10:为什么小波更适合”有边缘”的图像。 Haar/Daubechies 小波基向量是局部化的(只在很短一段非零),而 DCT 基向量是全局振荡的。台阶边缘在小波基下只激发少数几个细节系数(本例中甚至只有 1 个!),而在 DCT 下,边缘会产生大量高频系数(Gibbs 振铃)。
DCT 基向量(全局) Haar 小波基向量(局部)
~~~~~~~~~~ ____╱╲____
每个都覆盖整段信号 每个只覆盖一小段
→ 平滑信号高效 → 分段常数/边缘高效
→ 明显边缘会产生振铃 → 边缘只激发局部系数
【计算机制解说】:为什么”换基 + 置零小系数”就能压缩,而且误差可控?
- 正交变换不改变 $\ell^2$ 能量:$\vert B\vert F^2=\vert X\vert _F^2$(Frobenius 范数意义下),所以”丢掉一个系数 $X{kl}$”造成的误差能量就精确等于 $X_{kl}^2$。丢弃最小的系数 → 误差最小。这就是”阈值压缩”的最优性来源。
- 基要匹配信号的统计结构。DCT 在”一阶马尔可夫、高相关”的自然图像上接近 Karhunen–Loève 最优;小波在”分段光滑、有边缘”的图像上更优。没有万能基,只有匹配的基。 这正是讲次 29 SVD 的思想:SVD 就是针对给定数据矩阵 $B$ 本身构造的最优基($B=U\Sigma V^{\mathsf T}$,丢掉小奇异值 = 最优低秩逼近,Eckart–Young)。
- DCT 与 SVD 的关系:对一类”Toeplitz 相关矩阵”,DCT 的基向量渐近等于其特征向量,所以 DCT 是 SVD 的”与数据无关的固定近似”。JPEG 用 DCT 是因为它快(有 $O(n\log n)$ 快速算法)且够好;SVD 是理论最优但要对每个块单独算,代价太高。
示例 4(附加):置换矩阵换基——只是重新排列坐标
取 $W=P=\begin{bmatrix}0&1\\1&0\end{bmatrix}$($P^{-1}=P$),$A=\begin{bmatrix}4&1\\2&3\end{bmatrix}$: \(B=P^{-1}AP=\begin{bmatrix}0&1\\1&0\end{bmatrix}\begin{bmatrix}4&1\\2&3\end{bmatrix}\begin{bmatrix}0&1\\1&0\end{bmatrix}=\begin{bmatrix}3&2\\1&4\end{bmatrix}.\) 这只是把基向量交换了顺序。核验:$\operatorname{tr}B=7=\operatorname{tr}A$,$\det B=10=\det A$ ✓(验算通过)。$B$ 的特征值与原矩阵相同,只是特征向量的坐标顺序被打乱。
示例 5(附加):非正交基下的 $W^{-1}$ 手算
$W=\begin{bmatrix}1&0\\1&2\end{bmatrix}$(列是 $\mathbf{w}_1=(1,1)^{\mathsf T},\mathbf{w}_2=(0,2)^{\mathsf T}$)。$\det W=2$, \(W^{-1}=\frac12\begin{bmatrix}2&0\\-1&1\end{bmatrix}=\begin{bmatrix}1&0\\-0.5&0.5\end{bmatrix}.\) $\mathbf{x}=(3,1)^{\mathsf T}$ 的新坐标 $\mathbf{c}=W^{-1}\mathbf{x}=(3,-1)^{\mathsf T}$,回代 $W\mathbf{c}=(3,1)^{\mathsf T}$ ✓(验算通过)。把投影 $P$ 换到此基: \(W^{-1}PW=\begin{bmatrix}1&0\\-0.5&0.5\end{bmatrix}\frac12\begin{bmatrix}1&1\\1&1\end{bmatrix}\begin{bmatrix}1&0\\1&2\end{bmatrix}=\begin{bmatrix}1&1\\0&0\end{bmatrix},\) 迹 $=1$、$\det=0$,特征值仍为 $1,0$ ✓(验算通过)。注意它不再对称——因为 $W$ 不正交。这再次印证”对称性不是相似不变量”。
矩阵分解的核心思想
本讲的核心分解就是相似对角化 $A=S\Lambda S^{-1}$ 及其正交版本 $A=Q\Lambda Q^{\mathsf T}$,并通过换基统一了课程中出现过的所有分解:
| 分解 | 换基视角 | 新基的性质 | 得到什么 |
|---|---|---|---|
| $A=S\Lambda S^{-1}$ | 换成特征向量基 $S$ | 一般不正交 | 对角、解耦,但 $S^{-1}$ 难算/可能病态 |
| $A=Q\Lambda Q^{\mathsf T}$(对称) | 换成正交特征向量基 $Q$ | 正交 | 对角 + 保长 + 数值稳定 |
| $A=U\Sigma V^{\mathsf T}$(SVD) | 输入、输出各换一组正交基 | 正交(两组) | 对角 $\Sigma$,且奇异值有序 |
| $A=QR$ | 换成正交基(Gram–Schmidt) | 正交 | 上三角、最小二乘稳定 |
| $A=LU$ | 换成消元过程自然的基 | 非正交 | 三角、便于回代 |
| DCT/小波(JPEG) | 换成固定正交基 | 正交 | 稀疏、箝位压缩 |
| $P=W\hat P W^{\mathsf T}$(投影) | 换成子空间 + 正交补基 | 正交 | $\operatorname{diag}(1,\dots,1,0,\dots,0)$ |
一句话公式:分解 = 换基 + 在新基下矩阵变简单。$A=S\Lambda S^{-1}$ 是”变成对角”;$A=QR$ 是”变成上三角”;$A=U\Sigma V^{\mathsf T}$ 是”变成对角且两侧都正交”。
对角化的几何解释(本讲最重要的收获): \(\boxed{\text{对角化 } A=S\Lambda S^{-1}\ \Longleftrightarrow\ \text{选一组好基(特征向量基)使变换变成对角}}\) 对角矩阵的含义是:每个基方向被独立地拉伸 $\lambda_j$ 倍,方向之间零耦合。$A$ 施加 $k$ 次就是 $\lambda_j^k$——这解释了为什么对角化能秒算 $A^k$、解微分方程组(讲次 22–23)、分析马尔可夫链收敛(讲次 24)。换基把”耦合的耦合系统”变成”$n$ 个独立的一维问题”。
与其他讲次的关联
- 与讲次 6–10(子空间):基的定义、线性无关、维数都在那里建立;本讲把它们用在”同一空间的两组基”上。$\mathbf{x}=W\mathbf{c}$ 是”用 $W$ 的列线性组合出 $\mathbf{x}$”,正是列空间 $C(W)=\mathbb{R}^n$ 的含义。
- 与讲次 1–5(消元、$A=LU$):求 $W^{-1}$ 用 Gauss–Jordan;$B=W^{-1}AW$ 的两次乘法都可用 $LU$ 分解加速。
- 与讲次 11–12(矩阵空间、图):图的关联矩阵的”节点电位 → 边电压”变换,换基对应”重新标记节点”或”取节点电位的平均值/差值坐标”(后者让图的拉普拉斯算子部分对角化)。
- 与讲次 14–17(正交、投影、QR):正交基使 $W^{-1}=W^{\mathsf T}$(讲次 17)。本讲示例 1 的 $W$ 就是正交的,$P=\mathbf{w}_1\mathbf{w}_1^{\mathsf T}$ 是秩 1 投影的外积形式。
- 与讲次 18–20(行列式):$\det(W^{-1}AW)=\det(W^{-1})\det A\det W=\det A$,这是”相似矩阵行列式相同”的一行证明;也是”换基不改变体积缩放因子”的几何陈述。
- 与讲次 21–25(特征值、对角化):讲次 22 的 $A=S\Lambda S^{-1}$ 在这里得到几何解释;讲次 25 的对称矩阵 $A=Q\Lambda Q^{\mathsf T}$ 是”正交换基”的样板;讲次 24 马尔可夫矩阵的稳态就是”换到特征向量基后只剩 $\lambda=1$ 的分量”。
- 与讲次 27–29(正定、Jordan、SVD):当 $S$ 不可逆(特征向量不够)时,最简形式是 Jordan 形——那时无法用换基做到对角,只能做到”对角 + 上三角非零”,这是换基能力的极限。SVD 因允许两侧各换一组基而总是可行。
- 与讲次 30(线性变换):本讲是讲次 30 的直接续篇——那里说”矩阵依赖基”,这里给出换基公式。
- 与讲次 33(伪逆):SVD 换基 $A=U\Sigma V^{\mathsf T}$ 中,$V$ 的列是 $C(A^{\mathsf T})$ 的正交基、$U$ 的列是 $C(A)$ 的正交基,这正是讲次 33 定义 $A^{+}=V\Sigma^{+}U^{\mathsf T}$ 的原料。
关键要点
- 坐标与基的关系:$\mathbf{x}=W\mathbf{c}$,$\mathbf{c}=W^{-1}\mathbf{x}$。$W$ 的列就是新基向量。正交时 $W^{-1}=W^{\mathsf T}$。
- 换基公式:$B=W^{-1}AW$(新基矩阵 $W$)。等价写法 $B=MAM^{-1}$ 当 $M=W^{-1}$。推导口诀:$W$ 进、$A$ 干活、$W^{-1}$ 出。
- 相似不变量的清单:特征值(含重数)、特征多项式、迹、行列式、秩、Jordan 形。不变量不是:矩阵元、对称性、特征向量本身。
- 对角化 = 换到特征向量基。$\Lambda=\operatorname{diag}(\lambda_j)$ 表示”每个基方向独立拉伸”。$A^k=S\Lambda^k S^{-1}$。
- 压缩的本质 = 换基 + 稀疏化:在正交基下丢系数,误差能量 = 丢弃系数平方和;DCT(JPEG)与(小波 JPEG2000)是固定基,SVD 是数据自适应最优基(Eckart–Young)。
- 好基的选择原则:要解耦 → 特征向量基;要稳定保长 → 正交基;要最优低秩 → SVD 基;要压缩 → 匹配信号结构的基(DCT/小波)。
常见误区与注意事项
- 换基方向写反。$B=W^{-1}AW$ 是对”$W$ 的列 = 新基向量”的约定。若你定义的 $W$ 的列是旧基在新基下的坐标,公式就变成 $B=WAW^{-1}$。永远从”输入新坐标、输出新坐标”这条链路重新推一遍,而不是背公式。
- 把”相似”与”等价(相抵)”混淆。$B=W^{-1}AW$(同一空间内换基,两侧 $W^{-1},W$,方阵)叫相似,保持特征值;$B=PAQ$($P,Q$ 各自可逆,允许长方形)叫等价,只保持秩。SVD 中的 $U\Sigma V^{\mathsf T}$ 是等价而非相似($U\neq V^{-1}$ 一般成立)——所以 SVD 不保持特征值,只保持奇异值。这是学生最容易混的一点。
- 以为正交基下换基”不用算逆”就可以随便用。$W^{\mathsf T}W=I$ 要求 $W$ 方阵且列正交。若 $W$ 是 $n\times k$($k<n$,只有 $k$ 个正交向量),则 $W^{\mathsf T}W=I_k$ 但 $WW^{\mathsf T}\neq I_n$(那是投影,不是换基),不能用来做相似变换。
- 换基后特征向量忘了跟着变。$B$ 的特征向量 $\mathbf{y}$ 对应 $A$ 的特征向量 $\mathbf{x}=W\mathbf{y}$。求 $A$ 的特征向量最容易的办法常常是”先算出 $B$ 的对角形式,再用 $W$ 乘回去”。
- 压缩时把直流分量也丢掉。DCT 的 $X_{0,0}$ 承载块的平均亮度,量级远大于其他系数。丢掉它会造成整块亮度突变(块效应)。JPEG 的量化表对 DC 用很小的步长正是这个原因。
- 错误地认为”换基会改变算子的秩/可逆性”。$B=W^{-1}AW$ 中 $W$ 可逆,所以 $\operatorname{rank}B=\operatorname{rank}A$,$B$ 可逆 $\Leftrightarrow A$ 可逆。换基只改变”长相”,不改变”本质”。
- 把二维 DCT 写成 $WBW$ 而不是 $WBW^{\mathsf T}$。一维变换作用在行上($BW^{\mathsf T}$,$W$ 的行是基向量)与作用在列上($WB$)必须区分。标准二维 DCT 是 $X=WBW^{\mathsf T}$,逆变换 $B=W^{\mathsf T}XW$(因 $W$ 正交且 $W^{-1}=W^{\mathsf T}$)。写错会得到转置或完全错误的结果。
思考题(带答案)
Q1.(纯计算)设 $A=\begin{bmatrix}4&1\\2&3\end{bmatrix}$,新基 $\mathbf{w}_1=(1,1)^{\mathsf T}$,$\mathbf{w}_2=(1,-1)^{\mathsf T}$。 (a) 写出 $W$ 并求 $W^{-1}$;(b) 求 $B=W^{-1}AW$;(c) 核验迹与行列式;(d) 求 $A$ 的特征值,并说明 $B$ 有什么性质。
答案
**(a)** $W=\\begin{bmatrix}1&1\\\\1&-1\\end{bmatrix}$。$\\det W=1\\cdot(-1)-1\\cdot1=-2$, $$W^{-1}=\frac{1}{-2}\begin{bmatrix}-1&-1\\-1&1\end{bmatrix}=\frac12\begin{bmatrix}1&1\\1&-1\end{bmatrix}.$$ 核验:$W^{-1}W=\\frac12\\begin{bmatrix}1&1\\\\1&-1\\end{bmatrix}\\begin{bmatrix}1&1\\\\1&-1\\end{bmatrix}=\\frac12\\begin{bmatrix}2&0\\\\0&2\\end{bmatrix}=I$ ✓。 **(b)** 先算 $AW$: $$AW=\begin{bmatrix}4&1\\2&3\end{bmatrix}\begin{bmatrix}1&1\\1&-1\end{bmatrix}=\begin{bmatrix}4+1&4-1\\2+3&2-3\end{bmatrix}=\begin{bmatrix}5&3\\5&-1\end{bmatrix}.$$ (第 1 列 $=A\\mathbf{w}_1=(5,5)^{\\mathsf T}$,第 2 列 $=A\\mathbf{w}_2=(3,-1)^{\\mathsf T}$。) 再左乘 $W^{-1}$: $$B=\frac12\begin{bmatrix}1&1\\1&-1\end{bmatrix}\begin{bmatrix}5&3\\5&-1\end{bmatrix}=\frac12\begin{bmatrix}5+5&3-1\\5-5&3+1\end{bmatrix}=\frac12\begin{bmatrix}10&2\\0&4\end{bmatrix}=\begin{bmatrix}5&1\\0&2\end{bmatrix}.$$ **(c)** $\\operatorname{tr}B=5+2=7=\\operatorname{tr}A=4+3$ ✓。$\\det B=5\\cdot2-1\\cdot0=10=\\det A=4\\cdot3-1\\cdot2=12-2=10$ ✓。 **(d)** $A$ 的特征多项式 $\\lambda^2-7\\lambda+10=(\\lambda-5)(\\lambda-2)$,特征值 $\\lambda=5,2$,与 $B$ 的对角元完全一致——因为 $B$ 恰好是**上三角**,其特征值就在对角线上。**注意 $B$ 不是对角矩阵**:基 $\\{(1,1),(1,-1)\\}$ 不是 $A$ 的特征向量基($A\\mathbf{w}_1=(5,5)^{\\mathsf T}=5\\mathbf{w}_1$ 恰好是特征向量!但 $A\\mathbf{w}_2=(3,-1)^{\\mathsf T}\\neq\\lambda\\mathbf{w}_2$)。所以 $A$ 可对角化,但需要另找 $\\mathbf{w}_2$:由 $(A-2I)\\mathbf{v}=0$ 即 $\\begin{bmatrix}2&1\\\\2&1\\end{bmatrix}\\mathbf{v}=0$ 得 $\\mathbf{v}_2=(1,-2)^{\\mathsf T}$。用 $S=[(1,1)^{\\mathsf T},(1,-2)^{\\mathsf T}]$ 才能真正对角化。Q2.(概念理解)下列哪些量在相似变换 $B=W^{-1}AW$ 下保持不变?哪些会变? (i) 特征值;(ii) 矩阵的迹;(iii) 矩阵元 $a_{11}$;(iv) 秩;(v) 对称性($A=A^{\mathsf T}$);(vi) 行列式;(vii) 奇异值;(viii) 特征向量。
答案
**保持不变**:(i) 特征值。证明:$\\det(B-\\lambda I)=\\det(W^{-1}(A-\\lambda I)W)=\\det(W^{-1})\\det(A-\\lambda I)\\det W=\\det(A-\\lambda I)$,特征多项式逐项相同,**含重数**。(ii) 迹(特征值之和)。(iv) 秩($W$ 可逆,左右乘可逆矩阵不改变秩)。(vi) 行列式(特征值之积,或 $\\det(W^{-1})\\det A\\det W=\\det A$)。 **会变**:(iii) 矩阵元(示例 1 中 $A$ 的元是 $1/2$,$B$ 的元是 $1,0$);(v) 对称性——示例 5 中 $W$ 不正交时 $W^{-1}PW=\\begin{bmatrix}1&1\\\\0&0\\end{bmatrix}$ 不对称(若 $W$ **正交**则对称性保持:$B^{\\mathsf T}=(W^{\\mathsf T}AW)^{\\mathsf T}=W^{\\mathsf T}A^{\\mathsf T}W=B$,因为 $W^{-1}=W^{\\mathsf T}$);(vii) **奇异值**;(viii) 特征向量($B$ 的特征向量 $\\mathbf{y}$ 与 $A$ 的特征向量 $\\mathbf{x}=W\\mathbf{y}$ 不同)。 **(vii) 特别说明(学生最容易答错的一项)**:相似变换**不保持奇异值**。反例:$A=\\begin{bmatrix}0&10\\\\0&0\\end{bmatrix}$,$A^{\\mathsf T}A=\\begin{bmatrix}0&0\\\\0&100\\end{bmatrix}$,奇异值为 $10,0$。取 $W=\\operatorname{diag}(10,1)$(可逆), $$W^{-1}AW=\begin{bmatrix}0.1&0\\0&1\end{bmatrix}\begin{bmatrix}0&10\\0&0\end{bmatrix}\begin{bmatrix}10&0\\0&1\end{bmatrix}=\begin{bmatrix}0&1\\0&0\end{bmatrix},$$ 它的 $B^{\\mathsf T}B=\\begin{bmatrix}0&0\\\\0&1\\end{bmatrix}$,奇异值为 $1,0$。**特征值不变(都是 $0,0$,幂零),奇异值却从 $10$ 变成 $1$**(脚本验算通过)。 这正是**相似**与**等价(相抵)**的分界线:相似 $B=W^{-1}AW$ 保持特征值;等价 $B=PAQ$($P,Q$ 各自可逆,允许长方形)只保持秩。SVD 是等价而非相似,所以 SVD 保持奇异值而不保持特征值。 **记忆钩**:相似 = "同一个变换换眼睛看",所以**变换本身的属性(特征值、迹、行列式、秩)不变**,而**表达方式(矩阵元、对称性、特征向量坐标、奇异值)会变**。Q3.(应用 + 计算)一幅 $8\times8$ 图像块在 DCT 基下的系数只有以下 3 个非零:$X_{0,0}=512$,$X_{0,1}=-64$,$X_{1,0}=32$。其余 61 个为零。 (a) 该块的平均亮度是多少?(b) 能量压缩比是多少(保留系数能量 / 全部能量)?(c) 如果把 $X_{0,1}$ 与 $X_{1,0}$ 也丢掉(只留 DC),重建误差的 Frobenius 范数是多少?
答案
**(a)** 在正交 DCT-II 下,二维直流系数是 $$X_{0,0}=a_0^2\sum_{i,j}B_{ij},\qquad a_0=\frac{1}{\sqrt8}\ \Longrightarrow\ a_0^2=\frac18.$$ $\\sum_{i,j}B_{ij}=64\\bar B$(64 个像素),所以 $$X_{0,0}=\frac18\cdot 64\bar B=8\bar B\ \Longrightarrow\ \bar B=\frac{X_{0,0}}{8}=\frac{512}{8}=64.$$ **该块平均亮度为 64**。 **(b)** 全部能量 $=512^2+(-64)^2+32^2=262144+4096+1024=267264$。非零系数就是全部非零系数(题目说只有这 3 个非零),所以压缩比 $=267264/267264=100\\%$——**61 个零系数不贡献能量,丢掉它们零损失**,只需要记录 3 个数的位置与数值。这就是稀疏性的价值。 **(c)** 正交变换保能量(Parseval),丢掉系数造成的误差能量**恰等于**这些系数平方和: $$\vert \hat B-B\vert _F^2=X_{0,1}^2+X_{1,0}^2=4096+1024=5120,$$ $$\vert \hat B-B\vert _F=\sqrt{5120}=\sqrt{1024\cdot5}=32\sqrt5\approx71.554.$$ **相对误差**:$\\vert \\hat B-B\\vert _F/\\vert B\\vert _F=\\sqrt{5120/267264}=\\sqrt{0.01916}\\approx0.1384$,约 $13.8\\%$。若保留全部 3 个系数,误差为 0。 **补充解释**:误差矩阵只需保留 DC 时的形状是一个常数矩阵(因为 $\\hat B$ 是常数块),所以重建图会出现"块状马赛克"——这就是高压缩比 JPEG 的典型伪影。附录 A:换基链条总图(本讲核心可视化)
下面这张图把”一个变换、两组基、两个矩阵”的关系完整画出来。建议照着图自己默写一遍 $B=W^{-1}AW$。
┌──────────────────────────────────────────────────────────────────────────┐
│ 同一个变换 T,两套坐标系统 │
│ │
│ 【旧基/标准基视角】 【新基视角】 │
│ 向量写成 x = (x₁,x₂)ᵀ 向量写成 c = (c₁,c₂)ᵀ │
│ 矩阵 A(在标准基下) 矩阵 B = W⁻¹AW(在新基下) │
│ │
│ x ─────────── A ──────────► Ax │
│ │ │ │
│ W │ ↑ 坐标翻译 │ W⁻¹ ↓ 坐标翻译 │
│ (旧◄─新) (旧 ─►新) │
│ ▼ ▼ │
│ c ─────────── B ──────────► Bc = W⁻¹Ax │
│ │
│ 关系: x = W c (W 的列 = 新基向量) │
│ c = W⁻¹x │
│ B = W⁻¹ A W ← 三步:W 进、A 干活、W⁻¹ 出 │
└──────────────────────────────────────────────────────────────────────────┘
矩阵 W 的结构(关键!列 = 新基向量):
W = [ w₁ w₂ ⋯ wn ] ← 第 j 列就是第 j 个新基向量
W⁻¹ 的列 = 旧基向量在新基下的坐标("对偶"关系)
┌──────────────────────────────────────────────────────────────────────────┐
│ 三种"好基"的效果对比(同一个变换 T) │
├──────────────────────┬───────────────────────┬───────────────────────────┤
│ 基的选择 │ 得到的矩阵 │ 揭示的结构 │
├──────────────────────┼───────────────────────┼───────────────────────────┤
│ 标准基 │ A(一般densely) │ 看不出什么 │
│ 特征向量基 │ Λ 对角 │ 各方向独立拉伸、解耦 │
│ 正交特征向量基 │ Λ 对角 + 保长 │ 解耦 + 数值稳定(对称矩阵)│
│ SVD 两组基 │ Σ 对角(两侧正交) │ 最优低秩、能量排序 │
│ Q 基(Gram-Schmidt)│ R 上三角 │ 最小二乘、稳定求解 │
│ DCT / 小波基 │ 稀疏系数矩阵 │ 压缩(少数大系数) │
└──────────────────────┴───────────────────────┴───────────────────────────┘
附录 B:换基的”安全检查清单”
每次做完换基,用这五条快速自检,能立刻发现方向符号或转置错误:
□ 1. 维度对得上吗?
A 是 n×n ⇒ B = W⁻¹AW 也必须是 n×n
(写成 WAW⁻¹ 也合规,但代表不同的约定)
□ 2. 迹变了吗? tr(B) ?= tr(A) ← 必须相等
□ 3. 行列式变了吗? det(B) ?= det(A) ← 必须相等
□ 4. 特征多项式变了吗? det(B−λI) ?= det(A−λI) ← 必须逐项相等
□ 5. 秩变了吗? rank(B) ?= rank(A) ← 必须相等
─────────────────────────────────────────────────────────
以上任一不等 ⇒ 换基公式写错了(八成是把 W 和 W⁻¹ 放反了)
附加检查(仅当 W 正交时):
□ 6. WᵀW = I ? ⇒ B 保持对称性(W 不正交时对称性一般不保)
用本讲示例 1 演练:$A=\frac12\begin{bmatrix}1&1\\1&1\end{bmatrix}$,$B=\operatorname{diag}(1,0)$,$W$ 正交。
- 维度:都是 $2\times2$ ✓
- $\operatorname{tr}$:$1=1$ ✓
- $\det$:$0=0$ ✓
- 特征多项式:$\lambda^2-\lambda$ 两者相同 ✓
- 秩:$1=1$ ✓
- $W^{\mathsf T}W=I$ ✓ 且 $B$ 对称 ✓
用本讲示例 2 演练($W$ 不正交):$A=R_{90^\circ}$,$B=\begin{bmatrix}1&1\\-2&-1\end{bmatrix}$,$W=\begin{bmatrix}1&1\\1&0\end{bmatrix}$。
- $\operatorname{tr}$:$0=0$ ✓
- $\det$:$1=1$ ✓
- 特征多项式:$\lambda^2+1$ 两者相同 ✓
- 秩:$2=2$ ✓
- 但 $A$ 反对称、$B$ 不对称 —— 因为 $W$ 不正交,对称性确实丢了 ✓(符合预期,不是错误)
附录 C:从”换基”到”低秩逼近”——分辨率金字塔
图像压缩有两个正交的维度:换什么基(本讲)与保留多少项(讲次 29)。把它们组合起来就是工业压缩算法的全貌。
┌──────────────────────────────────────────────────────────────────────┐
│ 原图(全分辨率) │
│ ┌────────────┐ │
│ │ │ ← 第一步:分块(JPEG: 8×8) │
│ │ │ │
│ └────────────┘ │
└────────┬─────────────────────────────────────────────────────────────┘
│
▼
┌──────────────────────────────────────────────────────────────────────┐
│ 换基(正交变换,能量不变) │
│ ● JPEG: 每块做 2D DCT → 64 个"频率系数" │
│ ● JPEG2000: 整图做多级小波 → "平均 + 细节"金字塔 │
│ ● SVD 路线: 对整幅图/整块做 SVD → 奇异值从大到小排列 │
└────────┬─────────────────────────────────────────────────────────────┘
│
▼
┌──────────────────────────────────────────────────────────────────────┐
│ 量化 + 阈值(丢弃小系数) │
│ ● 量化: c → round(c / q) 对每个频率用不同的 q(人眼不敏感的高频 q 大)│
│ ● 阈值: c → 0 当 |c| < ε 这是"硬阈值",也是 SVD 截断 │
│ │
│ 数学保证:正交变换保能量 ⇒ ||误差||² = Σ(丢弃的系数²) │
│ ⇒ 丢最小的系数 = 误差最小(最优!) │
└────────┬─────────────────────────────────────────────────────────────┘
│
▼
┌──────────────────────────────────────────────────────────────────────┐
│ 熵编码(游程 + 霍夫曼/算术编码) │
│ 非零系数变少了 ⇒ 数据可压缩 ⇒ 实际存储量下降 │
└────────┬─────────────────────────────────────────────────────────────┘
│
▼
┌──────────────────────────────────────────────────────────────────────┐
│ 逆变换重建(换回来!) │
│ JPEG: Ẽ = Wᵀ Ĉ W (W 正交 ⇒ 逆 = 转置,零额外代价) │
│ JPEG2000: 逆小波变换 (也正交) │
│ SVD 路线: Â = Σ_{i≤k} σᵢuᵢvᵢᵀ (Eckart–Young:最优 rank-k 逼近) │
└──────────────────────────────────────────────────────────────────────┘
换基(本讲 L31)与截断(L29)的分工:
┌────────────────────┬─────────────────────────────────────────────┐
│ 换基 │ 让"重要信息"集中到少数几个坐标上 │
│ 截断/量化 │ 把剩下的一大堆接近零的坐标扔掉 │
└────────────────────┴─────────────────────────────────────────────┘
两者缺一不可:换错基 ⇒ 信息分散 ⇒ 扔哪个都心疼 ⇒ 压不动
不截断 ⇒ 基再好也白换 ⇒ 没有压缩
附录 D:几种常见正交基的对比(图像处理视角)
| 基 | 向量形状 | 局部化 | 平滑信号 | 边缘/不连续 | 快速算法 | 使用者 |
|---|---|---|---|---|---|---|
| 标准基(像素) | 单点脉冲 | 极局部 | 差 | 好 | 无(恒等) | 无损格式(PNG) |
| Fourier | 全局正弦 | 完全全局 | 很好 | 差(振铃) | FFT $O(n\log n)$ | 音频、频谱分析 |
| DCT | 全局余弦 | 完全全局 | 很好 | 中(振铃) | $O(n\log n)$ | JPEG、MP3、H.26x |
| Haar 小波 | 分段常数 | 局部 | 好 | 很好 | $O(n)$ | JPEG2000(最简单层) |
| Daubechies 小波 | 分段光滑 | 局部 | 好 | 很好 | $O(n)$ | JPEG2000 |
| KLT / SVD | 数据自适应 | 不定 | 最优 | 最优 | 无快速算法 | 主成分分析、去噪 |
本讲验算过的三个”稀疏性”实证(都用脚本算过):
- 平滑斜坡块 $100+3i+2j$:64 个 DCT 系数只有 9 个非零;前 6 个占能量 $99.99982\%$;用 $q=10$ 量化后只剩 4 个非零。
- 高斯斑块 $100+80e^{-d^2/16}$:DC 一个系数就占能量 $98.64\%$;前 4 个占 $99.98\%$;保留 8/64 个系数的最大绝对误差仅 $1.21$(峰值 $177.54$)。
- Haar 小波作用于台阶信号 $(9,9,9,9,1,1,1,1)$:8 个系数只有 2 个非零,恰好是 $10\sqrt2$ 与 $8\sqrt2$;能量 $328$ 精确保留(Parseval)。
为什么”边缘”决定了选哪种基:自然图像的统计特性是”大部分平滑、少数边缘”。DCT 需要很多高频余弦去拼一个陡峭边缘(因为余弦是全局的,边缘处会产生 Gibbs 振铃);小波基向量只在边缘附近非零,用一两个系数就能表示。这就是 JPEG2000 在低码率下优于 JPEG 的原因(但它计算更复杂,所以 JPEG 至今仍是主流)。
附录 E:一个完整的”手算压缩”演练($4\times4$,纯整数)
为了让读者能真正手算,这里用最小的例子。取 $4\times4$ 块: \(B=\begin{bmatrix}4&3&2&1\\3&2&1&0\\2&1&0&-1\\1&0&-1&-2\end{bmatrix},\qquad B_{ij}=4-i-j\ (i,j=0,\dots,3).\) 这个块是两个方向上的线性斜坡(中心对称:$B_{ij}=B_{3-i,3-j}$),最容易看出基的效率。
步骤 1:算 $4\times4$ 的二维 DCT 系数 $X=C_4BC_4^{\mathsf T}$($C_4$ 为正交 DCT-II,$a_0=\frac12$、$a_k=\frac{1}{\sqrt2}$)。脚本验算结果:
X = ⎡ 4.000000 4.460885 0.000000 0.317025 ⎤
⎢ 4.460885 0.000000 0.000000 0.000000 ⎥
⎢ 0.000000 0.000000 0.000000 0.000000 ⎥
⎣ 0.317025 0.000000 0.000000 0.000000 ⎦
16 个系数中只有 5 个非零:$(0,0)=4.000000$、$(0,1)=(1,0)=4.460885$、$(0,3)=(3,0)=0.317025$(脚本验算通过)。
步骤 2:读取结构(这里有一个离散与连续的细微差别,必须讲清)。
- DC 系数:$X_{0,0}=4$,而均值 $\bar B=\frac{1}{16}\sum_{i,j}(4-i-j)=\frac{16}{16}=1$,所以 $X_{0,0}=4\bar B$($N=4$ 时直流系数 = $N$ 倍均值;这正是二维直流基 $a_0^2=\frac14$ 乘 16 项之和的结果)。
- 一阶系数 $(0,1)$、$(1,0)$:$4.460885$,承载两个方向的线性斜坡。
- $(0,3)$、$(3,0)$:$0.317025$,是离散化修正项。连续斜坡的 DCT 只在 $k=0,1$ 有分量;但离散 DCT-II 的基向量在 $k=1$ 时并不是严格的线性函数($\cos\frac{\pi(2n+1)}{8}$ 与 $n$ 不成正比),所以必须补上 $k=3$ 的少量分量才能精确表示离散斜坡。这就是”连续直觉 + 离散现实”的差别——写代码时必须信 SVD/DCT 的计算结果,而不是信类比。
步骤 3:量化与压缩比。 取 $q=2$:$\operatorname{round}(4/2)=2$、$\operatorname{round}(4.460885/2)=2$、$\operatorname{round}(0.317025/2)=0$。于是只剩 3 个非零整数。存储量从 $16$ 个系数降到 $3$ 个(加上位置信息),压缩比约 $16:3$。
步骤 4:重建。 用 $\hat B=C_4^{\mathsf T}\hat XC_4$(正交 ⇒ 逆 = 转置)。保留全部 5 个系数时重建几乎完美;若只保留 DC($\hat X$ 只剩 $X_{0,0}=4$),重建得到常数块 \(\hat B=\frac{X_{0,0}}{4}\mathbf{1}=\begin{bmatrix}1&1&1&1\\1&1&1&1\\1&1&1&1\\1&1&1&1\end{bmatrix},\) 即灰度 $1$ 的均匀块(用 $X_{0,0}/4$ 而不是 $/16$:因为重建公式里 $C^{\mathsf T}$ 与 $C$ 各贡献一个 $a_0=\frac12$,总共 $\frac14$)。误差就是原来那个斜坡的起伏幅度——这就是极低码率下”块状马赛克/平坦化”的来源。
步骤 5:能量账本(用附录 G 的 Parseval 公式)。总能量 $\sum X_{kl}^2=4^2+2(4.460885)^2+2(0.317025)^2=16+39.799+0.201=56.000$,而 $\sum B_{ij}^2=16+9+4+1+9+4+1+0+4+1+0+1+1+0+1+4=56.000$ ✓(能量相等,正交变换保能量)。只保留 DC 时误差能量 $=56-16=40$。
推广的黄金法则:一个 $8\times8$ 块中,平滑结构集中在左上角的少数低阶位置,右下角的高阶位置承载细节。JPEG 的量化表恰恰是”左上角小、右下角大”的阶梯——它把”结构”留下、把”细节”抹掉,这就是人眼感知特性的直接编码。但要注意:能用几个系数精确表示,取决于块是”连续线性”还是”离散采样”;一般图像块两者都不是,所以只能近似。
附录 F:换基与相似的其他重要不变量(进阶)
除了附录 B 的五条,相似变换还保持以下性质,在做题中常用来快速判定”两个矩阵是否可能相似”:
| 性质 | 是否相似不变量 | 理由/反例 |
|---|---|---|
| 特征值(含代数重数) | ✅ 是 | 特征多项式相同 |
| 特征值的几何重数 | ✅ 是 | $\dim N(B-\lambda I)=\dim N(A-\lambda I)$,因 $N(W^{-1}AW-\lambda I)=W^{-1}N(A-\lambda I)$ |
| 迹、行列式、秩 | ✅ 是 | 特征值的函数 |
| 特征多项式、最小多项式 | ✅ 是 | 由 $B-\lambda I=W^{-1}(A-\lambda I)W$ 逐项推出 |
| Jordan 标准形 | ✅ 是 | Jordan 形是相似类的完全不变量 |
| 是否可对角化 | ✅ 是 | 取决于几何重数是否等于代数重数 |
| 奇异值 | ❌ 否 | 反例见思考题 Q2(vii):$A=\begin{bmatrix}0&10\\0&0\end{bmatrix}$ 与 $B=\begin{bmatrix}0&1\\0&0\end{bmatrix}$ 相似但奇异值 $10,0$ vs $1,0$ |
| 对称性 | ❌ 否(除非 W 正交) | 示例 5:$W$ 不正交时对称性丢失 |
| 矩阵元 | ❌ 否 | $a_{11}$ 与 $b_{11}$ 无任何强制关系(示例 1 中 $1/2$ 变成 $1$) |
| 特征向量(作为向量) | ❌ 否 | 变为 $W\mathbf{y}$ |
| Frobenius 范数 $\vert A\vert _F$ | ❌ 否 | $\vert W^{-1}AW\vert _F$ 一般 $\neq\vert A\vert _F$(除非 $W$ 正交) |
| 迹、$\vert A\vert _F$ 在正交 $W$ 下 | ✅ 都保持 | 正交变换保 Frobenius 范数 |
实用推论:判断”$A$ 与 $B$ 是否相似”的最快筛法是比较特征多项式;若相同再看是否都可对角化(都可对角化且特征多项式相同 ⇒ 相似!因为 $\Lambda$ 由特征值唯一确定,$A=S_1\Lambda S_1^{-1}$,$B=S_2\Lambda S_2^{-1}$ ⇒ $B=(S_2S_1^{-1})A(S_1S_2^{-1})$,即 $W=S_1S_2^{-1}$)。
附录 G:图像压缩的”能量账本”(为什么正交性让压缩可计算)
设正交基矩阵为 $W$($WW^{\mathsf T}=W^{\mathsf T}W=I$),信号 $\mathbf{f}$ 的系数为 $\mathbf{c}=W\mathbf{f}$,则 \(\vert \mathbf{f}\vert ^2=\mathbf{f}^{\mathsf T}\mathbf{f}=(W^{\mathsf T}\mathbf{c})^{\mathsf T}(W^{\mathsf T}\mathbf{c})=\mathbf{c}^{\mathsf T}WW^{\mathsf T}\mathbf{c}=\mathbf{c}^{\mathsf T}\mathbf{c}=\vert \mathbf{c}\vert ^2.\) 这就是 Parseval 等式(讲次 17 的正交性在信号处理里的名字)。它的实践含义:
设丢掉系数集合 S(其余保留),误差 e = f − f̂
┌──────────────────────────────────────────────────────────┐
│ ||e||² = Σ_{k∈S} c_k² ← 误差能量 = 丢弃系数平方和 │
└──────────────────────────────────────────────────────────┘
推论 1:误差完全可预测(不需要先重建再比较)
推论 2:丢掉最小的那些系数 ⇒ 误差最小 ⇒ 阈值法是"最优"的
推论 3:压缩问题的核心就变成"找到一组能产生最多小系数的基"
本讲验算数据代入:平滑斜坡块的总能量 $887968.0000$,前 6 大系数能量 $887966.4411$,所以丢掉后 58 个系数的误差能量是 \(887968.0000-887966.4411=1.5589,\) 误差范数 $\sqrt{1.5589}\approx1.2486$。而重建(只有前 6 项时)的最大绝对误差是 $0.2998$——注意这两个数不同:前者是整个矩阵的 Frobenius 误差范数,后者是单个像素的最大偏差。做题时务必分清”矩阵范数误差”与”逐点最大误差”。
对比 SVD 的能量账(讲次 29):$A=\sum_{i=1}^{r}\sigma_i\mathbf{u}_i\mathbf{v}_i^{\mathsf T}$,截断到前 $k$ 项的误差是 \(\vert A-A_k\vert _F^2=\sum_{i=k+1}^{r}\sigma_i^2,\qquad \vert A-A_k\vert _2=\sigma_{k+1}.\) 完全平行的结构:SVD 的 $\sigma_i^2$ 对应 DCT 的 $c_k^2$;”奇异值下降快”对应”系数衰减快”。Eckart–Young 定理说 SVD 的截断是”对给定矩阵最优”的,而 DCT 只是它的一类通用替代。
附录 H:三条延伸思考(不附答案,供自测)
- 设 $\mathbf{w}_1=(2,0)^{\mathsf T}$,$\mathbf{w}_2=(1,1)^{\mathsf T}$(注意不正交)。写出 $W$、$W^{-1}$,并把 $A=\begin{bmatrix}0&1\\1&0\end{bmatrix}$ 换到此基下。检验迹与行列式。
- 若 $A$ 与 $B$ 相似且 $A$ 是正交矩阵($A^{\mathsf T}A=I$),$B$ 也是正交矩阵吗?(提示:一般不。只有在 $W$ 正交时才保持。)
- 一个 $8\times8$ 块的全部 DCT 系数中,DC 系数是 $1024$,其余全部为零。画出/描述重建出的块的样子,并说出它的均值。(提示:$8\bar B=1024\Rightarrow\bar B=128$,重建是均匀灰块,灰度 128。)
