Least Squares Method
最小化误差平方和 来求解参数
最小二乘法是一切误差最小化问题的基础,是 SLAM、机器学习、数据拟合、参数估计的核心数学工具。
基础知识
目标函数:
其中:
- :第 个观测值
- :预测值,取决于待求参数 和自变量
- :第 个残差(观测误差)
| 类型 |
误差特性 |
解法 |
| 线性最小二乘 |
误差关于参数是线性的 |
解析解(直接计算) |
| 非线性最小二乘 |
误差关于参数是非线性的 |
迭代法(数值优化) |
一、线性最小二乘法(解析解)
微积分的角度
线性代数的角度
向量投影
对 ,如果方程无解
则求解 得到方程的最优近似解
使得 取得最小值
概率论的角度
二、非线性最小二乘法(迭代-数值优化)
非线性最小二乘法 无法直接求解析解,必须使用数值迭代法。
- 初始化参数
- 计算当前残差 和雅可比矩阵
- 构造线性方程,计算步长
- 判断是否收敛(如步长足够小,残差变化足够小)
- 更新参数
- 重复步骤 2 ~ 5 直到收敛
一阶泰勒展开(线性化)
其中: :雅可比矩阵
高斯-牛顿法(Gauss-Newton)
通过线性化,将优化转化为如下问题:
解得:
这是一个 线性方程组 ,解出 ,然后更新:
不断迭代,直到收敛。
Levenberg-Marquardt (LM) 法(更稳定)
高斯-牛顿法可能遇到:
- 步长过大导致发散
- 奇异无法求逆
LM 法引入阻尼因子 ,将更新方程改为:
特点:
- 类似于梯度下降法,步长更安全
- 动态调整 保证收敛速度与稳定性
Dogleg 法(结合 GN 与梯度下降)
适用于稀疏大规模问题,结合两种步长,提升收敛效率。
三、实际应用
非线性最小二乘法库: g2o Ceres Solver
其中:
- :机器人位姿节点
- :观测数据
- :通过运动模型计算的预测观测
- :信息矩阵
核心任务:利用非线性最小二乘法优化整张图,找到最一致的位姿和地图。
AI 结构化补充(2026-05-02)
Least Squares Method
最小化误差平方和 来求解参数
最小二乘法是一切误差最小化问题的基础,是 SLAM、机器学习、数据拟合、参数估计的核心数学工具。
定义与问题形态
最小二乘法把“不能完全满足的方程”改写为平方残差最小化问题。给定 与 ,当 无解时,不应把最小二乘说成精确求解 ;正确目标是
其中 是 的第 行, 是第 个方程的残差。若最小值由 取得,则 称为最小二乘问题的一个最小二乘解, 是由模型真正给出的最佳可达右端。
| 类型 |
误差特性 |
解法 |
| 线性最小二乘 |
关于参数 线性 |
投影、正规方程、QR 分解等线性代数方法 |
| 非线性最小二乘 |
关于参数非线性 |
线性化后迭代求解局部二次近似 |
线性代数视角:从无解到投影
矩阵 的所有可达右端组成列空间 。若 ,则不存在 使 ,几何上要找的是 中离 最近的点
这个 是 在 上的向量投影,不可消除的残差为
最佳性条件是残差垂直于整个列空间:
把 代入正交条件,就得到
因此最小二乘的核心不是“把无解方程强行解出来”,而是把 分解为可由列空间解释的投影 和垂直于列空间的剩余 。
大图像:投影和左零空间
在线性最小二乘中,真正被分解的是右端向量 :
是模型能够解释的部分, 是无法由 的列组合消除的部分。由于 且 ,任意参数 都满足
选择 使 ,第一项降为 ,剩下的 就是不可再降低的最小平方误差。若把它除以观测数 ,就是拟合语境中的均方误差。
微积分视角:平方误差的一阶条件
令
展开得
梯度为
在最小点 处,梯度为零,于是再次得到正规方程 。平方误差让一阶条件保持线性,这是最小二乘在数据拟合中易于计算的关键原因。
唯一性与边界条件
若 列独立,则 , 可逆,最小二乘解唯一:
若 列相关,则 奇异,最小二乘解可能不唯一,但所有解给出的 相同,也就是同一个投影 。如果 ,则最小二乘退化为精确求解,最小残差为 ;否则最小残差非零,表示模型或测量无法完全一致。
一个具体的秩亏例子是
两列完全相同, 奇异。 到列空间 的投影是 ,因此只要求
所以 、、 都给出同一个最佳投影和同一个残差 。投影唯一,系数不唯一;若需要唯一代表,通常再加上“范数最小”之类的选择准则。
直线拟合和平均数例子
拟合直线 时,参数为 ,设计矩阵为
正规方程为
例如三点 不能被一条直线完全穿过。此时
正规方程为
解得 。最佳直线是 ,它给出的投影高度为
残差为
这个残差既满足 ,也满足 ,因此它同时垂直于设计矩阵的全 列和时间列。
若只有一列全为 ,即用水平线 拟合数据,则
所以“用常数拟合一组数”的最小二乘解就是平均数,投影为 。
中心化与离群点
直线拟合中若把时间中心化为
则 ,设计矩阵两列 与 正交,于是
这会把截距和斜率的正规方程解耦,体现了先正交化列向量的思想。比如时间 的平均数是 ,改用 后得到 ,全 列与 列正交。若观测值为 ,则
所以 可分开求出。这正是格拉姆-施密特正交化的思想:先让列向量正交,之后 接近或变成对角矩阵。
平方误差会把大残差按平方放大,所以普通最小二乘对离群点敏感。例如九个观测值为 、一个观测值为 ,用水平线拟合时最小二乘给出平均数 ,而最小绝对误差会倾向于中位数 。这说明 目标计算方便、可微且有投影几何,但在异常值明显时可能不够稳健。
在同一组十个点 上,若仍用水平线,平方残差准则给 ;若最小化最大绝对误差,最佳常数在 和 中间,给 ;若最小化绝对残差和,最佳常数回到中位数 。若改用直线 ,则
解得 。这说明离群点不仅会拉动平均高度,也会明显改变拟合斜率。
二、非线性最小二乘法(迭代-数值优化)
非线性最小二乘法 无法直接求解析解,必须使用数值迭代法。
- 初始化参数
- 计算当前残差 和雅可比矩阵
- 构造线性方程,计算步长
- 判断是否收敛(如步长足够小,残差变化足够小)
- 更新参数
- 重复步骤 2 ~ 5 直到收敛
一阶泰勒展开(线性化)
其中: :雅可比矩阵
高斯-牛顿法(Gauss-Newton)
通过线性化,将优化转化为如下问题:
解得:
这是一个 线性方程组 ,解出 ,然后更新:
不断迭代,直到收敛。
Levenberg-Marquardt (LM) 法(更稳定)
高斯-牛顿法可能遇到:
- 步长过大导致发散
- 奇异无法求逆
LM 法引入阻尼因子 ,将更新方程改为:
特点:
- 类似于梯度下降法,步长更安全
- 动态调整 保证收敛速度与稳定性
Dogleg 法(结合 GN 与梯度下降)
适用于稀疏大规模问题,结合两种步长,提升收敛效率。
三、实际应用
非线性最小二乘法库: g2o Ceres Solver
其中:
- :机器人位姿节点
- :观测数据
- :通过运动模型计算的预测观测
- :信息矩阵
核心任务:利用非线性最小二乘法优化整张图,找到最一致的位姿和地图。