擅长:python、mysql、java
<p>LBFGS是一种优化算法,它不使用学习率。在学校项目中,您应该使用<em>sgd</em>或<em>adam</em>。关于它是否更有意义,我想说的是,在20个数据点上训练一个神经网络,除了学习基础知识之外,没有什么意义</p>
<p>LBFGS是一种拟牛顿优化方法。它基于这样一个假设,即您寻求优化的函数可以通过二阶泰勒展开局部近似。大致如下:</p>
<ul>
<li>从最初的猜测开始</li>
<li>使用雅可比矩阵计算最陡下降方向</li>
<li>使用Hessian矩阵计算下降步长</strong>,并到达下一点</li>
<li>重复,直到收敛</li>
</ul>
<p>与牛顿法的不同之处在于,拟牛顿法使用雅可比矩阵和/或海森矩阵的近似值</p>
<p>与梯度下降法相比,牛顿法和拟牛顿法对优化函数的平滑度要求更高,但收敛速度更快。事实上,使用Hessian矩阵计算下降步长更有效,因为它可以预测到局部最优值的距离,因此不会在其周围振荡或收敛得非常缓慢。另一方面,梯度下降仅使用雅可比矩阵(一阶导数)计算最陡下降的方向,并使用<strong>学习率作为下降步骤</p>
<p>实际上,梯度下降法用于深度学习,因为计算Hessian矩阵的成本太高</p>
<p>在这里,谈论牛顿方法(或拟牛顿方法)的学习率是没有意义的,它只是不适用</p>