首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >R nlminb错误收敛实际上意味着什么?

R nlminb错误收敛实际上意味着什么?
EN

Stack Overflow用户
提问于 2016-10-14 09:01:19
回答 1查看 7.6K关注 0票数 12

我使用nlminb函数来最大化一个函数,并得到收敛性(收敛=0 )和消息错误收敛。

我试过文件,但没有回答。我试着获取函数上的港口文件,可以找到函数nlminb

有人能告诉我nlminb的端口文档或者解释错误收敛意味着什么吗?

我也尝试过其他优化函数,但是尽管nlminb有点模糊,但它似乎比任何其他函数都更快地收敛到正确的答案。需要执行更多的测试来确保。即使通过优化使用nlminb也是相当慢的。

如果我们能更好地理解这个函数的工作原理,那将是件好事。福特兰程序员请随时帮忙。

编辑我应该早点找到代码的。这里它是,但它仍然是模糊的。有人能帮忙吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-10-14 17:51:46

这是对R-sig混合模型的我的答案的重新发布/改编

[...nlminb()优化器..。是基于端口库的。

?nlminb链接的文档过去在http://netlib.bell-labs.com/cm/cs/cstr/153.pdfhttp://www.netlib.org/port/cs/cstr

端口/自述文件指向“所选优化例程的使用摘要”,有时在http://netlib.bell-labs.com/cm/cs/cstr/153.ps.gzhttp://netlib.bell-labs.com/cm/cs/cstr/153.pdf中称为端口优化文档

..。但是这些链接被破坏了(port/readme仍然存在,但是没有一个链接提供工作.)。

我设法通过谷歌学者找到了文档,并发布了一个稍微方便一些的PDF版本

在这些文档中,我能找到的唯一有用的材料是:

P.5:错误收敛:梯度∇f( x )可能计算错误,其他停止公差可能太紧,或者f或∇f在当前迭代x附近不连续。 第9页: V(XFTOL) - V(34)是假收敛容忍.如果不满足更有利的停止测试,并且尝试了最多V(XFTOL)的缩放长度的步骤(XFTOL),则出现IV(1) =8的返回。“缩放长度”的意义是(5.1)。这样的返回通常意味着计算∇f(x)时会出现错误,或者有利的收敛公差(V(RFCTOL)、V(XCTOL)和可能V(AFCTOL))太紧,以致于计算f(x)的精度(见§9)或∇f (或f本身)在x附近不连续。计算∇f(x)时出现的错误通常只需几次迭代就会导致错误收敛--通常是在第一次迭代中。默认值= 100*MACHEP。 p. 13:有时计算f(x)需要进行大量的计算,例如进行模拟或自适应数值求积,或积分一个常微分方程或偏微分方程。在这种情况下,为f(X)计算的值,例如f̃( x),可能涉及很大的误差(在优化算法中)。为了消除一些“假收敛”消息和无用的函数求值,有必要增加停止公差,并在使用有限差分导数逼近时,增加用于估计导数的步长。

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

https://stackoverflow.com/questions/40039114

复制
相关文章

相似问题

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