为什么scipy.optimize.最小二乘法存在于何时scipy.optimize.minimize.最小化可能会被用于同样的事情?

2024-05-12 21:45:24 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图理解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.minimize不支持trfdogbox和{}方法?在

谢谢。在


Tags: 方法函数用户模型功能scipy手动事情
1条回答
网友
1楼 · 发布于 2024-05-12 21:45:24

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

它类似于高斯-牛顿算法和牛顿方法的区别,参见Wikipediathis question。在

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

相关问题 更多 >