☰
线性代数之最小二乘法
2026/10/12 3:04:18 网站建设 项目流程

最小二乘法,可以先理解成一句话:

当一组数据无法被完全满足时,找一个方案,让整体误差尽可能小。

我们先看一个小例子,再把它写成线性代数的形式。


一、为什么需要最小二乘法?

假设你想估计一个角色的移动速度,测得:

时间移动距离
1 秒2 米
2 秒3 米

假设角色从原点开始,以恒定速度 (v) 移动,那么:

[
距离=速度\times时间
]

第一条数据要求:

[
v=2
]

第二条数据要求:

[
2v=3 \quad\Rightarrow\quad v=1.5
]

矛盾了。

真实测量可能有误差,因此我们不一定能找到一个速度,让两条数据都完全成立。

现在的问题变成:

选多大的速度,能尽量兼顾这两条数据?

这就是最小二乘法要解决的问题。


二、怎样衡量“整体误差”?

假设我们选择速度 (v)。

那么两次预测与测量的差分别是:

1 秒时:预测 v 米,实际测得 2 米 误差:v − 2 2 秒时:预测 2v 米,实际测得 3 米 误差:2v − 3

不能直接把误差相加,因为正负误差可能抵消。

例如预测一个偏高 1 米、一个偏低 1 米,加起来是零,但预测显然并不完全准确。

最小二乘法采用:

把每个误差平方,再加起来。

因此,总误差指标为:

[
E(v)=(v-2)2+(2v-3)2
]

“二乘”就是平方,“最小”就是让这个平方和最小。


三、算出最佳速度

把上式展开:

[
E(v)=5v^2-16v+13
]

再配方:

[
E(v)=5(v-1.6)^2+0.2
]

因为平方不可能小于零,所以当:

[
\boxed{v=1.6}
]

时,误差平方和最小,为 (0.2)。

我们比较一下:

选择的速度1 秒时的误差2 秒时的误差误差平方和
1.5−0.500.25
1.6−0.40.20.20
2.0011.00

所以:

1.6 米/秒并不能完全符合任何一条测量,但它让两条距离测量的误差平方和最小。

这里的“最佳”,是相对于我们选定的模型和误差标准而言,不代表它一定就是真实速度。


四、这与线性代数有什么关系?

刚才的两个方程:

[
\begin{cases}
v=2\
2v=3
\end{cases}
]

可以写成矩阵形式:

[
\underbrace{
\begin{bmatrix}
1\
2
\end{bmatrix}}{A}
\underbrace{v}
{x}

\underbrace{
\begin{bmatrix}
2\
3
\end{bmatrix}}_{b}
]

也就是:

[
Ax=b
]

其中:

  • (A):已知条件,这里是测量时间;
  • (x):要估计的参数,这里是速度;
  • (b):实际观测,这里是测量距离;
  • (Ax):模型预测的结果。

当 (Ax=b) 没有精确解时,我们不再强求完全相等,而是寻找:

[
\boxed{\min_x|Ax-b|^2}
]

这个式子的意思就是:

寻找参数 (x),让预测值与观测值之间的误差平方和最小。

符号看起来复杂,做的事情和前面完全一样。


五、一般怎样求解?

最小二乘解满足:

[
\boxed{ATAx=ATb}
]

这叫正规方程。

其中 (A^T) 表示把矩阵的行和列交换,即转置。

代入刚才的例子:

[
A^TA=
\begin{bmatrix}1&2\end{bmatrix}
\begin{bmatrix}1\2\end{bmatrix}
=5
]

[
A^Tb=
\begin{bmatrix}1&2\end{bmatrix}
\begin{bmatrix}2\3\end{bmatrix}
=8
]

于是:

[
5v=8
]

得到:

[
\boxed{v=1.6}
]

与之前配方得到的结果一致。

如果 (A) 的各列线性无关,还可以写成:

[
x=(ATA){-1}A^Tb
]

不过实际编程时,通常更倾向用QR 分解或 SVD求解,而不是直接计算这个逆矩阵,以提高数值稳定性。


六、几何上,它是在找“最近的点”

在这个例子中,模型能够预测出的结果只能是:

[
Ax=
\begin{bmatrix}
v\
2v
\end{bmatrix}
]

当 (v) 改变时,这些点都在直线:

[
第二个坐标=2\times第一个坐标
]

上。

但实际观测点:

[
b=
\begin{bmatrix}
2\
3
\end{bmatrix}
]

不在这条直线上。

最小二乘法就是:

在模型允许的那条直线上,寻找离观测点最近的点。

找到的是:

[
Ax=
\begin{bmatrix}
1.6\
3.2
\end{bmatrix}
]

这也是为什么最小二乘法与线性代数中的投影、正交密切相关。


七、实际中有什么用?

  • 拟合直线:用一条直线概括一批散乱数据的趋势。
  • 估计运动参数:根据多次位置测量估计速度。
  • 传感器校准:根据测量值估计偏移量和比例系数。
  • 机器学习:线性回归常用平方误差作为训练目标。

最后记住:

解方程追求“每条条件都满足”;最小二乘法是在无法全部满足时,让误差平方和最小。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询