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

【高斯拟合最终篇】Levenberg-Marquardt(LM)算法

Levenberg-Marquardt(LM)算法是一种结合高斯-牛顿法和梯度下降法的优化方法,特别适合非线性最小二乘问题,如高斯函数拟合。它通过引入阻尼因子(damping factor)平衡高斯-牛顿法的快速收敛和梯度下降法的稳定性。以下是基于之前的 gaussian_fit.py,加入 LM 算法实现高斯拟合的 Python 示例,包含计算公式、代码和可视化结果,与高斯-牛顿法和梯度下降法的结果对比。


计算公式

高斯函数

高斯函数形式为:
f ( x ; A , μ , σ ) = A exp ⁡ ( − ( x − μ ) 2 2 σ 2 ) f(x; A, \mu, \sigma) = A \exp\left(-\frac{(x - \mu)^2}{2\sigma^2}\right) f(x;A,μ,σ)=Aexp(2σ2(xμ)2)

  • A A A: 幅度,控制曲线高度。
  • μ \mu μ: 均值,控制曲线中心。
  • σ \sigma σ: 标准差,控制曲线宽度。
优化目标

最小化残差平方和:
S ( θ ) = ∑ i = 1 n ( y i − f ( x i , θ ) ) 2 , θ = [ A , μ , σ ] S(\theta) = \sum_{i=1}^n (y_i - f(x_i, \theta))^2, \quad \theta = [A, \mu, \sigma] S(θ)=i=1n(yif(xi,θ))2,θ=[A,μ,σ]

  • y i y_i yi: 观测数据。
  • f ( x i , θ ) f(x_i, \theta) f(xi,θ): 模型预测值。
  • r i = y i − f ( x i , θ ) r_i = y_i - f(x_i, \theta) ri=yif(xi,θ): 残差。
雅可比矩阵

雅可比矩阵 ( J ) 包含高斯函数对参数 θ = [ A , μ , σ ] \theta = [A, \mu, \sigma] θ=[A,μ,σ] 的偏导数:
J = [ ∂ f ( x 1 ) ∂ A ∂ f ( x 1 ) ∂ μ ∂ f ( x 1 ) ∂ σ ⋮ ⋮ ⋮ ∂ f ( x n ) ∂ A ∂ f ( x n ) ∂ μ ∂ f ( x n ) ∂ σ ] J = \begin{bmatrix} \frac{\partial f(x_1)}{\partial A} & \frac{\partial f(x_1)}{\partial \mu} & \frac{\partial f(x_1)}{\partial \sigma} \\ \vdots & \vdots & \vdots \\ \frac{\partial f(x_n)}{\partial A} & \frac{\partial f(x_n)}{\partial \mu} & \frac{\partial f(x_n)}{\partial \sigma} \end{bmatrix} J= Af(x1)Af(xn

http://www.xdnf.cn/news/6939.html

相关文章:

  • Vue Router——路由基础详解(二)
  • Datawhale PyPOTS时间序列5月第3次笔记
  • Python实例题:Python百行制作登陆系统
  • Java中synchronized 关键字
  • Spring MVC 如何处理文件上传? 需要哪些配置和依赖?如何在 Controller 中接收上传的文件 (MultipartFile)?
  • Selenium无法定位元素的几种解决方案详解
  • AgentCPM-GUI,清华联合面壁智能开源的端侧GUI智能体模型
  • 远程主机状态监控-GPU服务器状态监控-深度学习服务器状态监控
  • 使用ts-node搭建typescript运行环境
  • Java Stream流:高效数据处理的现代解决方案
  • 操作系统学习笔记第4章 (竟成)
  • JavaScript性能优化实战(11):前沿技术在性能优化中的应用
  • 基于Spring Boot和Vue的在线考试系统架构设计与实现(源码+论文+部署讲解等)
  • Canva 推出自有应用生成器以与 Bolt 和 Lovable 竞争
  • 2025年渗透测试面试题总结-安恒[实习]安全工程师(题目+回答)
  • 谈谈未来iOS越狱或巨魔是否会消失
  • 卸载和安装JDK
  • 【持续更新中】架构面试知识学习总结
  • 布隆过滤器深度解析
  • 【OpenGL学习】(二)OpenGL渲染简单图形
  • Spring6学习及复习笔记
  • flutter 配置 安卓、Ios启动图
  • CoverM:contig/bin的相对丰度计算
  • 数字万用表与指针万用表使用方法及注意事项
  • Redis键(Key)操作完全指南:从基础到高级应用
  • Java-Objects类高效应用的全面指南
  • Animaster:一次由 CodeBuddy 主导的 CSS 动画编辑器诞生记
  • 小型气象站应用之鱼塘养殖方案
  • GitHub文档加载器设计与实现
  • Win11下轻松搭建wiki.js,Docker.desktop部署指南(mysql+elasticsearch+kibana+wiki.js)