机器学习线性代数--(11)特征向量与特征值:变换的“主轴”
从几何视角理解那些在变换中保持方向的特殊向量
在前几讲中,我们探索了线性变换如何拉伸、旋转、压缩空间。现在,让我们提出一个深刻的问题:对于一个给定的线性变换,是否存在一些向量,在变换后仅仅被拉伸或压缩,而不改变方向? 这些特殊的向量就是特征向量,而它们被拉伸的倍数就是对应的特征值。这个概念是理解变换本质的钥匙。
11.1 几何直觉:那些不旋转的向量
想象一个二维平面上的线性变换,比如一个剪切变换 [ 1 1 0 1 ] \begin{bmatrix}1&1\\0&1\end{bmatrix} [1011]。观察所有向量的变化:
- 大多数向量都会偏离原来的方向。
- 但有一些特殊的向量,比如 x x x 轴上的向量 [ 1 0 ] \begin{bmatrix}1\\0\end{bmatrix} [10],变换后仍是 [ 1 0 ] \begin{bmatrix}1\\0\end{bmatrix} [10],方向不变(长度也不变,特征值为1)。
再想象一个拉伸变换 [ 2 0 0 3 ] \begin{bmatrix}2&0\\0&3\end{bmatrix} [2003]:
- x x x 轴上的向量被拉伸2倍,方向不变。
- y y y 轴上的向量被拉伸3倍,方向不变。
- 其他方向的向量虽然方向改变,但可以分解为这两个方向的分量。
特征向量就是那些在变换中“幸存”方向的方向,它们构成了变换的“主轴”。整个变换的效果,可以理解为沿着这些主轴分别进行缩放。
11.2 数学定义:特征方程
设
A
A
A 是一个
n
×
n
n\times n
n×n 矩阵(代表一个线性变换)。如果存在一个非零向量
v
⃗
\vec{v}
v 和一个标量
λ
\lambda
λ,使得:
A
v
⃗
=
λ
v
⃗
A\vec{v} = \lambda \vec{v}
Av=λv
那么
v
⃗
\vec{v}
v 就是
A
A
A 的特征向量,
λ
\lambda
λ 是对应的特征值。
这个等式非常简洁:左边是变换后的向量,右边是原向量的缩放。它要求变换后的结果与原来共线(方向相同或相反)。
几何解读
- 如果 λ > 1 \lambda > 1 λ>1:向量被拉伸。
- 如果 0 < λ < 1 0 < \lambda < 1 0<λ<1:向量被压缩。
- 如果 λ = 0 \lambda = 0 λ=0:向量被压缩到原点(此时特征向量在零空间中)。
- 如果 λ < 0 \lambda < 0 λ<0:向量被翻转(方向相反),但仍保持在同一条直线上。
11.3 如何求解:从几何到代数
要求解特征值和特征向量,我们需要将方程
A
v
⃗
=
λ
v
⃗
A\vec{v} = \lambda \vec{v}
Av=λv 重写为:
A
v
⃗
−
λ
v
⃗
=
0
⃗
⇒
(
A
−
λ
I
)
v
⃗
=
0
⃗
A\vec{v} - \lambda \vec{v} = \vec{0} \quad \Rightarrow \quad (A - \lambda I)\vec{v} = \vec{0}
Av−λv=0⇒(A−λI)v=0
这里
I
I
I 是单位矩阵。这个方程要求存在非零向量
v
⃗
\vec{v}
v 被矩阵
A
−
λ
I
A - \lambda I
A−λI 映射到零。换句话说,
A
−
λ
I
A - \lambda I
A−λI 必须有一个非零的零空间,即它不可逆,因此行列式为零:
det
(
A
−
λ
I
)
=
0
\det(A - \lambda I) = 0
det(A−λI)=0
这个关于
λ
\lambda
λ 的方程称为特征多项式。解出
λ
\lambda
λ 后,再代入
(
A
−
λ
I
)
v
⃗
=
0
⃗
(A - \lambda I)\vec{v} = \vec{0}
(A−λI)v=0 求解
v
⃗
\vec{v}
v。
例子:
求矩阵 A = [ 2 1 1 2 ] A = \begin{bmatrix}2&1\\1&2\end{bmatrix} A=[2112] 的特征值和特征向量。
-
写出特征多项式:
det ( [ 2 − λ 1 1 2 − λ ] ) = ( 2 − λ ) 2 − 1 = λ 2 − 4 λ + 3 = ( λ − 1 ) ( λ − 3 ) = 0 \det\left(\begin{bmatrix}2-\lambda & 1 \\ 1 & 2-\lambda\end{bmatrix}\right) = (2-\lambda)^2 - 1 = \lambda^2 - 4\lambda + 3 = (\lambda - 1)(\lambda - 3) = 0 det([2−λ112−λ])=(2−λ)2−1=λ2−4λ+3=(λ−1)(λ−3)=0
所以特征值 λ 1 = 1 \lambda_1 = 1 λ1=1, λ 2 = 3 \lambda_2 = 3 λ2=3。 -
对于 λ 1 = 1 \lambda_1 = 1 λ1=1:
A − I = [ 1 1 1 1 ] A - I = \begin{bmatrix}1&1\\1&1\end{bmatrix} A−I=[1111]
解 ( A − I ) v ⃗ = 0 ⃗ (A - I)\vec{v} = \vec{0} (A−I)v=0 得 x + y = 0 x + y = 0 x+y=0,所以特征向量为 [ 1 − 1 ] \begin{bmatrix}1\\-1\end{bmatrix} [1−1] 方向的所有向量。 -
对于 λ 2 = 3 \lambda_2 = 3 λ2=3:
A − 3 I = [ − 1 1 1 − 1 ] A - 3I = \begin{bmatrix}-1&1\\1&-1\end{bmatrix} A−3I=[−111−1]
解 ( A − 3 I ) v ⃗ = 0 ⃗ (A - 3I)\vec{v} = \vec{0} (A−3I)v=0 得 − x + y = 0 -x + y = 0 −x+y=0,即 x = y x = y x=y,所以特征向量为 [ 1 1 ] \begin{bmatrix}1\\1\end{bmatrix} [11] 方向的所有向量。
几何意义:这个变换沿着对角线方向 y = x y=x y=x 拉伸3倍,沿着反对角线方向 y = − x y=-x y=−x 保持不变(拉伸1倍)。
11.4 特征基:对角化的思想
如果一组特征向量能够构成空间的一组基(即它们线性无关且张成整个空间),那么在这组基下观察这个变换会极其简单。在这组特征基下,变换矩阵是一个对角矩阵,对角线上的元素就是对应的特征值。
为什么对角化这么重要?
- 计算幂 A k A^k Ak 变得简单:只需将每个特征值取 k k k 次幂。
- 解微分方程组 d x ⃗ d t = A x ⃗ \frac{d\vec{x}}{dt} = A\vec{x} dtdx=Ax 时,对角化将系统解耦成独立的一维方程。
- 理解变换的长期行为(如 Markov 链的稳态)。
如何实现对角化?
设
P
P
P 是以特征向量为列的矩阵(基变换矩阵),那么:
A
=
P
D
P
−
1
A = P D P^{-1}
A=PDP−1
其中
D
D
D 是对角矩阵,对角线为特征值。这正是上一讲的相似变换:
P
−
1
A
P
=
D
P^{-1}AP = D
P−1AP=D。
11.5 特征值可能的情况
- 实特征值:对应拉伸/压缩/翻转。
- 复特征值:对应旋转(如旋转90°的矩阵 [ 0 − 1 1 0 ] \begin{bmatrix}0&-1\\1&0\end{bmatrix} [01−10] 没有实特征值,因为没有任何向量在旋转后保持方向)。
- 重特征值:可能对应多个线性无关的特征向量(如恒等变换),也可能对应不足的个数(如剪切变换 [ 1 1 0 1 ] \begin{bmatrix}1&1\\0&1\end{bmatrix} [1011] 只有一个特征向量方向)。
例子:旋转矩阵
旋转90°的矩阵 R = [ 0 − 1 1 0 ] R = \begin{bmatrix}0&-1\\1&0\end{bmatrix} R=[01−10],特征多项式 λ 2 + 1 = 0 \lambda^2 + 1 = 0 λ2+1=0,特征值 ± i \pm i ±i。没有实特征向量,几何上这很合理:没有任何向量在旋转90°后保持方向。
11.6 总结
- 特征向量:变换后方向不变的向量。
- 特征值:变换后向量被拉伸的倍数。
- 特征方程: det ( A − λ I ) = 0 \det(A - \lambda I) = 0 det(A−λI)=0 求解特征值,再解 ( A − λ I ) v ⃗ = 0 ⃗ (A - \lambda I)\vec{v} = \vec{0} (A−λI)v=0 求特征向量。
- 特征基:如果特征向量构成一组基,变换在该基下是对角矩阵,大大简化计算和理解。
- 几何意义:特征向量揭示了变换的“主轴”方向,整个变换就是沿着这些轴分别缩放。
当你面对一个矩阵时,不妨问问自己:这个变换会让哪些方向保持不变?找到这些方向,你就抓住了变换的灵魂。特征值和特征向量是理解线性变换动态行为的核心工具,在物理学、工程学、数据科学(如主成分分析 PCA)中无处不在。
DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐


所有评论(0)