首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >当scipy.optimize.least_squares可能被用于相同的事情时,为什么scipy.optimize.minimize会存在?

当scipy.optimize.least_squares可能被用于相同的事情时,为什么scipy.optimize.minimize会存在?
EN

Stack Overflow用户
提问于 2018-03-10 17:11:49
回答 1查看 1.9K关注 0票数 6

我试图理解为什么scipy.optimize.least_squares存在于scipy中。该函数可用于进行模型拟合.然而,我们可以使用scipy.optimize.minimize来做同样的事情。唯一的区别是,scipy.optimize.least_squares在内部进行计算,而如果一个人想要使用scipy.optimize.minimize,他/她必须手工计算用户想要最小化的函数内的气平方。另外,scipy.optimize.least_squares不能被认为是scipy.optimize.minimize的包装器,因为它支持的三种方法(trfdogboxlm)根本不受scipy.optimize.minimize的支持。

所以我的问题是:

  • 当使用scipy.optimize.least_squares可以实现相同的结果时,为什么存在scipy.optimize.minimize
  • 为什么scipy.optimize.minimize不支持trfdogboxlm方法?

谢谢。

EN

回答 1

Stack Overflow用户

发布于 2019-09-03 10:48:15

scipy.optimize.least_squares中的算法利用极小化问题的最小二乘结构,以获得更好的收敛性(或所用导数的低阶)。

它类似于高斯-牛顿算法和牛顿方法的区别,参见维基百科这个问题

特别是,高斯-牛顿只使用雅可比(第一导数),而牛顿的方法也使用Hessian (第二导数),这是昂贵的计算。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49211783

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档