← 返回《人工智能数学基础》
📑 查看全课大纲(第 76 / 93 节)
  1. 1.概论和集合的定义
  2. 2.逼疯康托的实数集理论
  3. 3.常用不等式与映射
  4. 4.函数及特殊函数
  5. 5.序列极限的定义
  6. 6.序列极限的性质与夹逼定理
  7. 7.重要极限
  8. 8.无穷小量,无穷大量和一组重要的阶的比较关系
  9. 9.聚点原理
  10. 10.函数极限及其性质
  11. 11.重要极限与等价无穷小
  12. 12.连续函数
  13. 13.导数的概念(那些年,扛起牛顿的胡克)
  14. 14.定义法求导
  15. 15.函数四则运算的导数与反函数求导法则
  16. 16.复合函数,隐函数,参数式求导
  17. 17.不定式求导之“洛必达与伯努利的师生情”
  18. 18.一阶微分
  19. 19.高阶导数
  20. 20.高阶微分
  21. 21.罗尔中值定理与拉格朗日中值定理
  22. 22.柯西空降科学院遭排挤
  23. 23.泰勒公式与泰勒的克妻属性
  24. 24.利用泰勒展开唯一性定理计算泰勒展开
  25. 25.泰勒公式的余项估计
  26. 26.极值问题与导数
  27. 27.函数凹凸性
  28. 28.无卵用的渐近线与函数作图
  29. 29.不定积分的定义
  30. 30.第一换元法
  31. 31.第二换元法
  32. 32.分部积分法
  33. 33.有理式积分
  34. 34.三角替换
  35. 35.定积分的概念
  36. 36.定积分的性质与积分中值定理
  37. 37.变上限定积分
  38. 38.微积分基本定理之“高斯教你如何优雅地装逼”
  39. 39.定积分的换元法
  40. 40.奇偶函数与周期函数的定积分
  41. 41.曲线求长与不可求长曲线(海岸线居然算不出长度?)
  42. 42.旋转体体积
  43. 43.旋转体侧面积
  44. 44.极坐标下图形的面积(数学系常用表白曲线)
  45. 45.欧式空间
  46. 46.点列极限,开集与闭集
  47. 47.多元函数的定义
  48. 48.多元函数的极限
  49. 49.多元连续函数
  50. 50.一阶偏导数
  51. 51.高阶偏导数
  52. 52.全微分
  53. 53.方向导数与梯度
  54. 54.链式法则
  55. 55.一阶全微分形式的不变性与高阶微分
  56. 56.多元函数的泰勒公式
  57. 57.隐函数存在定理与逆映射存在定理
  58. 58.多元函数的极值
  59. 59.矩阵基础知识
  60. 60.行列式的定义与特殊矩阵的行列式
  61. 61.行列式的性质
  62. 62.行列式按k行展开
  63. 63.线性方程组初步与高斯消元法
  64. 64.齐次线性方程组与Cramer法则
  65. 65.线性空间
  66. 66.线性相关与线性无关
  67. 67.向量组的秩
  68. 68.矩阵的秩与线性方程组有解的充要条件
  69. 69.齐次线性方程组的解集结构
  70. 70.非齐次线性方程组解集结构
  71. 71.基与维数
  72. 72.矩阵的乘法
  73. 73.特殊矩阵
  74. 74.矩阵乘积的秩与行列式
  75. 75.矩阵的逆
  76. 76.正交矩阵
  77. 77.矩阵对角化与特征值特征向量
  78. 78.实对称矩阵对角化
  79. 79.二次型与正定矩阵
  80. 80.LU分解
  81. 81.Cholesky分解
  82. 82.SVD分解
  83. 83.线搜索
  84. 84.步长
  85. 85.最速下降法和牛顿法
  86. 86.共轭梯度法
  87. 87.拟牛顿法
  88. 88.无约束优化
  89. 89.若干知识点补充(一)
  90. 90.若干知识点补充(二)
  91. 91.凸优化问题
  92. 92.对偶问题(一)
  93. 93.对偶问题(二)

正交矩阵

约 36 分钟

📺 正在播放小象官方高清录播(支持倍速与清晰度调节)

正交矩阵

小象实战讲义 · 人工智能数学基础

在人工智能的诸多算法中,例如主成分分析(PCA)和奇异值分解(SVD),我们常常需要处理一组“完美”的基向量:它们不仅线性无关,而且两两垂直且长度为1。这种基被称为标准正交基。本节我们将学习一种特殊的矩阵——正交矩阵,它的行(或列)向量组恰好构成一组标准正交基。正交矩阵在几何上代表旋转、反射等保长度变换,在计算上具有极佳的数值稳定性。掌握正交矩阵的性质及其构造方法(施密特正交化),是理解后续线性代数高级概念和算法的基础。

💡 核心导读

本节你将掌握:

  1. 正交矩阵的定义与性质:理解 ATA=IA^TA = I 的几何与代数含义,掌握正交矩阵的行列式、可逆性等核心性质。
  2. 正交矩阵与标准正交基的等价关系:认识到正交矩阵的本质是其行(或列)向量构成一组标准正交基。
  3. 内积、正交与正交向量组:回顾欧几里得空间中的内积定义,理解正交(垂直)的代数定义,并证明正交向量组必线性无关。
  4. 施密特正交化方法:学习如何将一组线性无关的向量,通过逐步投影和减法,构造为一组两两正交的向量(正交基),进而单位化得到标准正交基。

正交矩阵:定义与基本性质

在实数域上,一个 n×nn \times n 的方阵 AA,如果满足其转置矩阵等于其逆矩阵,即: ATA=InA^T A = I_n 其中 InI_nnn 阶单位矩阵,则称 AA 为一个正交矩阵

这个定义等价于 AAT=InA A^T = I_n,也等价于 A1=ATA^{-1} = A^T

一个经典的例子是二维旋转矩阵: R(θ)=[cosθsinθsinθcosθ]R(\theta) = \begin{bmatrix} \cos\theta & -\sin\theta \ \sin\theta & \cos\theta \end{bmatrix} 容易验证 R(θ)TR(θ)=I2R(\theta)^T R(\theta) = I_2。从几何上看,左乘 R(θ)R(\theta) 的作用是将任意二维向量逆时针旋转 θ\theta 角度,且不改变向量的长度。这正是正交矩阵在几何上的一种重要表现。

正交矩阵具有以下基本性质:

  1. 可逆性:由 ATA=IA^TA=I 可知 det(ATA)=det(I)=1\det(A^TA) = \det(I) = 1。又因为 det(ATA)=det(AT)det(A)=[det(A)]2\det(A^TA) = \det(A^T)\det(A) = [\det(A)]^2,所以 [det(A)]2=1[\det(A)]^2 = 1,即 det(A)=±10\det(A) = \pm 1 \neq 0。行列式非零,故 AA 可逆。
  2. 逆等于转置:由定义 ATA=IA^TA=I 直接可得 A1=ATA^{-1} = A^T
  3. 转置与逆也是正交矩阵:若 AA 正交,则 ATA^TA1A^{-1} 也是正交矩阵。因为 (AT)TAT=AAT=I(A^T)^T A^T = A A^T = I,且 (A1)TA1=(AT)TA1=AA1=I(A^{-1})^T A^{-1} = (A^T)^T A^{-1} = A A^{-1} = I
  4. 行列式为 ±1:已在性质1中证明。
  5. 乘法封闭性:若 AABB 都是 nn 阶正交矩阵,则 ABAB 也是正交矩阵。 证明(AB)T(AB)=BTATAB=BTIB=BTB=I(AB)^T (AB) = B^T A^T A B = B^T I B = B^T B = I

内积、正交与标准正交基

为了深入理解正交矩阵,我们需要回到向量空间的基本概念。

标准内积与正交

Rn\mathbb{R}^n 空间中,对于向量 α=(a1,,an)T\boldsymbol{\alpha} = (a_1, \dots, a_n)^Tβ=(b1,,bn)T\boldsymbol{\beta} = (b_1, \dots, b_n)^T,定义它们的标准内积(点积)为: α,β=αTβ=i=1naibi\langle \boldsymbol{\alpha}, \boldsymbol{\beta} \rangle = \boldsymbol{\alpha}^T \boldsymbol{\beta} = \sum_{i=1}^{n} a_i b_i 配备了标准内积的 Rn\mathbb{R}^n 空间称为欧几里得空间(欧氏空间)。内积具有对称性、线性性和正定性。

基于内积,我们可以定义:

  • 向量长度(模)α=α,α|\boldsymbol{\alpha}| = \sqrt{\langle \boldsymbol{\alpha}, \boldsymbol{\alpha} \rangle}
  • 单位向量:长度为1的向量。
  • 正交(垂直):若 α,β=0\langle \boldsymbol{\alpha}, \boldsymbol{\beta} \rangle = 0,则称 α\boldsymbol{\alpha}β\boldsymbol{\beta} 正交,记作 αβ\boldsymbol{\alpha} \perp \boldsymbol{\beta}。零向量与任何向量正交。

在二维/三维空间中,两向量夹角 θ\theta 的余弦满足 cosθ=α,βαβ\cos\theta = \frac{\langle \boldsymbol{\alpha}, \boldsymbol{\beta} \rangle}{|\boldsymbol{\alpha}||\boldsymbol{\beta}|}。因此,α,β=0\langle \boldsymbol{\alpha}, \boldsymbol{\beta} \rangle = 0 等价于 θ=90\theta = 90^\circ,这与我们几何上的垂直概念一致。“正交”是“垂直”在高维空间中的代数推广。

正交向量组与标准正交基

如果一个向量组 α1,α2,,αs\boldsymbol{\alpha}_1, \boldsymbol{\alpha}_2, \dots, \boldsymbol{\alpha}_s 中任意两个不同向量都正交,则称其为正交向量组。如果正交向量组中的每个向量都是单位向量,则称其为单位正交向量组标准正交向量组

重要定理:不含零向量的正交向量组一定是线性无关的。 证明:设 α1,,αs\boldsymbol{\alpha}_1, \dots, \boldsymbol{\alpha}_s 是正交向量组,且存在一组数 k1,,ksk_1, \dots, k_s 使得: k1α1+k2α2++ksαs=0k_1 \boldsymbol{\alpha}_1 + k_2 \boldsymbol{\alpha}_2 + \dots + k_s \boldsymbol{\alpha}_s = \boldsymbol{0}αi\boldsymbol{\alpha}_i (i=1,,s)(i=1,\dots,s) 与上式两边做内积: k1α1++ksαs,αi=0,αi=0\langle k_1 \boldsymbol{\alpha}_1 + \dots + k_s \boldsymbol{\alpha}_s, \boldsymbol{\alpha}_i \rangle = \langle \boldsymbol{0}, \boldsymbol{\alpha}_i \rangle = 0 由内积的线性性及正交性(αj,αi=0,ji\langle \boldsymbol{\alpha}_j, \boldsymbol{\alpha}_i \rangle = 0, j \neq i)可得: kiαi,αi=0k_i \langle \boldsymbol{\alpha}_i, \boldsymbol{\alpha}_i \rangle = 0 由于 αi0\boldsymbol{\alpha}_i \neq \boldsymbol{0},由正定性知 αi,αi>0\langle \boldsymbol{\alpha}_i, \boldsymbol{\alpha}_i \rangle > 0,因此必有 ki=0k_i = 0。这对所有 ii 都成立,故向量组线性无关。

Rn\mathbb{R}^n 中,由 nn 个向量构成的正交向量组称为正交基;由 nn 个单位向量构成的正交基称为标准正交基。 最经典的标准正交基是自然基 ϵ1=(1,0,,0)T,ϵ2=(0,1,,0)T,,ϵn=(0,0,,1)T\boldsymbol{\epsilon}_1 = (1,0,\dots,0)^T, \boldsymbol{\epsilon}_2 = (0,1,\dots,0)^T, \dots, \boldsymbol{\epsilon}_n = (0,0,\dots,1)^T

正交矩阵的本质

现在我们可以揭示正交矩阵的几何本质:

定理:实数域上的 nn 阶矩阵 AA 是正交矩阵的充要条件是,AA 的列向量组(或行向量组)构成 Rn\mathbb{R}^n 的一组标准正交基。

说明:将 AA 按列分块为 A=[a1,a2,,an]A = [\boldsymbol{a}_1, \boldsymbol{a}_2, \dots, \boldsymbol{a}_n]。则 ATA=IA^TA = I 等价于: [a1Ta2TanT][a1,a2,,an]=[a1,a1a1,a2a1,ana2,a1a2,a2a2,anan,a1an,a2an,an]=In\begin{bmatrix} \boldsymbol{a}_1^T \ \boldsymbol{a}_2^T \ \vdots \ \boldsymbol{a}_n^T \end{bmatrix} [\boldsymbol{a}_1, \boldsymbol{a}_2, \dots, \boldsymbol{a}_n] = \begin{bmatrix} \langle \boldsymbol{a}_1, \boldsymbol{a}_1 \rangle & \langle \boldsymbol{a}_1, \boldsymbol{a}_2 \rangle & \dots & \langle \boldsymbol{a}_1, \boldsymbol{a}_n \rangle \ \langle \boldsymbol{a}_2, \boldsymbol{a}_1 \rangle & \langle \boldsymbol{a}_2, \boldsymbol{a}_2 \rangle & \dots & \langle \boldsymbol{a}_2, \boldsymbol{a}_n \rangle \ \vdots & \vdots & \ddots & \vdots \ \langle \boldsymbol{a}_n, \boldsymbol{a}_1 \rangle & \langle \boldsymbol{a}_n, \boldsymbol{a}_2 \rangle & \dots & \langle \boldsymbol{a}_n, \boldsymbol{a}_n \rangle \end{bmatrix} = I_n 这意味着:

  • ai,ai=1\langle \boldsymbol{a}_i, \boldsymbol{a}_i \rangle = 1,即每个列向量都是单位向量(标准)。
  • ai,aj=0 (ij)\langle \boldsymbol{a}_i, \boldsymbol{a}_j \rangle = 0 \ (i \neq j),即不同列向量两两正交(正交)。 因此,列向量组是一组标准正交基。对行向量组的讨论类似。

回忆一下,可逆矩阵的列向量组是 Rn\mathbb{R}^n 的一组基(仅要求线性无关)。正交矩阵比可逆矩阵更强,它要求这组基不仅是基,还必须是标准正交基。

施密特正交化:构造标准正交基

在实际问题中,我们常常得到一组线性无关的向量 α1,,αs\boldsymbol{\alpha}_1, \dots, \boldsymbol{\alpha}_s(例如从数据中提取的特征方向),但它们可能并不正交。如何将它们改造为一组等价的正交基 β1,,βs\boldsymbol{\beta}_1, \dots, \boldsymbol{\beta}_s,进而得到标准正交基?施密特正交化(Gram-Schmidt Process)提供了系统的方法。

其核心思想是逐步投影与修正。我们从第一个向量开始,确保新向量与之前所有已构造的正交向量都正交。

算法步骤

α1,,αs\boldsymbol{\alpha}_1, \dots, \boldsymbol{\alpha}_s 线性无关。

  1. 取第一个向量:令 β1=α1\boldsymbol{\beta}_1 = \boldsymbol{\alpha}_1
  2. 构造第二个正交向量:将 α2\boldsymbol{\alpha}_2 分解为平行于 β1\boldsymbol{\beta}_1 的分量(投影)和垂直于 β1\boldsymbol{\beta}_1 的分量。取垂直分量作为 β2\boldsymbol{\beta}_2β2=α2α2,β1β1,β1β1\boldsymbol{\beta}_2 = \boldsymbol{\alpha}_2 - \frac{\langle \boldsymbol{\alpha}_2, \boldsymbol{\beta}_1 \rangle}{\langle \boldsymbol{\beta}_1, \boldsymbol{\beta}_1 \rangle} \boldsymbol{\beta}_1 容易验证 β2,β1=0\langle \boldsymbol{\beta}_2, \boldsymbol{\beta}_1 \rangle = 0
  3. 迭代进行:对于 k=3,,sk = 3, \dots, s,从 αk\boldsymbol{\alpha}_k 中减去它在所有已构造的正交向量 β1,,βk1\boldsymbol{\beta}1, \dots, \boldsymbol{\beta}{k-1} 上的投影。 βk=αkj=1k1αk,βjβj,βjβj\boldsymbol{\beta}_k = \boldsymbol{\alpha}k - \sum{j=1}^{k-1} \frac{\langle \boldsymbol{\alpha}_k, \boldsymbol{\beta}_j \rangle}{\langle \boldsymbol{\beta}_j, \boldsymbol{\beta}_j \rangle} \boldsymbol{\beta}_j 这样得到的 βk\boldsymbol{\beta}_k 与所有 β1,,βk1\boldsymbol{\beta}1, \dots, \boldsymbol{\beta}{k-1} 都正交。
  4. 单位化(得到标准正交基):对每个 βi\boldsymbol{\beta}_i,令 ηi=βiβi\boldsymbol{\eta}_i = \frac{\boldsymbol{\beta}_i}{|\boldsymbol{\beta}_i|},则 η1,,ηs\boldsymbol{\eta}_1, \dots, \boldsymbol{\eta}_s 构成一组标准正交基,且与原始向量组 α1,,αs\boldsymbol{\alpha}_1, \dots, \boldsymbol{\alpha}_s 等价(张成同一个子空间)。

示例

将向量组 α1=(2,1,0)T,α2=(2,0,1)T\boldsymbol{\alpha}_1 = (2, -1, 0)^T, \boldsymbol{\alpha}_2 = (2, 0, 1)^T 正交化并单位化。

  1. 正交化:
    • β1=α1=(2,1,0)T\boldsymbol{\beta}_1 = \boldsymbol{\alpha}_1 = (2, -1, 0)^T
    • β2=α2α2,β1β1,β1β1=(2,0,1)T45(2,1,0)T=(25,45,1)T\boldsymbol{\beta}_2 = \boldsymbol{\alpha}_2 - \frac{\langle \boldsymbol{\alpha}_2, \boldsymbol{\beta}_1 \rangle}{\langle \boldsymbol{\beta}_1, \boldsymbol{\beta}_1 \rangle} \boldsymbol{\beta}_1 = (2,0,1)^T - \frac{4}{5}(2,-1,0)^T = (\frac{2}{5}, \frac{4}{5}, 1)^T
  2. 单位化:
    • β1=5|\boldsymbol{\beta}_1| = \sqrt{5},故 η1=15(2,1,0)T\boldsymbol{\eta}_1 = \frac{1}{\sqrt{5}}(2, -1, 0)^T
    • β2=(25)2+(45)2+12=4525=355|\boldsymbol{\beta}_2| = \sqrt{(\frac{2}{5})^2 + (\frac{4}{5})^2 + 1^2} = \sqrt{\frac{45}{25}} = \frac{3\sqrt{5}}{5},故 η2=535(25,45,1)T=(235,435,53)T\boldsymbol{\eta}_2 = \frac{5}{3\sqrt{5}}(\frac{2}{5}, \frac{4}{5}, 1)^T = (\frac{2}{3\sqrt{5}}, \frac{4}{3\sqrt{5}}, \frac{\sqrt{5}}{3})^T

η1,η2\boldsymbol{\eta}_1, \boldsymbol{\eta}_2 即为所求的标准正交向量组。

import numpy as np

# 定义原始向量组
alpha1 = np.array([2, -1, 0])
alpha2 = np.array([2, 0, 1])

# 施密特正交化
beta1 = alpha1.copy()
# 计算 alpha2 在 beta1 上的投影系数
proj_coef = np.dot(alpha2, beta1) / np.dot(beta1, beta1)
beta2 = alpha2 - proj_coef * beta1

print("正交化结果:")
print(f"β1 = {beta1}")
print(f"β2 = {beta2}")
print(f"验证正交性 (β1·β2): {np.dot(beta1, beta2):.6f}") # 应接近0

# 单位化
eta1 = beta1 / np.linalg.norm(beta1)
eta2 = beta2 / np.linalg.norm(beta2)

print("\n单位化结果(标准正交基):")
print(f"η1 = {eta1}")
print(f"η2 = {eta2}")
print(f"验证单位长度: ||η1|| = {np.linalg.norm(eta1):.6f}, ||η2|| = {np.linalg.norm(eta2):.6f}")
print(f"验证正交性 (η1·η2): {np.dot(eta1, eta2):.6f}")

# 使用numpy的QR分解验证(Q的列是标准正交基)
A = np.column_stack((alpha1, alpha2))
Q, R = np.linalg.qr(A, mode='reduced') # 经济型QR分解
print("\n使用NumPy QR分解验证(Q的列向量):")
print(f"Q = \n{Q}")
print("(注意:QR分解得到的Q列向量可能与手动计算差一个符号,这仍是标准正交基)")

📝 动手练一练

  1. 判断与验证:判断矩阵 A=13[212221122]A = \frac{1}{3}\begin{bmatrix} 2 & 1 & 2 \ -2 & 2 & 1 \ -1 & -2 & 2 \end{bmatrix} 是否为正交矩阵。如果是,它的行列式是多少?它代表什么类型的几何变换(旋转或反射)? 参考答案:计算 ATAA^TA 或验证其列向量是否为单位向量且两两正交。经计算,ATA=I3A^TA = I_3,故为正交矩阵。其行列式 det(A)=1\det(A) = 1(可通过计算验证),因此它代表一个旋转变换。

  2. 施密特正交化:对 R3\mathbb{R}^3 中的向量组 v1=(1,1,0)T,v2=(1,0,1)T\boldsymbol{v}_1 = (1, 1, 0)^T, \boldsymbol{v}_2 = (1, 0, 1)^T 进行施密特正交化,并给出对应的标准正交基。 参考答案

    • 正交化:u1=(1,1,0)T\boldsymbol{u}_1 = (1,1,0)^Tu2=(1,0,1)T12(1,1,0)T=(12,12,1)T\boldsymbol{u}_2 = (1,0,1)^T - \frac{1}{2}(1,1,0)^T = (\frac{1}{2}, -\frac{1}{2}, 1)^T
    • 单位化:e1=12(1,1,0)T\boldsymbol{e}_1 = \frac{1}{\sqrt{2}}(1,1,0)^Te2=63(12,12,1)T=(66,66,63)T\boldsymbol{e}_2 = \frac{\sqrt{6}}{3}(\frac{1}{2}, -\frac{1}{2}, 1)^T = (\frac{\sqrt{6}}{6}, -\frac{\sqrt{6}}{6}, \frac{\sqrt{6}}{3})^T

本章小结

本节我们深入探讨了线性代数中一个结构“优美”且应用广泛的对象——正交矩阵。

要点回顾

  • 正交矩阵定义为满足 ATA=IA^TA = I 的方阵,等价于 A1=ATA^{-1} = A^T。其行列式为 ±1。
  • 几何意义:正交矩阵对应欧氏空间中的保距变换(旋转或反射),不改变向量的长度和夹角。
  • 代数本质:正交矩阵的列(或行)向量组构成 Rn\mathbb{R}^n 的一组标准正交基。这比可逆矩阵(仅要求列向量组是基)条件更强。
  • 正交与线性无关:不含零向量的正交向量组一定是线性无关的。标准正交基是线性无关性加上“单位长度”和“两两垂直”的强化。
  • 施密特正交化:提供了从任意一组线性无关向量构造出等价的正交基,进而得到标准正交基的系统化方法。其核心是“减去在前序正交方向上的投影”。

行动清单

  1. 验证与理解:任选一个二维旋转矩阵,手动验证其满足 ATA=IA^TA=I,并思考其行列式为 1 的几何意义。
  2. 动手实现:尝试不借助 NumPy 的 qr 函数,仅使用基础运算,编写代码实现施密特正交化过程,并对一组三维向量进行测试。
  3. 建立联系:回顾主成分分析(PCA)或奇异值分解(SVD)算法,找出其中哪些步骤用到了正交矩阵或标准正交基的思想(例如,PCA中协方差矩阵的特征向量构成一组正交基)。

— 小象教研组

配套学习资源与课件
  • 第10章讲义(含板书):线性代数(PDF · 15.5MB)
    下载
🎁 免费学习资源

领取《小象 11GB VIP 课件资料包与大厂真题手册》

包含全套实战 Jupyter 源码、清洗后数据集、大厂高频面试真题与专属学员答疑交流群。

  • 完整 Python / 数据分析 Jupyter 实战源码
  • 大厂真实业务数据集与练习题
  • 微信扫码添加课程顾问,免费获取网盘下载链接
微信二维码:扫码添加课程顾问微信扫码添加顾问