蛮力没有收敛的概念。它只是在初始值或给定值处评估目标函数,并根据特定参数返回一个或多个 nls 对象。详情请参阅?nls2
。
通常它用于获取输入到 nls 或其他优化函数的起始值,用于研究奇异值(因为nls
阻塞但nls2
没有)或简单地评估nls
已知值的目标函数。
由于问题中复制的文档中的示例为 nls2 提供了一个起始值,因此它以该单个值评估目标并返回。参数估计只是评估它的参数值,即起始值。
> coef(xx)
a b
1 1
xx$m$Rmat()
是一个矩阵,如果问题在计算点处是奇异的,则其奇异值向量至少包含一个零。R 函数svd(...)
返回一个列表,其中分量 d 是奇异值向量,u 和 v 是接下来的两个分量,其中 v 是特征向量。我们在这里对 u 不感兴趣,所以使用 [-2] 来省略它。
对于这种特殊情况,我们看到第二个奇异值为零:
s <- sv(xx$m$Rmat)
s$d
## [1] 6.708204 0.000000
它对应于特征向量
v2 <- s$v[, 2]; v2
## [1] -0.8944272 0.4472136
并且由于特征向量仅被确定为与以下相同的标量倍数:
v2/v2[2]
## [1] -2 1
which is the direction of singularity at the current point of evaluation. In this case adding any multiple of (-2, 1) to (1, 1) gives a RHS that is identical in value to the RHS at (1, 1) so it is clearly singular in that direction. It is simpler in this case than the general case due to linearity of the RHS but it works analogously relative to the tangent space, i.e. infinitesmally, for nonlinear objective functions.