什么是线性变换?
线性变换(Linear Transformation)是一种数学变换,用于将一个向量空间中的向量映射到另一个向量空间,同时保持加法和标量乘法的性质。这是线性代数中的核心概念之一,在机器学习、深度学习和计算机图形学等领域具有重要应用。
简单来说,线性变换可以通过矩阵乘法来表示,它的作用通常是对向量进行缩放、旋转或投影等操作。
线性变换的定义
给定两个向量空间 V V V 和 W W W,一个映射 T T T 是线性变换,当且仅当满足以下两个条件:
-
加法封闭性:
对于 u , v ∈ V \mathbf{u}, \mathbf{v} \in V u,v∈V,有:
T ( u + v ) = T ( u ) + T ( v ) T(\mathbf{u} + \mathbf{v}) = T(\mathbf{u}) + T(\mathbf{v}) T(u+v)=T(u)+T(v) -
标量乘法封闭性:
对于 u ∈ V \mathbf{u} \in V u∈V 和任意标量 c ∈ R c \in \mathbb{R} c∈R,有:
T ( c u ) = c T ( u ) T(c \mathbf{u}) = c T(\mathbf{u}) T(cu)=cT(u)
如果映射 T T T 满足上述两个条件,则 T T T 是一个线性变换。
线性变换的矩阵表示
在实际应用中,线性变换通常表示为矩阵
A
A
A 作用于向量
x
\mathbf{x}
x:
T
(
x
)
=
A
x
T(\mathbf{x}) = A \mathbf{x}
T(x)=Ax
其中:
- x ∈ R n \mathbf{x} \in \mathbb{R}^n x∈Rn 是输入向量。
- T ( x ) ∈ R m T(\mathbf{x}) \in \mathbb{R}^m T(x)∈Rm 是输出向量。
- A ∈ R m × n A \in \mathbb{R}^{m \times n} A∈Rm×n 是线性变换矩阵。
矩阵 A A A 决定了线性变换的具体性质,例如是否是缩放、旋转或投影。
常见的线性变换
-
缩放(Scaling)
- 将向量的长度按比例放大或缩小,但保持方向不变。
- 矩阵形式:
A = [ s x 0 0 s y ] A = \begin{bmatrix} s_x & 0 \\ 0 & s_y \end{bmatrix} A=[sx00sy] - 示例:
T ( x ) = [ 2 0 0 3 ] [ x 1 x 2 ] = [ 2 x 1 3 x 2 ] T(\mathbf{x}) = \begin{bmatrix} 2 & 0 \\ 0 & 3 \end{bmatrix} \begin{bmatrix} x_1 \\ x_2 \end{bmatrix} = \begin{bmatrix} 2x_1 \\ 3x_2 \end{bmatrix} T(x)=[2003][x1x2]=[2x13x2]
-
旋转(Rotation)
- 将向量绕原点旋转一定角度。
- 矩阵形式(以 2D 为例):
A = [ cos θ − sin θ sin θ cos θ ] A = \begin{bmatrix} \cos\theta & -\sin\theta \\ \sin\theta & \cos\theta \end{bmatrix} A=[cosθsinθ−sinθcosθ] - 示例:
将向量 x = [ 1 , 0 ] ⊤ \mathbf{x} = [1, 0]^\top x=[1,0]⊤ 逆时针旋转 90°:
A = [ 0 − 1 1 0 ] A = \begin{bmatrix} 0 & -1 \\ 1 & 0 \end{bmatrix} A=[01−10]
-
投影(Projection)
- 将向量投影到某个子空间上,例如一条直线或一个平面。
- 矩阵形式(投影到单位向量
n
\mathbf{n}
n 上):
A = n n ⊤ A = \mathbf{n} \mathbf{n}^\top A=nn⊤
-
反射(Reflection)
- 将向量关于某条直线或平面对称反射。
- 矩阵形式:
A = I − 2 n n ⊤ A = I - 2\mathbf{n}\mathbf{n}^\top A=I−2nn⊤
其中 n \mathbf{n} n 是反射平面的单位法向量。
-
剪切(Shear)
- 将向量沿某个方向倾斜。
- 矩阵形式(以 2D 为例):
A = [ 1 k 0 1 ] A = \begin{bmatrix} 1 & k \\ 0 & 1 \end{bmatrix} A=[10k1]
线性变换的性质
-
保持原点:
线性变换始终将原点 0 \mathbf{0} 0 映射到原点:
T ( 0 ) = A 0 = 0 T(\mathbf{0}) = A \mathbf{0} = \mathbf{0} T(0)=A0=0 -
保持直线性:
线性变换会将直线映射为直线。 -
组合性:
多个线性变换的组合仍然是一个线性变换。假设有两个变换 T 1 ( x ) = A 1 x T_1(\mathbf{x}) = A_1 \mathbf{x} T1(x)=A1x 和 T 2 ( x ) = A 2 x T_2(\mathbf{x}) = A_2 \mathbf{x} T2(x)=A2x,则组合变换 T 2 ( T 1 ( x ) ) T_2(T_1(\mathbf{x})) T2(T1(x)) 可以用矩阵乘法表示:
T 2 ( T 1 ( x ) ) = A 2 ( A 1 x ) = ( A 2 A 1 ) x T_2(T_1(\mathbf{x})) = A_2 (A_1 \mathbf{x}) = (A_2 A_1) \mathbf{x} T2(T1(x))=A2(A1x)=(A2A1)x -
可逆性:
如果矩阵 A A A 是非奇异的(即 det ( A ) ≠ 0 \det(A) \neq 0 det(A)=0),则线性变换是可逆的,且逆变换为:
T − 1 ( y ) = A − 1 y T^{-1}(\mathbf{y}) = A^{-1} \mathbf{y} T−1(y)=A−1y
线性变换与深度学习
在线性代数中,线性变换被用来描述矢量之间的映射。在深度学习中,线性变换扮演着重要角色:
-
全连接层:
全连接层本质上是一个线性变换,其形式为:
y = W x + b \mathbf{y} = \mathbf{W} \mathbf{x} + \mathbf{b} y=Wx+b
其中:- W \mathbf{W} W 是权重矩阵。
- b \mathbf{b} b 是偏置向量。
-
卷积操作:
卷积操作可以看作是线性变换在局部区域的应用。 -
特征提取:
在线性变换中,通过矩阵 A A A 的特性,可以提取输入数据的特定特征,例如主成分分析(PCA)中使用的线性映射。
总结
线性变换是将输入向量通过矩阵映射到另一个向量空间的数学操作。它具有以下特点:
- 矩阵乘法是其核心实现形式。
- 能够完成缩放、旋转、投影等操作。
- 在深度学习中,线性变换是全连接层、卷积层的数学基础。