LBFGS永远收敛

mer*_*xes 5 machine-learning convergence

我正在使用HCRF库进行序列预测任务.为了学习模型参数,我使用LBFGS,尽管有使用CG和BFGS的选项.

我注意到收敛需要很长时间.我已经将最大迭代次数(当前)设置为5000.如果我对HCRF库的解释是正确的,那么从迭代到迭代的估计值的变化会变得更小.但是,该程序似乎不会在少于5000次迭代中终止,而且它实际上只需要很长时间.

如果我将最大迭代次数设置为500,那么在第500次迭代时,结果如下所示:

Iteration 500
fx = 465.359
xnorm 38.0831, gnorm = 46.3165, step = 1line search = 1
Run Code Online (Sandbox Code Playgroud)

它以此消息终止:

L-BFGS optimization terminated with status code = -997
fx = 465.359
Run Code Online (Sandbox Code Playgroud)

这意味着已达到最大迭代次数.

这对数据意味着什么?是否可以在较早的时间(例如300次迭代)终止它?如果是这样,什么是合理的"上限"或最大迭代次数?

为了让您了解我正在训练的数据,我使用20,000 - 30,000次观察,每次观察14个特征.

谢谢,任何见解肯定会受到赞赏.