似然函数(Likelihood Function)和最大似然估计

一、定义

似然函数不是"数据的概率",而是"参数对已发生数据的解释能力"。


二、严格数学定义

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. 概率关注 数据随机性,积分必须等于 1
  2. 似然关注 参数对数据的解释能力,不需要归一化

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)

直觉:
  1. 残差越小 → 似然越大
    解释数据能力越强
  2. 协方差越小 → 惩罚越严格
    精度高的观测对参数影响大
  3. 几何意义
    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∣θ)

为了方便求导和数值稳定,取对数:

ℓ(θ):=log⁡L(θ)=∑i=1Nlog⁡p(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 与似然的关系

  1. MLE = 最大化似然函数

θ^∗MLE=arg⁡max⁡∗θL(θ) \hat{\theta}*{\rm MLE} = \arg\max*\theta \mathcal{L}(\theta) θ^∗MLE=argmax∗θL(θ)

  1. 几何解释

找一个参数,使得所有观测点尽可能落在噪声椭球的中心

  1. SLAM / LIO 中的体现
  • 每个观测因子 = 一个似然函数 p(zi∣x)p(z_i \mid x)p(zi∣x)
  • 后端优化 = 联合最大化所有因子的似然:

x^=arg⁡max⁡x∏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、小结

  1. 似然函数不是概率分布,而是参数评分函数
  2. 最大似然 = 找出最能解释观测数据的参数
  3. 高斯噪声下 = 加权最小二乘
  4. 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)

几何解释:

  1. 每个观测 ziz_izi 定义一个"噪声椭球",半径与 σi\sigma_iσi 相关
  2. 参数 θ\thetaθ 对应预测值 hi(θ)h_i(\theta)hi(θ)
  3. 残差 ri(θ)r_i(\theta)ri(θ) = 预测点到观测点的距离
  4. 似然越大 → 预测点越接近观测点的椭球中心

换句话说,最大似然就是找到"预测值最贴近观测点噪声椭球中心的参数"。


3 连接到 MLE
  • 最大化似然:

θ^MLE=arg⁡max⁡θL(θ) \hat{\theta}{\rm MLE} = \arg\max\theta \mathcal{L}(\theta) θ^MLE=argθmaxL(θ)

  • 对数似然(方便数值):

ℓ(θ)=∑ilog⁡p(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 的实际意义

  1. 每个观测因子 = 一个似然函数

    • ICP 点到面残差 → p(zi∣x)p(z_i|x)p(zi∣x)
    • 视觉重投影 → p(ui∣x)p(u_i|x)p(ui∣x)
  2. 后端优化 = 联合最大化所有因子的似然

    • 高斯噪声 → 非线性加权最小二乘
  3. 先验 / IMU 预测 = 额外似然因子

    • MAP = MLE + 先验

直观理解:似然函数告诉我们"参数解释观测的好坏",MAP 后端就是最大化这些解释能力的全局过程


4、小结

  1. 数据已发生 → 随机性在参数上
  2. 似然函数 = 参数对观测的评分函数
  3. 比较不同参数 → 找出最能解释观测的那个
  4. 高斯噪声 → 残差平方度量 → 加权最小二乘
  5. SLAM/LIO 后端 = 联合最大化多观测似然 + 先验

核心直觉:似然函数告诉你"这个参数值有多合理",最大化似然就是选择最合理的参数


四、经典的例子

1、对数似然与最小二乘

为了方便计算,取对数似然:

ℓ(θ)=log⁡L(θ)=−(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=arg⁡max⁡θℓ(θ)=arg⁡min⁡θ(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(θ) 就是"距离"

最大似然 = 找到预测点最靠近观测点的参数:

θ^=arg⁡min⁡θ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、小结

  1. 残差越小 → 似然越大
  2. 噪声越小 → 对残差越"苛刻"
  3. 多维观测 → 残差平方加权 → 椭球几何
  4. 高斯 MLE = 最小二乘
  5. 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 后端优化在做什么?

最大化所有因子的联合似然

也就是:

max⁡x∏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 + 先验


总结

似然函数是"在观测已经发生的前提下,衡量不同参数对这些观测解释能力的函数";它不是概率分布,而是参数的评分标准。


相关推荐
春日见2 小时前
Docker中如何删除镜像
运维·前端·人工智能·驱动开发·算法·docker·容器
郝学胜-神的一滴2 小时前
Python中的with语句与try语句:资源管理的两种哲学
linux·服务器·开发语言·python·程序人生·算法
季明洵2 小时前
备考蓝桥杯第四天
java·数据结构·算法·leetcode·链表·哈希算法
焦糖玛奇朵婷2 小时前
就医陪诊小程序|从软件开发视角看实用度✨
java·大数据·jvm·算法·小程序
砚边数影2 小时前
线性回归实战(一):房价预测数据集入库KingbaseES,表结构设计
java·数据库·人工智能·深度学习·机器学习·线性回归·金仓数据库
你撅嘴真丑2 小时前
求10000 以内的阶乘 与 字符串最大跨距
数据结构·c++·算法
Figo_Cheung2 小时前
Figo几何基础论:基于集合几何化的统一理论框架与哲学意涵——首次提出“几何化诱导的全息原理”
算法·机器学习·概率论·迭代加深
小y要自律3 小时前
11 string容器 - 子串获取
c++·算法·stl
t198751283 小时前
三相计量芯片RN8302B驱动校正程序设计与实现
算法