§1
实验与观测常得到比未知参数更多的方程:给定 $m$ 个数据点 $(x_i,y_i)$,欲拟合含 $n$ 个参数($m>n$)的模型。这构成超定方程组 $A\mathbf{x}\approx\mathbf{b}$,通常无精确解。最小二乘的思想是把"求解"改为"使残差平方和最小":
$$\min_{\mathbf{x}}\|\!A\mathbf{x}-\mathbf{b}\!\|^2_2.$$
所求 $\mathbf{x}$ 是使得预测与观测总体最契合的参数。
一、问题来源:超定方程组
设模型有 $n$ 个未知参数,第 $i$ 个观测给出方程
$$\sum_{j=1}^{n}a_{ij}x_j\approx b_i,\qquad i=1,\dots,m\ (m>n).$$
写成矩阵 $A\mathbf{x}=\mathbf{b}$。由于 $m>n$ 且 $A$ 一般列满秩,方程组超定,几乎必然无解。我们转而寻找使残差 $\mathbf{r}=\mathbf{b}-A\mathbf{x}$ 的欧几里得范数 $\|\mathbf{r}\|_2$ 最小的 $\mathbf{x}$。
二、线性最小二乘与法方程
展开目标函数:
$$\|\!A\mathbf{x}-\mathbf{b}\!\|^2=(\mathbf{x}^T A^T A\mathbf{x})-2\mathbf{b}^T A\mathbf{x}+\mathbf{b}^T\mathbf{b}.$$
对 $\mathbf{x}$ 求导并令为零,得法方程(normal equations)
$$A^T A\,\mathbf{x}=A^T\mathbf{b}.$$
当 $A$ 列满秩时 $A^T A$ 可逆,唯一解
$$\mathbf{x}=(A^T A)^{-1}A^T\mathbf{b}.$$
几何解释:残差 $\mathbf{r}=\mathbf{b}-A\mathbf{x}$ 必须正交于 $A$ 的列空间 $\operatorname{Col}(A)$,即 $A^T\mathbf{r}=0$,这正是法方程的来源——投影 $\hat{\mathbf{b}}=A\mathbf{x}$ 是 $\mathbf{b}$ 在列空间上的正交投影。
三、多项式拟合
用 $n-1$ 次多项式
$$p(x)=c_0+c_1x+\cdots+c_{n-1}x^{n-1}$$
拟合 $m$ 个点。设计矩阵每行对应一个数据点:
$$A=\begin{bmatrix}1&x_1&x_1^2&\cdots&x_1^{n-1}\\ \vdots&\vdots&\vdots&&\vdots\\ 1&x_m&x_m^2&\cdots&x_m^{n-1}\end{bmatrix},\qquad \mathbf{b}=\begin{bmatrix}y_1\\\vdots\\y_m\end{bmatrix}.$$
法方程为
$$\begin{bmatrix}m&\sum x_i&\cdots&\sum x_i^{n-1}\\ \sum x_i&\sum x_i^2&\cdots&\sum x_i^n\\ \vdots&\vdots&&\vdots\\ \sum x_i^{n-1}&\sum x_i^n&\cdots&\sum x_i^{2n-2}\end{bmatrix} \begin{bmatrix}c_0\\c_1\\\vdots\\c_{n-1}\end{bmatrix} = \begin{bmatrix}\sum y_i\\\sum x_i y_i\\\vdots\\\sum x_i^{n-1}y_i\end{bmatrix}.$$
高次多项式虽拟合更紧,却易过拟合且数值不稳定(见第四节)。
四、病态法方程与正交化
法方程系数矩阵的条件数满足
$$\kappa(A^T A)=\kappa(A)^2.$$
即条件数平方级恶化——高次多项式的范德蒙德型矩阵 $A$ 列向量高度相关,直接解法方程会放大误差。改进途径:
- QR 分解:$A=QR$($Q$ 正交、$R$ 上三角),法方程化为 $R\mathbf{x}=Q^T\mathbf{b}$,数值稳定;
- 正交多项式基(如 Legendre、Chebyshev):用相互正交的基函数代替 $1,x,x^2,\dots$,使设计矩阵近似对角,条件数大幅降低。
五、非线性模型的线性化
某些非线性模型可通过变量替换化为线性最小二乘:
- 指数模型 $y\approx a e^{bx}$:两边取自然对数
$$\ln y=\ln a+b x,$$
令 $Y=\ln y,\ A_0=\ln a$,转为对 $(x,Y)$ 的直线拟合,得 $A_0,b$ 后回代 $a=e^{A_0}$。
- 幂律模型 $y\approx a x^b$:取对数
$$\ln y=\ln a+b\ln x,$$
令 $X=\ln x,\ Y=\ln y$,转为 $(X,Y)$ 上的直线拟合。
注意:线性化最小化的是 $\ln y$ 的残差,而非原 $y$ 的残差,模型语义略有差别,但工程上常用且简便。
六、过拟合与正则化
多项式次数过高会"穿过"每个噪声点却丧失预测能力(过拟合)。为抑制大系数、提升泛化,引入岭回归(ridge regression):
$$(A^T A+\lambda I)\mathbf{x}=A^T\mathbf{b},\qquad \lambda>0.$$
$\lambda I$ 项抬高 $A^T A$ 的对角、改善条件数,使解更平滑稳定;$\lambda$ 越大解越"收缩"向零。这是机器学习中正则化思想的最简原型。
七、方法对比
| 方法 | 数值稳定性 | 适用情形 | 备注 |
|---|---|---|---|
| 直接解法方程 | 差(条件数平方) | 低维、良态 | 实现最简 |
| QR 分解 | 好 | 中大规模、列满秩 | 推荐默认 |
| 正交多项式基 | 很好 | 高次多项式拟合 | 基需预计算 |
八、例题与解答
例题1(直线拟合). 用一次(直线)最小二乘拟合三点 $(0,1),(1,2),(2,3.2)$。
解: 设 $y=c_0+c_1x$。设计矩阵
$$A=\begin{bmatrix}1&0\\1&1\\1&2\end{bmatrix},\qquad \mathbf{b}=\begin{bmatrix}1\\2\\3.2\end{bmatrix}.$$
计算
$$A^T A=\begin{bmatrix}3&3\\3&5\end{bmatrix},\qquad A^T\mathbf{b}=\begin{bmatrix}6.2\\8.4\end{bmatrix}.$$
法方程
$$\begin{cases}3c_0+3c_1=6.2,\\ 3c_0+5c_1=8.4.\end{cases}$$
两式相减得 $2c_1=2.2$,故 $c_1=1.1$;代入得 $3c_0=6.2-3.3=2.9$,故 $c_0=0.9667$。拟合直线
$$y=0.9667+1.1x.$$
验证:预测值分别为 $0.967,\ 2.067,\ 3.167$,与 $1,2,3.2$ 残差很小。✓
例题2(指数衰减线性化). 数据近似来自 $y=a e^{bx}$,取四点 $(0,5.00),(1,3.03),(2,1.84),(3,1.11)$。用取对数后线性拟合估计 $a,b$。
解: 令 $Y=\ln y$,得 $(0,1.609),(1,1.111),(2,0.609),(3,0.109)$。拟合 $Y=A_0+b x$:
$$A^T A=\begin{bmatrix}4&6\\6&14\end{bmatrix},\qquad A^T\mathbf{Y}=\begin{bmatrix}3.438\\2.656\end{bmatrix}.$$
解
$$\begin{cases}4A_0+6b=3.438,\\ 6A_0+14b=2.656,\end{cases}$$
得 $b\approx-0.500,\ A_0\approx1.610$。故 $a=e^{1.610}\approx5.00,\ b\approx-0.500$,即
$$y\approx5.00\,e^{-0.500x},$$
与原始数据高度吻合。✓
练习
1. 用直线拟合三点 $(0,0),(1,1),(2,2)$ 应得到什么结果?写出法方程并说明。
2. 对数据 $(1,2),(2,8),(3,18)$ 怀疑符合幂律 $y=a x^b$,取对数后做线性拟合求 $a,b$(提示:结果应接近 $a\approx2,\ b\approx2$)。
3. 为什么直接解法方程拟合高次多项式会数值不稳定?用条件数说明。
4. 岭回归中 $\lambda$ 增大对解 $\mathbf{x}$ 有何影响?它改善了法方程的什么性质?
参考答案与提示
1. 设计矩阵 $A=[[1,0],[1,1],[1,2]]$,$\mathbf{b}=[0,1,2]^T$,$A^T A=[[3,3],[3,5]]$,$A^T\mathbf{b}=[3,5]^T$。解得 $c_1=1,\ c_0=0$,即 $y=x$(三点本就在直线上)。
2. 取对数:$X=\ln x,\ Y=\ln y$ 得 $(0,0.693),(0.693,2.079),(1.099,2.890)$。线性拟合得斜率 $b\approx2.00$、截距 $\ln a\approx0.693$,故 $a\approx2,\ b\approx2$,即 $y\approx2x^2$。
3. 范德蒙德型矩阵 $A$ 列高度相关,法方程条件数 $\kappa(A^T A)=\kappa(A)^2$ 平方级放大,舍入误差被显著放大,故不稳定。
4. $\lambda$ 增大使解 $\mathbf{x}$ 向零收缩、更平滑;$\lambda I$ 抬高 $A^T A$ 对角、降低条件数、改善稳定性(正则化)。
本章小结
- 超定方程组无解,转而最小化残差平方和 $\min\|A\mathbf{x}-\mathbf{b}\|^2$。
- 法方程 $A^T A\mathbf{x}=A^T\mathbf{b}$;几何上残差正交于列空间。
- 多项式拟合由法方程给出系数;次数过高易过拟合。
- 法方程条件数平方级恶化,宜用 QR 分解或正交多项式基。
- 指数、幂律模型可通过对数线性化转线性最小二乘。
- 岭回归 $(A^T A+\lambda I)\mathbf{x}=A^T\mathbf{b}$ 以正则化换取稳定性与泛化。
互动演示
拖动下方控件观察动态过程。
最小二乘多项式拟合:调节次数观察拟合曲线与散点残差(次数过高易过拟合)。