vis*_*tor 16 scipy least-squares levenberg-marquardt
SciPy为非线性最小二乘问题提供了两个函数:
optimize.leastsq() 仅使用Levenberg-Marquardt算法.
optimize.least_squares() 允许我们选择Levenberg-Marquardt,Trust Region Reflective或Trust Region Dogleg算法.
我们应该总是用least_squares()而不是leastsq()吗?
如果是这样,后者的目的是什么?
小智 18
我们应该总是使用least_squares()而不是leastsq()吗?
是.
如果是这样,后者的目的是什么?
向后兼容性.
该least_squares功能是0.17.1中的新功能.它的文档是指leastsq作为
用于Levenberg-Marquadt算法的MINPACK实现的传统包装器.
当方法被选为'lm'时,实际调用的原始提交引入.但贡献者(Nikolay Mayorov)随后决定least_squaresleastsq
如果我向MINPACK函数编写一个新的包装器,而不是调用leastsq,那么least_squares可能会感觉更加可靠和均匀.
所以他做到了.因此,leastsq不再需要least_squares,但我希望它至少保留一段时间,以避免破坏旧代码.
| 归档时间: |
|
| 查看次数: |
2980 次 |
| 最近记录: |