一、定义
似然函数不是"数据的概率",而是"参数对已发生数据的解释能力"。
二、严格数学定义
1、从概率到似然的视角转换
1 原本的概率问题
在概率建模中,我们通常写:
p(z∣θ) p(\mathbf{z} \mid \theta) p(z∣θ)
- 自变量:数据 z\mathbf{z}z
- 参数 θ\thetaθ 已知(用于描述生成数据的过程)
- 意义:如果这个参数是对的,观测数据出现的概率是多少?
这是经典的概率视角:已知参数,数据随机。
2 换一个角度:参数未知,数据已知
MLE 的任务是:
数据 z\mathbf{z}z 已经观测到,问哪个 θ\thetaθ 最有可能"产生"这些观测。
于是把概率式视角翻转:
- 数据 z\mathbf{z}z → 已知常数
- 参数 θ\thetaθ → 变量
- 于是定义似然函数:
L(θ):=p(z∣θ) \mathcal{L}(\theta) := p(\mathbf{z} \mid \theta) L(θ):=p(z∣θ)
关键:似然函数和概率密度的公式完全相同,但视角不同 → 结果不同。
2、为什么说"似然 ≠ 概率"
| 项目 | 概率 | 似然 | |
|---|---|---|---|
| 自变量 | 数据 zzz | 参数 θ\thetaθ | |
| 是否归一化 | 是 | 否 | |
| 积分为 1 | $\int p(z | \theta) dz = 1$ | ∫L(θ)dθ≠1\int \mathcal{L}(\theta) d\theta \neq 1∫L(θ)dθ=1 |
| 物理含义 | 数据发生的可能性 | 参数解释数据的能力 |
核心区别:
- 概率关注 数据随机性,积分必须等于 1
- 似然关注 参数对数据的解释能力,不需要归一化
3、几何直觉:噪声椭球和"距离度量"
以高斯噪声为例:
zi=h(θ)+vi,vi∼N(0,σi2) z_i = h(\theta) + v_i, \quad v_i \sim \mathcal{N}(0, \sigma_i^2) zi=h(θ)+vi,vi∼N(0,σi2)
概率密度:
p(zi∣θ)=12πσi2exp(−(zi−h(θ))22σi2) p(z_i \mid \theta) = \frac{1}{\sqrt{2\pi\sigma_i^2}} \exp\Big(-\frac{(z_i - h(\theta))^2}{2\sigma_i^2}\Big) p(zi∣θ)=2πσi2 1exp(−2σi2(zi−h(θ))2)
把 ziz_izi 当成常数 → 似然函数:
L(θ)∝exp(−(zi−h(θ))22σi2) \mathcal{L}(\theta) \propto \exp\Big(-\frac{(z_i - h(\theta))^2}{2\sigma_i^2}\Big) L(θ)∝exp(−2σi2(zi−h(θ))2)
直觉:
- 残差越小 → 似然越大
解释数据能力越强 - 协方差越小 → 惩罚越严格
精度高的观测对参数影响大 - 几何意义 :
ri2/σi2r_i^2 / \sigma_i^2ri2/σi2 可以看作在噪声椭球中测量误差的平方长度
4、对数似然:MLE 的核心工具
似然函数是乘积(独立观测假设):
L(θ)=∏i=1Np(zi∣θ) \mathcal{L}(\theta) = \prod_{i=1}^N p(z_i \mid \theta) L(θ)=i=1∏Np(zi∣θ)
为了方便求导和数值稳定,取对数:
ℓ(θ):=logL(θ)=∑i=1Nlogp(zi∣θ) \ell(\theta) := \log \mathcal{L}(\theta) = \sum_{i=1}^N \log p(z_i \mid \theta) ℓ(θ):=logL(θ)=i=1∑Nlogp(zi∣θ)
对数似然只是似然函数的另一种表达,保留最大值位置不变。
高斯情形
ℓ(θ)=−∑i(zi−h(θ))22σi2+const \ell(\theta) = -\sum_i \frac{(z_i - h(\theta))^2}{2\sigma_i^2} + \text{const} ℓ(θ)=−i∑2σi2(zi−h(θ))2+const
最大化似然 ⇔ 最小化加权平方残差
5、MLE 与似然的关系
- MLE = 最大化似然函数:
θ^∗MLE=argmax∗θL(θ) \hat{\theta}*{\rm MLE} = \arg\max*\theta \mathcal{L}(\theta) θ^∗MLE=argmax∗θL(θ)
- 几何解释:
找一个参数,使得所有观测点尽可能落在噪声椭球的中心
- SLAM / LIO 中的体现:
- 每个观测因子 = 一个似然函数 p(zi∣x)p(z_i \mid x)p(zi∣x)
- 后端优化 = 联合最大化所有因子的似然:
x^=argmaxx∏ip(zi∣x) \hat{x} = \arg\max_x \prod_i p(z_i \mid x) x^=argxmaxi∏p(zi∣x)
- 高斯噪声 → 非线性加权最小二乘问题
6、与 MAP 的关系
| 方法 | 最大化对象 |
|---|---|
| MLE | p(z∣θ)p(z \mid \theta)p(z∣θ) |
| MAP | p(z∣θ)p(θ)p(z \mid \theta) p(\theta)p(z∣θ)p(θ) |
MAP = MLE + 先验约束
- IEKF / Graph SLAM / Factor Graph 都是 MAP 的实现
- 但每个观测项仍然对应 MLE 的似然函数
7、小结
- 似然函数不是概率分布,而是参数评分函数
- 最大似然 = 找出最能解释观测数据的参数
- 高斯噪声下 = 加权最小二乘
- SLAM / LIO 中的每个因子 = 一个似然函数
终极直觉:似然 = "已知观测情况下,参数的可信度尺子"。
三、为什么需要"似然"这个概念?
1、核心出发点:数据已发生
在统计估计或 SLAM/LIO 后端中,我们面临的问题是:
- 已经观测到一组数据:z=z1,...,zN\mathbf{z} = {z_1, \dots, z_N}z=z1,...,zN
- 不再是随机变量
- 不确定性来自生成数据的潜在参数 θ\thetaθ
换句话说,随机性不在数据,而在"参数生成数据的过程"。
直观解释
- 概率视角:p(z∣θ)p(z|\theta)p(z∣θ) → "如果参数是 θ\thetaθ,观测 zzz 发生的可能性有多大?"
- 似然视角:L(θ)=p(z∣θ)\mathcal{L}(\theta) = p(z|\theta)L(θ)=p(z∣θ) → "已知数据,θ\thetaθ 能解释这些观测的能力有多强?"
核心差别:数据常数 vs 参数变量
2、似然函数的比较意义
1 基本思想
我们想比较不同参数解释数据的能力:
θ1,θ2,...,θm \theta_1, \theta_2, \dots, \theta_m θ1,θ2,...,θm
计算似然:
L(θi)=p(z∣θi) \mathcal{L}(\theta_i) = p(\mathbf{z} | \theta_i) L(θi)=p(z∣θi)
- 如果 L(θ1)≫L(θ2)\mathcal{L}(\theta_1) \gg \mathcal{L}(\theta_2)L(θ1)≫L(θ2)
- 意味着在 θ1\theta_1θ1 下生成观测的可能性远大于 θ2\theta_2θ2
- 因此 θ1\theta_1θ1 更可信
2 几何直觉(高斯噪声示例)
假设每个观测受高斯噪声影响:
zi=hi(θ)+vi,vi∼N(0,σi2) z_i = h_i(\theta) + v_i, \quad v_i \sim \mathcal{N}(0, \sigma_i^2) zi=hi(θ)+vi,vi∼N(0,σi2)
- 残差:ri(θ)=zi−hi(θ)r_i(\theta) = z_i - h_i(\theta)ri(θ)=zi−hi(θ)
- 似然:L(θ)∝exp(−∑iri(θ)2/2σi2)\mathcal{L}(\theta) \propto \exp\big(-\sum_i r_i(\theta)^2 / 2\sigma_i^2 \big)L(θ)∝exp(−∑iri(θ)2/2σi2)
几何解释:
- 每个观测 ziz_izi 定义一个"噪声椭球",半径与 σi\sigma_iσi 相关
- 参数 θ\thetaθ 对应预测值 hi(θ)h_i(\theta)hi(θ)
- 残差 ri(θ)r_i(\theta)ri(θ) = 预测点到观测点的距离
- 似然越大 → 预测点越接近观测点的椭球中心
换句话说,最大似然就是找到"预测值最贴近观测点噪声椭球中心的参数"。
3 连接到 MLE
- 最大化似然:
θ^MLE=argmaxθL(θ) \hat{\theta}{\rm MLE} = \arg\max\theta \mathcal{L}(\theta) θ^MLE=argθmaxL(θ)
- 对数似然(方便数值):
ℓ(θ)=∑ilogp(zi∣θ) \ell(\theta) = \sum_i \log p(z_i|\theta) ℓ(θ)=i∑logp(zi∣θ)
- 高斯噪声下:
ℓ(θ)=−∑i(zi−hi(θ))22σi2+const \ell(\theta) = -\sum_i \frac{(z_i - h_i(\theta))^2}{2\sigma_i^2} + \text{const} ℓ(θ)=−i∑2σi2(zi−hi(θ))2+const
这直接转化为加权最小二乘问题
3、SLAM / LIO 的实际意义
-
每个观测因子 = 一个似然函数
- ICP 点到面残差 → p(zi∣x)p(z_i|x)p(zi∣x)
- 视觉重投影 → p(ui∣x)p(u_i|x)p(ui∣x)
-
后端优化 = 联合最大化所有因子的似然
- 高斯噪声 → 非线性加权最小二乘
-
先验 / IMU 预测 = 额外似然因子
- MAP = MLE + 先验
直观理解:似然函数告诉我们"参数解释观测的好坏",MAP 后端就是最大化这些解释能力的全局过程。
4、小结
- 数据已发生 → 随机性在参数上
- 似然函数 = 参数对观测的评分函数
- 比较不同参数 → 找出最能解释观测的那个
- 高斯噪声 → 残差平方度量 → 加权最小二乘
- SLAM/LIO 后端 = 联合最大化多观测似然 + 先验
核心直觉:似然函数告诉你"这个参数值有多合理",最大化似然就是选择最合理的参数。
四、经典的例子
1、对数似然与最小二乘
为了方便计算,取对数似然:
ℓ(θ)=logL(θ)=−(z−h(θ))22σ2−12log(2πσ2) \ell(\theta) = \log \mathcal{L}(\theta) = -\frac{(z - h(\theta))^2}{2\sigma^2} - \frac{1}{2}\log(2\pi\sigma^2) ℓ(θ)=logL(θ)=−2σ2(z−h(θ))2−21log(2πσ2)
去掉常数项:
θ^MLE=argmaxθℓ(θ)=argminθ(z−h(θ))2 \hat{\theta}{\rm MLE} = \arg\max\theta \ell(\theta) = \arg\min_\theta (z - h(\theta))^2 θ^MLE=argθmaxℓ(θ)=argθmin(z−h(θ))2
可以得如下如下结论:
高斯噪声下,MLE ⇔ 最小二乘
- 方差 σ2\sigma^2σ2 决定了加权(不等方差 → 加权最小二乘)
- 残差 r(θ)=z−h(θ)r(\theta) = z - h(\theta)r(θ)=z−h(θ) 是核心度量
2 一维情形
- zzz 是一个点
- h(θ)h(\theta)h(θ) 是预测值
- 残差 r=z−h(θ)r = z - h(\theta)r=z−h(θ) 就是"距离"
最大似然 = 找到预测点最靠近观测点的参数:
θ^=argminθr2 \hat{\theta} = \arg\min_\theta r^2 θ^=argθminr2
3 多维情形
- 多维观测 z∈Rnz \in \mathbb{R}^nz∈Rn
- 残差 r(θ)=z−h(θ)r(\theta) = z - h(\theta)r(θ)=z−h(θ)
- 噪声协方差 RRR 定义"椭球"
似然函数:
L(θ)∝exp(−12r(θ)TR−1r(θ)) \mathcal{L}(\theta) \propto \exp\Big(-\frac{1}{2} r(\theta)^T R^{-1} r(\theta)\Big) L(θ)∝exp(−21r(θ)TR−1r(θ))
- RRR 小 → 残差容忍度小,似然函数尖锐
- RRR 大 → 残差容忍度大,似然函数平缓
直观:MLE = 找到预测值落在"噪声椭球中心"最可能的位置
4、SLAM / LIO 中的对应关系
| 概念 | SLAM / LIO 对应 |
|---|---|
| 观测 zzz | LiDAR 点、相机像素、IMU 测量 |
| 参数 θ\thetaθ | 机器人位姿 / 地图特征 |
| 残差 r(θ)r(\theta)r(θ) | 点到面距离 / 重投影误差 / IMU 误差 |
| 协方差 σ2\sigma^2σ2 | 观测噪声协方差 RRR |
| MLE | 后端非线性最小二乘(GN / LM / IEKF) |
核心理解:每个观测因子 = 一个高斯似然函数,SLAM 后端就是联合最大化所有似然函数
5、小结
- 残差越小 → 似然越大
- 噪声越小 → 对残差越"苛刻"
- 多维观测 → 残差平方加权 → 椭球几何
- 高斯 MLE = 最小二乘
- SLAM / LIO 后端 = 联合最大化似然 = 联合最小二乘 + 先验
六、几何直觉
1 噪声定义了"距离度量"
rTR−1r r^T R^{-1} r rTR−1r
表示:
在噪声椭球中,点离中心有多远
2 似然最大化在做什么?
找一个参数,使得所有观测点尽可能落在噪声椭球的中心
七、在 SLAM / LIO 中的真实含义
1 每个因子 = 一个似然函数
- IMU 因子
- LiDAR 点面因子
- 视觉重投影因子
都是:
p(zi∣x) p(z_i \mid x) p(zi∣x)
2 后端优化在做什么?
最大化所有因子的联合似然
也就是:
maxx∏ip(zi∣x) \max_x \prod_i p(z_i \mid x) xmaxi∏p(zi∣x)
八、和 MAP 的关系
| 方法 | 最大化对象 |
|---|---|
| MLE | p(z∣θ)p(z \mid \theta)p(z∣θ) |
| MAP | p(z∣θ)p(θ)p(z \mid \theta)p(\theta)p(z∣θ)p(θ) |
MAP = MLE + 先验
总结
似然函数是"在观测已经发生的前提下,衡量不同参数对这些观测解释能力的函数";它不是概率分布,而是参数的评分标准。