机器学习数学基础 120 章

线性变换与仿射变换

层级:A|必学

1. 矩阵真正代表的是变换

把矩阵只当数字表,会让矩阵乘法显得人为。把它看成空间之间的函数,旋转、缩放、投影、降维和全连接层便具有统一形式。线性变换保持线性组合,仿射变换在线性变换后再平移。

2. 线性变换的定义

映射 T:RnRmT:\mathbb R^n\to\mathbb R^m 若对任意向量 x,yx,y 和标量 a,ba,b 满足

T(ax+by)=aT(x)+bT(y),T(ax+by)=aT(x)+bT(y),

则为线性变换。等价地,它同时保持加法与数乘:

T(x+y)=T(x)+T(y),T(cx)=cT(x).T(x+y)=T(x)+T(y), \qquad T(cx)=cT(x).

c=0c=0 可得所有线性变换必须满足

T(0)=0.T(0)=0.

所以不把原点映射到原点的变换不是线性的。

3. 每个有限维线性变换都有矩阵表示

在标准基下,令矩阵 AA 的第 jj 列为 T(ej)T(e_j)

A=[T(e1)  T(en)].A=[T(e_1)\ \cdots\ T(e_n)].

任意 x=jxjejx=\sum_jx_je_j,由线性性

T(x)=jxjT(ej)=Ax.T(x)=\sum_jx_jT(e_j)=Ax.

因此理解矩阵各列,就是理解变换如何作用于坐标轴基向量。

4. 典型二维变换

缩放

A=[sx00sy].A=\begin{bmatrix}s_x&0\\0&s_y\end{bmatrix}.

沿两个坐标方向分别缩放。

旋转

R(θ)=[cosθsinθsinθcosθ].R(\theta)= \begin{bmatrix} \cos\theta&-\sin\theta\\ \sin\theta&\cos\theta \end{bmatrix}.

它保持长度和夹角,且 RTR=IR^TR=I

反射

[1001]\begin{bmatrix}1&0\\0&-1\end{bmatrix}

关于横轴反射。

投影到横轴

P=[1000].P=\begin{bmatrix}1&0\\0&0\end{bmatrix}.

它丢掉第二维,不可逆,且 P2=PP^2=P

剪切

[1k01]\begin{bmatrix}1&k\\0&1\end{bmatrix}

把横坐标按纵坐标平移,保持面积但改变夹角。

5. 核与像

线性变换的核是

kerT={x:T(x)=0}=Null(A),\ker T=\{x:T(x)=0\}=\operatorname{Null}(A),

像是

ImT={T(x):xRn}=Col(A).\operatorname{Im}T=\{T(x):x\in\mathbb R^n\} =\operatorname{Col}(A).

核描述被完全丢掉的方向,像描述可达到的输出。线性变换一一对应当且仅当核只有零向量;覆盖整个输出空间当且仅当像等于 Rm\mathbb R^m

6. 变换复合

若先用 BB,再用 AA

TA(TB(x))=A(Bx)=(AB)x.T_A(T_B(x))=A(Bx)=(AB)x.

所以矩阵乘法顺序从右到左。不同变换通常不交换,例如先投影再旋转与先旋转再投影结果不同。

7. 仿射变换

f(x)=Ax+bf(x)=Ax+b

称为仿射变换。它在线性变换后加平移 bb,一般 f(0)=b0f(0)=b\ne0,所以严格说不线性。

仿射变换保持仿射组合:若 ici=1\sum_ic_i=1

f(icixi)=icif(xi).f\left(\sum_ic_ix_i\right)=\sum_ic_if(x_i).

它把直线映为直线、平行线映为平行线,并保持点之间的比例,但不一定保持长度和角度。

8. 用增广坐标合并偏置

定义

x~=[x1],A~=[Ab],\tilde x=\begin{bmatrix}x\\1\end{bmatrix}, \qquad \tilde A=\begin{bmatrix}A&b\end{bmatrix},

Ax+b=A~x~.Ax+b=\tilde A\tilde x.

在更完整的齐次坐标中还可把仿射变换写成方阵。这解释了为何线性模型常把截距视为恒为 1 的特征,但正则化时通常不惩罚该偏置坐标。

9. 神经网络层

全连接层先做仿射变换

z=Wx+b,z=Wx+b,

再做非线性激活

h=ϕ(z).h=\phi(z).

若多层之间没有非线性,

W2(W1x+b1)+b2=(W2W1)x+(W2b1+b2),W_2(W_1x+b_1)+b_2 =(W_2W_1)x+(W_2b_1+b_2),

仍只是一个仿射变换。无论叠多少层,表达能力都不会超越单层仿射模型,因此激活函数不可缺少。

10. 特征变换与模型线性

模型

f(x)=wTϕ(x)+bf(x)=w^T\phi(x)+b

对特征映射后的表示 ϕ(x)\phi(x) 是线性的,但对原始 xx 可以是非线性的。例如 ϕ(x)=(x,x2)T\phi(x)=(x,x^2)^T 可拟合二次曲线。所谓“线性模型”通常指对参数或所选特征线性,需要看语境。

11. 数据中心化与标准化

中心化 xxμx\mapsto x-\mu 是仿射变换;逐特征标准化

xD1(xμ)x\mapsto D^{-1}(x-\mu)

也是仿射变换,其中 DD 为尺度对角矩阵。PCA 一般先中心化,因为它寻找围绕均值的线性子空间。

易错点

  1. Ax+bAx+b 有偏置时严格说是仿射,不是线性。
  2. 线性变换必须把零映到零,但这不是充分条件。
  3. 矩阵列是基向量的像,行则给出输出坐标的线性函数。
  4. 多层纯线性网络仍是单个线性/仿射变换。
  5. 不可逆变换丢失信息,无法从输出唯一恢复输入。

常见问答

Q1:逻辑回归为什么被叫线性模型?

它的 log-odds 对输入是仿射函数,决策边界是超平面;最终概率经过 Sigmoid,整体函数并非严格线性。

Q2:卷积也是线性变换吗?

固定卷积核、不加激活时是线性变换;加偏置后是仿射。卷积利用稀疏连接与参数共享形成特殊矩阵结构。

Q3:标准化是否可逆?

若所有尺度非零且保存均值与尺度,则可逆;零方差特征会造成不可逆或需要特殊处理。

练习

  1. 判断 T(x)=2x+3T(x)=2x+3 是否为从 R\mathbb RR\mathbb R 的线性变换。
  2. 写出把二维向量横坐标扩大 3 倍、纵坐标缩小一半的矩阵。
  3. 矩阵 P=diag(1,0)P=\operatorname{diag}(1,0) 的核与像分别是什么?
  4. 证明两个仿射变换的复合仍是仿射变换。
  5. 解释没有激活的三层全连接网络为何可合并。

答案与提示

  1. 不是,T(0)=30T(0)=3\ne0;它是仿射变换。
  2. diag(3,1/2)\operatorname{diag}(3,1/2)
  3. 核为纵轴,像为横轴。
  4. A2(A1x+b1)+b2=(A2A1)x+(A2b1+b2)A_2(A_1x+b_1)+b_2=(A_2A_1)x+(A_2b_1+b_2)
  5. 连续矩阵乘积和偏置组合仍可写成单个 Wx+bWx+b