非凸 objective 函数的 LBFGS

LBFGS for non-convex objective function

我正在使用 Scipy 的 LBFGS 实现来最小化非凸函数 objective。结果还不错。但是收敛的状态是"ABNORMAL_TERMINATION_IN_LNSRCH"。

有没有可能是因为我的objective函数是非凸的?或者这是否意味着我的梯度(手动分析计算并作为参数传递给 Scipy 的 LBFGS)是错误的?

一切都很好。通常L-BGFS,梯度下降是凸优化方法。这意味着你的优化函数应该有一个全局最小值并且应该是平滑的。当函数是非凸函数时,它具有不同的地形,我们称之为局部最小值。所以在这种情况下,当我们对非凸函数使用凸优化方法时,发生的事情是你的优化过程可以找到一个局部最小值,这不是完美的答案。