gpt4 book ai didi

java - 如何配置Stanford QNMinimizer以获得与scipy.optimize.minimize L-BFGS-B类似的结果

转载 作者:行者123 更新时间:2023-11-30 03:22:42 26 4
gpt4 key购买 nike

我想配置斯坦福核心 NLP 库中的 QN-Minimizer,以获得与 scipy 优化 L-BFGS-B 实现几乎相似的优化结果,或者获得适合大多数情况的标准 L-BFSG 配置。我设置的标准参数如下:

我要复制的Python示例:

scipy.optimize.minimize(neuralNetworkCost, input_theta, method = 'L-BFGS-B', jac = True)

我尝试在 Java 中做同样的事情:

QNMinimizer qn = new QNMinimizer(10,true) ;
qn.terminateOnMaxItr(batch_iterations);
//qn.setM(10);
output = qn.minimize(neuralNetworkCost, 1e-5, input,15000);

我需要的是一个可靠且通用的L-BFSG配置,适合解决大多数问题。

我也不确定是否需要为标准 L-BFGS 配置设置其中一些参数:

useAveImprovement = ?;
useRelativeNorm = ?;
useNumericalZero = ?;
useEvalImprovement = ?;

感谢您提前提供的帮助,我是该领域的新手。

信息资源:斯坦福核心 NLP QNMinimizer: http://nlp.stanford.edu/nlp/javadoc/javanlp-3.5.2/edu/stanford/nlp/optimization/QNMinimizer.html#setM-int- https://github.com/stanfordnlp/CoreNLP/blob/master/src/edu/stanford/nlp/optimization/QNMinimizer.java

Scipy 优化 L-BFGS-B: http://docs.scipy.org/doc/scipy/reference/generated/scipy.optimize.minimize.html http://docs.scipy.org/doc/scipy-0.14.0/reference/generated/scipy.optimize.fmin_l_bfgs_b.html

提前致谢!

最佳答案

你所拥有的应该没问题。 (你真的遇到过任何问题吗?)

在最大迭代和最大函数求值上设置终止可能有点矫枉过正,因此您可能会省略 qn.minimize() 的最后一个参数,但从文档看来 scipy 确实使用了这两个参数默认值为 15000。

一般来说,使用robustOptions(与您一样使用第二个参数true)应该给出可靠的最小化器,类似于scipy的pgtol收敛标准。其他选项适用于特殊情况或只是为了试验它们的工作原理。

关于java - 如何配置Stanford QNMinimizer以获得与scipy.optimize.minimize L-BFGS-B类似的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30965541/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com