首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在使用TMB进行优化时,这条outermgc消息是什么?

在使用TMB进行优化时,这条outermgc消息是什么?
EN

Stack Overflow用户
提问于 2017-03-17 13:46:19
回答 1查看 643关注 0票数 1

在用TMB生成目标函数和梯度,并调用optim函数后,我在控制台中得到了一系列打印的报告,其形式似乎是“get mgc:":

代码语言:javascript
复制
outer mgc:  56.54273 
outer mgc:  56.51064 
outer mgc:  56.96065 
outer mgc:  57.13384 
outer mgc:  29.01959 
outer mgc:  27.08267 
outer mgc:  25.99866 
outer mgc:  25.79068 
outer mgc:  25.58621 
outer mgc:  21.91722 
outer mgc:  21.73952 
outer mgc:  21.56449 
outer mgc:  21.52924 
outer mgc:  21.52189 
outer mgc:  21.19551 
outer mgc:  20.7331 
outer mgc:  16.39087 
outer mgc:  11.35111 
outer mgc:  10.61466 
outer mgc:  6.748524 
outer mgc:  1.420802 
outer mgc:  0.1197647 

似乎较小的数字表示更快的收敛和更好的收敛结果。但我不能完全确定这些是什么,所以为了诊断算法的收敛特性,知道这一点是很好的。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-08-04 02:28:46

缩写mgc代表“最大梯度分量”。

对于每个参数,TMB估计一个梯度(偏导数),在优化之后,您可以通过运行obj$gr(opt$par)获得该梯度。所有这些都应该尽可能接近于零。因此,对于正常的模型,最高或最大值(离零最远)应该仍然很低。您会注意到,在使用sdreport()时,还会给出最终的最大梯度分量。在使用nlminb/optim时,默认情况下也会为每次迭代计算和打印这些梯度(除非makeADfun中的silent=TRUE )。

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

https://stackoverflow.com/questions/42850082

复制
相关文章

相似问题

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