找回密码
 立即注册
查看: 324|回复: 0

求解Non-Linear Least Square问题

[复制链接]
发表于 2022-2-21 11:35 | 显示全部楼层 |阅读模式
目前求解non linear least square问题的算法有很多种,但是总的可以归纳为两种:

  • 基于trust region(信任域)的优化算法,代表是LM算法(Levenberg-Marquardt Mehod)
  • 基于line search(线搜索)的优化算法,代表是GM算法(Gauss_netwon)
trust region和line search的区别是: trust region会先找下降的步长,再找下降的方向; 而line search会先找下降的方向,再找下降的步长。
line search算法

line search算法的步骤如下:

  • 已知初始点
  • 梯度下降量

  • 如果  足够小则停止迭代,否则
  • 重新从步骤2开始执行直之收敛
其中  是hessian矩阵的近似(求解hessian矩阵计算量较大,故一般采用hessian矩阵的近似), 是gradient(即优化目标函数的一阶导数)。  的不同选取策略会导致  的下降方向有所不同。
trust region算法

trust region算法步骤如下:

  • 已知: 初始点 和一个信任域
  • 求解:   使得

  • 如果   则:
  • 如果 则:
  • 否则 则:
  • 重新从步骤2开始执行
注释:  是信任域半径, 是在作用域 和  内衡量步长  好坏的参数; 比如增加步长  ,优化的目标函数的误差下降的多少。trust region通过增加和减小trust region的半径来控制优化目标函数的误差, 从而来影响  
trust region算法可以简化成:


参考资料:

  • http://ceres-solver.org/nnls_solving.html#
懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Unity开发者联盟 ( 粤ICP备20003399号 )

GMT+8, 2024-9-22 19:25 , Processed in 0.092950 second(s), 26 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表