我有一个想要优化的复杂目标函数。优化问题需要相当长的时间来优化。幸运的是,我确实有可用的函数的梯度和粗麻布。
R 中是否有一个优化包可以接受所有这三个输入? “optim”类不接受 Hessian 矩阵。我已经扫描了用于优化的 CRAN 任务页面 http://cran.r-project.org/web/views/Optimization.html并没有弹出任何东西。
无论如何,我可以使用 ' 在 MATLAB 中执行优化fminunc http://www.mathworks.com/help/toolbox/optim/ug/fminunc.html' 与 'GradObj' 和 'Hessian' 参数。
我认为包trust http://cran.r-project.org/web/packages/trust/index.html信任区域优化可以解决这个问题。从文档trust http://cran.r-project.org/web/packages/trust/index.html,你看到了
该函数执行函数的最小化或最大化
使用信任域算法...(它接受)一个 R 函数
计算要最小化的函数的值、梯度和 Hessian
或最大化并将它们作为包含组件值的列表返回,
梯度和粗麻布。
事实上,我认为它使用了与fminunc
.
默认情况下fminunc
如果您提供,则选择大规模算法
fun 中的渐变并使用 optimset 将 GradObj 设置为“on”。这个算法
是一种子空间信赖域方法,基于
[2] 和 [3] 中描述了内反射牛顿法。每个
迭代涉及大型线性系统的近似解
使用预条件共轭梯度(PCG)的方法。看
大规模 fminunc 算法,非线性信任域方法
最小化和预处理共轭梯度法。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)