news 2026/6/10 18:50:55

视觉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/6/10 13:45:46

2026年必看AI编程助手盘点:八大工具开启智能体开发新时代

随着AI智能体技术的成熟,2026年的编程范式正在经历从“辅助编写”到“自主协作”的根本性转变。选择合适的AI编程伙伴,意味着获得一个能理解意图、分解任务并主动执行的数字同事。本文将深入剖析引领这一变革的八大前沿工具,为您揭示如何借助…

作者头像 李华
网站建设 2026/6/10 13:02:38

BetterNCM安装器完整使用指南:从下载到配置的终极教程

BetterNCM安装器完整使用指南:从下载到配置的终极教程 【免费下载链接】BetterNCM-Installer 一键安装 Better 系软件 项目地址: https://gitcode.com/gh_mirrors/be/BetterNCM-Installer 还在为网易云音乐功能单一而烦恼吗?BetterNCM安装器为你提…

作者头像 李华
网站建设 2026/6/10 14:26:56

一文说清LCD1602只亮不显示的数据线连接问题

一文说清LCD1602只亮不显示的数据线连接问题你有没有遇到过这样的情况:给LCD1602上电,背光亮了,屏幕也清晰,但就是一个字都不显示?既没有“Hello World”,也没有乱码,甚至连黑块都没有——仿佛这…

作者头像 李华
网站建设 2026/6/10 13:15:53

BetterNCM插件管理器:让网易云音乐体验全面升级的简单方法

BetterNCM插件管理器:让网易云音乐体验全面升级的简单方法 【免费下载链接】BetterNCM-Installer 一键安装 Better 系软件 项目地址: https://gitcode.com/gh_mirrors/be/BetterNCM-Installer 还在为网易云音乐的功能限制而烦恼吗?BetterNCM插件管…

作者头像 李华
网站建设 2026/6/10 13:21:00

BetterNCM-Installer:解锁网易云音乐隐藏潜能的终极指南

BetterNCM-Installer:解锁网易云音乐隐藏潜能的终极指南 【免费下载链接】BetterNCM-Installer 一键安装 Better 系软件 项目地址: https://gitcode.com/gh_mirrors/be/BetterNCM-Installer 你是否曾经觉得网易云音乐的功能还不够强大?是否希望为…

作者头像 李华
网站建设 2026/6/9 19:28:12

Java毕设选题推荐:基于SpringBoot考试刷题平台设计和实现基于springboot的面试刷题平台系统的设计与实现【附源码、mysql、文档、调试+代码讲解+全bao等】

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

作者头像 李华