从某种意义上说,Newton Raphson是在自动进行自适应步长;它根据梯度的变化率调整每个维度的步骤(改变方向)。如果该函数是二次的,则此“最佳”更新在一步中收敛。
当然,一般目标函数不是二次的,或者我们不需要迭代牛顿拉夫森算法,因为有一个封闭形式的解决方案(即第一步)。但是,如果问题是凸的,我们可以证明该算法仍然会收敛。如果函数特别不稳定(即 Hessian 非常不稳定),通常使用线搜索方法是一个好主意,例如,检查半步是否实际上比由香草牛顿-拉夫森。
一般来说,我看不出使用线搜索在外部进行自适应步长的任何充分理由。一阶方法的自适应步长强烈地受到尝试的激励通过 Hessian 调整步长,Newton Raphson 已经这样做了。您可能想要这样做的一个有趣案例是,如果您正在执行小批量更新之类的操作,您只使用完整数据的一小部分来逼近目标函数(我提到这一点是因为使用了 SGD 标签)。然后,Newton Raphson 正在采取适应措施的事实实际上很糟糕。您不想立即优化近似函数,因为您会跳得太远并且永远不会收敛。但是,通常小批量处理的问题是 Newton Raphson 无法处理的问题;它们通常是高度多模态和非常高维的,因此形成和求解完整的 Hessian(即使仅来自数据的子样本)是令人望而却步的。
编辑:
在评论中,OP 询问使用路径历史来告知步长。这在改进一阶方法(即 ADAM)中非常常见。这里需要注意的一点是,在一阶方法中,通常会尝试捕获有关梯度的二阶信息以更新步骤。这在 Hessian 相对稳定的情况下很有用;如果 Hessian 在路径上变化很大,使用路径历史来估计当前的 Hessian 可能不是很有用!很快,我将论证为什么在许多最大似然问题中,我们应该期望 Hessian 相当稳定。
所以我们可以将这个概念扩展到二阶问题。回想一下,Newton Raphson 的每一步都根据目标函数的局部二次逼近进行更新。因此,单个步骤中的误差与沿 Newton Raphson 步骤推荐的路径的三阶导数直接相关。这表明,在我们认为三阶导数相对于二阶导数相对较大且有些恒定的情况下,从路径中学习将改善牛顿拉夫森。可能有关于这方面的文献,但我不知道。
有趣的是,我们可以证明,在样本量较大、相对于估计的参数数量或模型受到惩罚的严重惩罚的情况下,这种相对于二阶导数较大的情况不会发生。L_2惩罚示例很容易展示:L2L2L2惩罚影响二阶导数,但不影响三阶导数。如果我们有很大的样本量与参数估计比,我们可以遵循最大似然估计理论;MLE 的分布逐渐接近正态分布。这意味着对数似然接近二次函数......这意味着渐近地,香草牛顿拉夫森应该表现得非常好!我的(绝不是详尽的)经验是,在许多统计问题上,Newton Raphson 只对较小的数据集有问题,对于中等到大的样本量,通常在不到 10 次迭代中收敛。
这一切都没有抹杀自适应更新学习改进 Newton Raphson 的可能性。但这确实表明这可能有用的应用程序的有限性质:对于每个估计的参数都有大量数据的问题,我们应该期望 Newton Raphson 表现良好。对于极高维的问题,我们无论如何都无法形成和求解 Hessian 矩阵。这给我们留下了相对较小的一类统计问题,牛顿拉夫森可以显着改善这些问题。