R nlminb虚假收敛实际上是什么意思? [英] R nlminb What does false convergence actually mean?

查看:97
本文介绍了R nlminb虚假收敛实际上是什么意思?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在使用函数nlminb来最大化一个函数,并通过消息false-convergence收敛(convergence = 0).

I'm using the function nlminb to maximise a function and got convergence (convergence =0 ) with the message false-convergence.

我尝试了文档,但没有答案.我试图获取有关该功能的端口文档,并且可以找到该功能nlminb

I tried the documentation but no answer. I tried to get the port documentation on the function and could find the function nlminb

谁能指出我nlminb的端口文档或解释错误收敛是什么意思?

Can anyone point me to the port documentation of nlminb or explain what does false convergence mean please ?

我也尝试了其他优化功能,但是尽管nlminb有点晦涩难懂,但它的收敛速度似乎比其他任何函数都更适合正确的答案.需要执行更多测试以确保.即使通过optimx使用nlminb也相当慢.

I also tried other optimization function but though nlminb is a bit obscure, it seems to converge faster than any other function to the right answer. Need to perform more test to make sure. Even using the nlminb through optimx is considerably slow.

如果我们进一步了解此功能的工作原理,那将是一件好事. Fortran编码人员可以随时为您提供帮助.

It would be a good thing if we understand more how this function work. Fortran coders feel free to help please.

修改 我应该早先找到代码. 此处但它仍然是晦涩的.有人可以帮忙吗

Edit I should have found the code earlier. Here it is but it is still obscure. Can somebody help

推荐答案

这是 [... nlminb()优化器...基于PORT库.

[... The nlminb() optimizer ... is based on the PORT libraries.

?nlminb 链接的文档以前是在http://netlib.bell-labs.com/cm/cs/cstr/153.pdf:

port/readme指向选定优化例程的使用摘要",有时在 ...但是这些链接已断开(port/readme仍然存在,但没有提供的链接可用...).

... but these links are broken (port/readme is still there but none of the links provided work ...).

我设法通过 Google学术搜索,并发布了更为方便的 PDF版本.

I managed to find the docs via Google Scholar and have posted a slightly more convenient PDF version.

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

The only useful material I could find in these docs was:

p. 5:错误收敛:可能计算出梯度∇f(x) 错误地,其他止动公差可能太紧,或者 f或∇f在当前迭代x附近可能是不连续的.

p. 5: false convergence: the gradient ∇f(x) may be computed incorrectly, the other stopping tolerances may be too tight, or either f or ∇f may be discontinuous near the current iterate x.

p. 9:V(XFTOL)— V(34)是伪收敛容差回报 如果没有更有利的停止测试,则发生IV(1)= 8 是否满足并且是否尝试了最大长度为V(XFTOL)的按比例缩放的步长,但 不接受. 缩放的长度"是指(5.1).这样的 return通常表示在计算∇f(x)时存在错误,或者 有利的收敛容限(V(RFCTOL),V(XCTOL)和 也许V(AFCTOL))对于f(x)的精度来说太紧了 计算(请参阅§9),或∇f(或f本身)在x附近不连续.一个 计算∇f(x)时的错误通常会导致 仅几次迭代-通常在第一次迭代中.默认值= 100 * MACHEP.

p. 9: V(XFTOL) — V(34) is the false-convergence tolerance. A return with IV(1) = 8 occurs if a more favorable stopping test is not satisfied and if a step of scaled length at most V(XFTOL) is tried but not accepted. ‘‘Scaled length’’ is in the sense of (5.1). Such a return generally means there is an error in computing ∇f(x), or the favorable convergence tolerances (V(RFCTOL), V(XCTOL), and perhaps V(AFCTOL)) are too tight for the accuracy to which f(x) is computed (see §9), or ∇f (or f itself) is discontinuous near x . An error in computing ∇f(x) usually leads to false convergence after only a few iterations — often in the first. Default = 100*MACHEP.

p. 13:有时评估f(x)涉及广泛的计算, 例如执行模拟或自适应数字正交或 积分一个常微分方程或偏微分方程.在这样的 为f(x)计算的值,例如f̃(x),可能涉及 重大错误(在优化算法看来).到 消除一些虚假融合"消息和无用的功能 评估,有必要增加止动公差,并且 当使用有限差分导数近似时,增加 估计导数所用的步长.

p. 13: Sometimes evaluating f(x) involves an extensive computation, such as performing a simulation or adaptive numerical quadrature or integrating an ordinary or partial differential equation. In such cases the value computed for f (x), say f̃( x ), may involve substantial error (in the eyes of the optimization algorithm). To eliminate some ‘‘false convergence’’ messages and useless function evaluations, it is necessary to increase the stopping tolerances and, when finite-difference derivative approximations are used, to increase the step-sizes used in estimating derivatives.

这篇关于R nlminb虚假收敛实际上是什么意思?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆