我使用nlm来最大化R中的可能性。我希望预测可能性评估的数量,并在任务可能花费太长时间时中止。nlm返回“迭代”的次数(通常为10-20次),我认为每次迭代都涉及到黑森数的一个数值计算。每次迭代的时间(Hessian?)取决于参数的数量。所以我想知道:在nlm中,参数数量和每次迭代的函数求值数量之间的一般关系是什么?
发布于 2019-11-05 10:48:59
这个问题非常笼统,我的答案也是如此。
来自nlm的参考
如果函数值具有名为渐变的属性或同时具有渐变和赫斯属性,则这些属性将用于计算更新的参数值。否则,将使用数值导数。deriv返回一个具有合适的渐变属性和可选的hessian属性的函数。
如果为要最小化的函数提供梯度和Hessian,则每次迭代都会涉及两个函数求值。如果你不这样做,Hessian和梯度都是用数值计算的。源代码可以在here上找到。据我所知,R nlm函数的参数只影响迭代次数直到收敛,但不影响梯度的数值计算方式。
https://stackoverflow.com/questions/58701834
复制相似问题