这篇文章翻译自官方教程Analytic Derivatives并且参考了少年的此间的博客文章Ceres-Solver学习笔记(5)
我们来思考一个相对复杂的曲线拟合问题。待确定参数方程如下:
y=b1(1+eb2−b3x)1/b4 y = b 1 ( 1 + e b 2 − b 3 x ) 1 / b 4
现在给定一系列的对应数据点 {
xi,yi}, ∀i=1,...,n { x i , y i } , ∀ i = 1 , . . . , n 。我们面临的问题就是求解 b1,b2,b3,b4 b 1 , b 2 , b 3 , b 4 使下列表达式的取值最小:
E(b1,b2,b3,b4)=∑if2(b1,b2,b3,b4;x

本文介绍了在Ceres Solver中使用解析微分法解决复杂曲线拟合问题的案例,通过计算导数并优化表达式,提高了效率。讨论了何时应考虑使用analytical derivatives,包括表达式简单、可用计算机代数系统辅助以及特定代数结构能提升性能的情况。同时强调在决定采用这种方法前,需要评估计算成本,并提到了无法通过其他方式计算导数的特殊情况。
最低0.47元/天 解锁文章
514

被折叠的 条评论
为什么被折叠?



