r - Matlab 的 fminunc 函数的 R 等价物是什么?

标签 r matlab math mathematical-optimization

为了计算最佳 theta,例如在逻辑回归中,我必须创建一个 costFunction(要最小化的函数),然后将其传递给 fminunc 以获得最佳 theta。 此外,如果可以计算 costFunction 的梯度,我将“GradObj”选项设置为“on”,使用

options = optimset('GradObj','on');

并对 costFunction 进行编码,使其作为第二个输出参数返回 X 的梯度值 g。 然后我给

[theta, cost] = fminunc(@(t)(costFunction(t, X, y)), initial_theta, options);

其中 X 是数据矩阵,y 是响应。如何在 R 中实现上述内容?

最佳答案

看看 optim 函数。它可以使用 method = 'L-BFGS-B' 进行无约束最小化,您也可以指定一个分析函数来计算梯度

编辑。正如 Ben 正确指出的那样,fminunc 进行无约束优化,这也可以使用 optim 函数选择 Nelder-Mead 来实现BFGS。此外,我还从 fminunc 的文档中注意到它使用 trust 区域方法进行了大规模优化。我相信有一个 R 包 trust 可以做同样的事情。我建议您查看优化 task view的 R.

关于r - Matlab 的 fminunc 函数的 R 等价物是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7920590/

相关文章:

r - 在 (R)markdown 文本正文输出中包含 `bibentry` 的文本

r - 根据 R 中的列值更改条形图中条形的颜色

c - 在 C 中将数字相乘时打印的结果不正确

c++ - 清晰缩放图像的算法

r - 根据整数值查找表

r - 具有发展轨迹的散点图

arrays - 如何声明句柄数组

Python 等效于 MATLAB 的冒号运算符

matlab - 使用非齐次隐马尔可夫模型预测降雨量

c++ - 为什么 2 不 > 0 ?它是 <= 0,但不是 < 0,也不 == 0