6.1 内积与范数
内积是点积的推广,它让我们可以谈论 长度、角度和正交性。内积空间是装备了内积的向量空间。
内积 ⟨u, v⟩ 满足:
- 正定性:⟨v, v⟩ ≥ 0,且 =0 当且仅当 v=0
- 线性性:⟨au+bv, w⟩ = a⟨u,w⟩ + b⟨v,w⟩
- 共轭对称性:⟨u, v⟩ = ⟨v, u⟩ 的共轭
范数的定义
由内积诱导的范数 ||v|| = √⟨v, v⟩ 满足三角不等式:||u + v|| ≤ ||u|| + ||v||。范数让我们可以度量"距离"。
示例:函数内积
在连续函数空间 C[a,b] 上,内积可以定义为 ⟨f, g⟩ = ∫ₐᵇ f(x)g(x)dx。这使得我们可以谈论"函数之间的夹角"和"正交函数"。
傅里叶级数:sin(nx) 和 cos(mx) 在 [0, 2π] 上关于这个内积是正交的。傅里叶级数就是将函数投影到这组正交基上。
6.2 正交投影
正交投影是内积空间中最有用的操作之一。将向量投影到子空间上,得到该子空间中距离最近的点。
投影公式:proj_W(v) = ∑⟨v, uᵢ⟩uᵢ,其中 {uᵢ} 是子空间 W 的标准正交基。
示例:投影到直线
向量 v 投影到由 u 张成的直线上:
proj_u(v) = (⟨v, u⟩ / ⟨u, u⟩) u
这给出了 v 在 u 方向上的"分量"。
图 6-1:正交投影的几何意义
最佳逼近定理
投影的一个重要性质:proj_W(v) 是 W 中距离 v 最近的点。即对于任意 w ∈ W:
||v - proj_W(v)|| ≤ ||v - w||
这是最小二乘法的理论基础。
6.3 格拉姆-施密特正交化
格拉姆-施密特过程将任意一组基转化为标准正交基。正交基让计算变得简单:投影系数就是内积,坐标容易求。
算法步骤:给定基 {v₁, v₂, ...},依次构造:
u₁ = v₁ / ||v₁||
u₂ = (v₂ - proj_u₁(v₂)) / ||...||
u₃ = (v₃ - proj_u₁(v₃) - proj_u₂(v₃)) / ||...||
...
A = [1 1 1; 0 1 1; 0 0 1];
[Q, R] = qr(A);
Q' * Q;
b = [1; 2; 3];
x = R \ (Q' * b);
求向量 v = (3,4) 在 u = (1,0) 方向上的投影。
第一步:写出投影公式
proj_u(v) = (⟨v, u⟩ / ⟨u, u⟩) · u
投影公式:将向量 v 沿 u 方向分解,投影长度由内积决定。
第二步:计算内积
⟨v, u⟩ = 3×1 + 4×0 = 3, ⟨u, u⟩ = 1×1 + 0×0 = 1
第三步:计算投影向量
proj_u(v) = (3/1) × (1,0) = (3,0)
第四步:计算正交分量并验证
v - proj_u(v) = (3,4) - (3,0) = (0,4)
验证:(3,0) + (0,4) = (3,4) = v,且 ⟨(3,0), (0,4)⟩ = 0,投影分量与正交分量确实正交。
投影为 (3,0),正交分量为 (0,4),验证 (3,0)+(0,4)=(3,4)。
用格拉姆-施密特过程将向量 v₁=(1,1,1), v₂=(1,1,0), v₃=(1,0,0) 正交化。
第一步:取 u₁ = v₁ 的单位化
u₁ = v₁ / ||v₁|| = (1,1,1) / √3
||v₁|| = √(1+1+1) = √3。
第二步:正交化 v₂ 得到 u₂
w₂ = v₂ - proj_u₁(v₂) = (1,1,0) - (⟨v₂,u₁⟩)u₁ = (1,1,0) - (2/3)(1,1,1) = (1/3, 1/3, -2/3)
u₂ = w₂ / ||w₂|| = (1,1,-2) / √6
⟨v₂, u₁⟩ = (1+1+0)/√3 = 2/√3,投影系数为 ⟨v₂, u₁⟩ = 2/√3。
第三步:正交化 v₃ 得到 u₃
w₃ = v₃ - proj_u₁(v₃) - proj_u₂(v₃) = (1,0,0) - (1/3)(1,1,1) - (1/6)(1,1,-2) = (1/2, -1/2, 0)
u₃ = w₃ / ||w₃|| = (1,-1,0) / √2
依次减去在每个已正交化方向上的投影分量,确保 w₃ 与 u₁、u₂ 都正交。
标准正交基:{(1,1,1)/√3, (1,1,-2)/√6, (1,-1,0)/√2}。
用最小二乘法拟合直线 y = ax + b,数据点为 (0,1), (1,2), (2,2), (3,5)。
第一步:构造设计矩阵和观测向量
A = [[0,1],[1,1],[2,1],[3,1]], b = [1,2,2,5]ᵀ
设计矩阵 A 的第一列为 x 值,第二列全为 1(对应截距项 b)。
第二步:计算 AᵀA 和 Aᵀb
AᵀA = [[0+1+4+9, 0+1+2+3],[0+1+2+3, 1+1+1+1]] = [[14,6],[6,4]]
Aᵀb = [0×1+1×2+2×2+3×5, 1×1+1×2+1×2+1×5]ᵀ = [23,10]ᵀ
第三步:建立正规方程
(AᵀA)[a,b]ᵀ = Aᵀb → [[14,6],[6,4]][a,b]ᵀ = [23,10]ᵀ
det(AᵀA) = 14×4 - 6×6 = 56 - 36 = 20 ≠ 0,方程有唯一解。
第四步:求解参数 a 和 b
a = (4×23 - 6×10) / 20 = (92-60)/20 = 32/20 = 1.6
b = (14×10 - 6×23) / 20 = (140-138)/20 = 2/20 = 0.1
y = 1.6x + 0.1。
6.4 工程应用:最小二乘拟合
当方程组 Ax = b 无解时(超定系统),最小二乘法寻找使 ||Ax - b||² 最小的 x。解满足正规方程 AᵀAx = Aᵀb。
工程实例:线性回归
给定数据点 (xᵢ, yᵢ),拟合直线 y = mx + c。这等价于求解:
[x₁ 1] [m] [y₁]
[x₂ 1] [c] = [y₂]
[... ] [... ]
最小二乘解给出了最佳拟合参数。
GPS 定位:接收器从多颗卫星获取距离测量,形成超定方程组。最小二乘解给出最佳位置估计。
x = (0:0.1:10)';
y = 2*x + 1 + 0.5*randn(size(x));
A = [x, ones(size(x))];
coeff = A \ y;
plot(x, y, 'b.'); hold on;
plot(x, A*coeff, 'r-', 'LineWidth', 2);
legend('数据','最小二乘拟合');