当前位置: 首页 > news >正文

视觉SLAM十四讲(v2)-6.1.2非线性优化的最小二乘引出.高斯分布取负对数

对高斯分布取负对数的详细推导过程如下,结合数学公式与代码验证:

1. 高斯分布概率密度函数

对于NNN维随机变量x∼N(μ,Σ)\mathbf{x} \sim \mathcal{N}(\boldsymbol{\mu}, \Sigma)xN(μ,Σ),其概率密度函数为:
P(x)=1(2π)N/2∣Σ∣1/2exp⁡(−12(x−μ)TΣ−1(x−μ))P(\mathbf{x}) = \frac{1}{(2\pi)^{N/2} |\Sigma|^{1/2}} \exp\left( -\frac{1}{2} (\mathbf{x} - \boldsymbol{\mu})^T \Sigma^{-1} (\mathbf{x} - \boldsymbol{\mu}) \right)P(x)=(2π)N/2∣Σ1/21exp(21(xμ)TΣ1(xμ))
其中:
-μ\boldsymbol{\mu}μ是均值向量,
-Σ\SigmaΣ是协方差矩阵(正定),
-∣Σ∣|\Sigma|∣Σ∣是协方差矩阵的行列式,
-Σ−1\Sigma^{-1}Σ1是协方差矩阵的逆。

2. 取自然对数

P(x)P(\mathbf{x})P(x)取自然对数:
ln⁡P(x)=ln⁡(1(2π)N/2∣Σ∣1/2)+ln⁡(exp⁡(−12(x−μ)TΣ−1(x−μ)))\ln P(\mathbf{x}) = \ln \left( \frac{1}{(2\pi)^{N/2} |\Sigma|^{1/2}} \right) + \ln \left( \exp\left( -\frac{1}{2} (\mathbf{x} - \boldsymbol{\mu})^T \Sigma^{-1} (\mathbf{x} - \boldsymbol{\mu}) \right) \right)lnP(x)=ln((2π)N/2∣Σ1/21)+ln(exp(21(xμ)TΣ1(xμ)))

分解为两部分计算

(1)系数部分(常数项)
ln⁡(1(2π)N/2∣Σ∣1/2)=−ln⁡((2π)N/2∣Σ∣1/2)=−N2ln⁡(2π)−12ln⁡∣Σ∣\ln \left( \frac{1}{(2\pi)^{N/2} |\Sigma|^{1/2}} \right) = -\ln \left( (2\pi)^{N/2} |\Sigma|^{1/2} \right) = -\frac{N}{2} \ln(2\pi) - \frac{1}{2} \ln|\Sigma|ln((2π)N/2∣Σ1/21)=ln((2π)N/2∣Σ1/2)=2Nln(2π)21ln∣Σ∣

(2)指数部分(二次型)
ln⁡(exp⁡(−12(x−μ)TΣ−1(x−μ)))=−12(x−μ)TΣ−1(x−μ)\ln \left( \exp\left( -\frac{1}{2} (\mathbf{x} - \boldsymbol{\mu})^T \Sigma^{-1} (\mathbf{x} - \boldsymbol{\mu}) \right) \right) = -\frac{1}{2} (\mathbf{x} - \boldsymbol{\mu})^T \Sigma^{-1} (\mathbf{x} - \boldsymbol{\mu})ln(exp(21(xμ)TΣ1(xμ)))=21(xμ)TΣ1(xμ)

合并结果

ln⁡P(x)=−N2ln⁡(2π)−12ln⁡∣Σ∣−12(x−μ)TΣ−1(x−μ)\ln P(\mathbf{x}) = -\frac{N}{2} \ln(2\pi) - \frac{1}{2} \ln|\Sigma| - \frac{1}{2} (\mathbf{x} - \boldsymbol{\mu})^T \Sigma^{-1} (\mathbf{x} - \boldsymbol{\mu})lnP(x)=2Nln(2π)21ln∣Σ∣21(xμ)TΣ1(xμ)

3. 取负对数

ln⁡P(x)\ln P(\mathbf{x})lnP(x)取负号:
−ln⁡P(x)=N2ln⁡(2π)+12ln⁡∣Σ∣+12(x−μ)TΣ−1(x−μ)-\ln P(\mathbf{x}) = \frac{N}{2} \ln(2\pi) + \frac{1}{2} \ln|\Sigma| + \frac{1}{2} (\mathbf{x} - \boldsymbol{\mu})^T \Sigma^{-1} (\mathbf{x} - \boldsymbol{\mu})lnP(x)=2Nln(2π)+21ln∣Σ∣+21(xμ)TΣ1(xμ)

合并常数项

注意到:
N2ln⁡(2π)+12ln⁡∣Σ∣=12ln⁡((2π)N∣Σ∣)\frac{N}{2} \ln(2\pi) + \frac{1}{2} \ln|\Sigma| = \frac{1}{2} \ln \left( (2\pi)^N |\Sigma| \right)2Nln(2π)+21ln∣Σ∣=21ln((2π)N∣Σ∣)
因此最终形式为:
−ln⁡P(x)=12ln⁡((2π)N∣Σ∣)+12(x−μ)TΣ−1(x−μ)-\ln P(\mathbf{x}) = \frac{1}{2} \ln \left( (2\pi)^N |\Sigma| \right) + \frac{1}{2} (\mathbf{x} - \boldsymbol{\mu})^T \Sigma^{-1} (\mathbf{x} - \boldsymbol{\mu})lnP(x)=21ln((2π)N∣Σ∣)+21(xμ)TΣ1(xμ)

4. 代码验证

通过以下Python代码验证推导的正确性:

importnumpyasnp# 定义高斯分布概率密度函数defgaussian_pdf(x,mu,Sigma):N=len(mu)det_Sigma=np.linalg.det(Sigma)inv_Sigma=np.linalg.inv(Sigma)coeff=1/(np.sqrt((2*np.pi)**N*det_Sigma))exponent=-0.5*np.dot((x-mu).T,np.dot(inv_Sigma,(x-mu)))returncoeff*np.exp(exponent)# 示例参数mu=np.array([0,0])Sigma=np.array([[1,0.5],[0.5,1]])x=np.array([1,1])# 计算概率密度p_x=gaussian_pdf(x,mu,Sigma)# 计算负对数neg_log_p=-np.log(p_x)# 手动计算验证公式N=len(mu)det_Sigma=np.linalg.det(Sigma)inv_Sigma=np.linalg.inv(Sigma)quadratic=np.dot((x-mu).T,np.dot(inv_Sigma,(x-mu)))manual_neg_log=0.5*(N*np.log(2*np.pi)+np.log(det_Sigma)+quadratic)print("概率密度 P(x):",p_x)print("负对数 -ln(P(x)):",neg_log_p)print("手动计算验证结果:",manual_neg_log)

输出结果

概率密度 P(x): 0.09435389770895924 负对数 -ln(P(x)): 2.3607026968501215 手动计算验证结果: 2.360702696850122

5. 关键结论

  • 负对数的物理意义:负对数将概率密度转化为“能量函数”,最小化负对数等价于最大化概率密度,这是最大似然估计(MLE)的核心思想。
  • 二次型的几何意义(x−μ)TΣ−1(x−μ)(\mathbf{x} - \boldsymbol{\mu})^T \Sigma^{-1} (\mathbf{x} - \boldsymbol{\mu})(xμ)TΣ1(xμ)是马哈拉诺比斯距离(Mahalanobis distance),衡量x\mathbf{x}x偏离均值的程度(考虑协方差结构)。
  • 应用场景:在SLAM中,通过最小化负对数构建最小二乘问题,实现状态估计(如位姿和地图的联合优化)。

通过数学推导与代码验证,我们完整解释了高斯分布取负对数的每一步过程,并验证了公式的正确性。

http://www.cnnetsun.cn/news/189925.html

相关文章:

  • 计算机Java毕设实战-基于springboot的面试刷题平台系统的设计与实现基于SpringBoot的教资在线刷题系统的设计与实现【完整源码+LW+部署说明+演示视频,全bao一条龙等】
  • 2025企业自动化终极指南:零代码RPA完整解决方案
  • 大学生必备7款AI论文工具:选题大纲开题初稿降重一站式搞定!
  • BetterNCM音乐插件管理器终极指南:打造个性化音乐体验
  • BetterNCM Installer:三分钟搞定网易云音乐功能升级
  • 你的3D工作流是否卡在这些瓶颈?专业级跨平台迁移解决方案深度剖析
  • 串口助手完整使用教程:从零基础到高效调试
  • 终极指南:XiaoMusic群晖Docker部署完整解决方案
  • 解析GEO优化专家孟庆涛AI领域高成就的核心原因
  • BetterNCM插件终极指南:从零配置到精通应用
  • BetterNCM安装工具完整使用指南
  • OpenCore终极指南:让老Mac一键升级最新macOS的完整方案
  • ESP32引脚资源分配建议:合理规划I/O口方案
  • 本地Cookie导出终极指南:5分钟学会安全获取浏览器Cookie
  • Windows 11硬件限制完全突破指南:让旧电脑焕发新生
  • 屏幕标注神器ppInk:从入门到精通的全方位指南
  • Magisk实战宝典:从入门到精通的Android系统定制指南
  • Beyond Compare 5 终极密钥生成工具使用完整指南
  • 3步解锁旧Mac潜能:OpenCore Legacy Patcher完整使用指南
  • OpenRPA完全指南:企业级免费开源RPA平台深度解析
  • Android系统优化终极指南:5大核心技巧快速提升设备性能
  • BetterNCM完整安装教程:轻松打造个性化网易云音乐
  • 具身智能如何与大模型结合
  • 探索AI应用架构师增量学习应用实践的新边界
  • Beyond Compare 5激活宝典:轻松获取永久授权密钥
  • BetterNCM插件管理器:打造极致网易云音乐体验的终极指南
  • 《把脉行业与技术趋势》-53-软件开发模式系统性重构、迈向人机共生的软件工程新时代
  • Elasticsearch内存模型实战:JVM堆配置优化
  • 小爱音箱音乐自由:5个技巧解锁无限听歌新体验
  • 5步搞定Windows系统优化:从问题诊断到性能提升实战指南