news 2026/4/16 12:03:00

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

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
视觉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中,通过最小化负对数构建最小二乘问题,实现状态估计(如位姿和地图的联合优化)。

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

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/16 2:18:59

浏览器Cookie本地导出工具:安全高效的数据管理解决方案

浏览器Cookie本地导出工具:安全高效的数据管理解决方案 【免费下载链接】Get-cookies.txt-LOCALLY Get cookies.txt, NEVER send information outside. 项目地址: https://gitcode.com/gh_mirrors/ge/Get-cookies.txt-LOCALLY 在数字化时代,Cooki…

作者头像 李华
网站建设 2026/4/13 9:07:27

小爱音响音乐服务深度故障排查与优化指南

小爱音响音乐服务深度故障排查与优化指南 【免费下载链接】xiaomusic 使用小爱同学播放音乐,音乐使用 yt-dlp 下载。 项目地址: https://gitcode.com/GitHub_Trending/xia/xiaomusic 小爱音响音乐服务(xiaomusic)是一款基于Python开发的智能音乐播放解决方案…

作者头像 李华
网站建设 2026/4/12 12:26:20

BetterNCM插件终极安装手册:轻松解锁网易云音乐隐藏功能

厌倦了网易云音乐单调乏味的界面?想要让音乐播放器拥有更多个性化功能?BetterNCM插件正是你寻找的完美解决方案。作为网易云音乐的强大扩展平台,它能够彻底改变你的音乐体验。无论你是技术新手还是资深玩家,这份手册都能指导你顺利…

作者头像 李华
网站建设 2026/4/4 3:20:25

FGA自动战斗神器:告别FGO重复操作的终极武器

FGA自动战斗神器:告别FGO重复操作的终极武器 【免费下载链接】FGA FGA - Fate/Grand Automata,一个为F/GO游戏设计的自动战斗应用程序,使用图像识别和自动化点击来辅助游戏,适合对游戏辅助开发和自动化脚本感兴趣的程序员。 项目…

作者头像 李华
网站建设 2026/4/14 8:25:24

BetterNCM-Installer终极指南:一键增强网易云音乐功能

BetterNCM-Installer终极指南:一键增强网易云音乐功能 【免费下载链接】BetterNCM-Installer 一键安装 Better 系软件 项目地址: https://gitcode.com/gh_mirrors/be/BetterNCM-Installer BetterNCM-Installer是一款专为PC版网易云音乐设计的插件管理器&…

作者头像 李华
网站建设 2026/4/15 14:09:49

WinBtrfs终极部署指南:5步快速实现Windows跨平台文件共享

WinBtrfs终极部署指南:5步快速实现Windows跨平台文件共享 【免费下载链接】btrfs WinBtrfs - an open-source btrfs driver for Windows 项目地址: https://gitcode.com/gh_mirrors/bt/btrfs 还在为Windows与Linux系统间文件共享而烦恼吗?WinBtrf…

作者头像 李华