1 原理

在机器学习的核心内容就是把数据喂给一个人工设计的模型,然后让模型自动的“学习”,从而优化模型自身的各种参数,最终使得在某一组参数下该模型能够最佳的匹配该学习任务。那么这个“学习”的过程就是机器学习算法的关键。梯度下降法就是实现该“学习”过程的一种最常见的方式,尤其是在深度学习(神经网络)模型中,BP反向传播方法的核心就是对每层的权重参数不断使用梯度下降来进行优化。

梯度下降法(gradient descent)是一种常用的一阶(first-order)优化方法,是求解无约束优化问题最简单、最经典的方法之一。我们来考虑一个无约束优化问题 梯度下降原理解析 , 其中 梯度下降原理解析 为连续可微函数,如果我们能够构造一个序列 梯度下降原理解析 ,并能够满足:

梯度下降原理解析

那么我们就能够不断执行该过程即可收敛到局部极小点,可参考下图。

梯度下降原理解析梯度下降原理解析
寻找最小点过程

那么问题就是如何找到下一个点 梯度下降原理解析 ,并保证 梯度下降原理解析 呢?假设我们当前的函数 梯度下降原理解析 的形式是上图的形状,现在我们随机找了一个初始的点 梯度下降原理解析 ,对于一元函数来说,函数值只会随着 梯度下降原理解析 的变化而变化,那么我们就设计下一个 梯度下降原理解析 是从上一个 梯度下降原理解析 沿着某一方向走一小步 梯度下降原理解析 得到的。此处的关键问题就是:这一小步的方向是朝向哪里?

对于一元函数来说, 梯度下降原理解析 是会存在两个方向:要么是正方向( 梯度下降原理解析 ),要么是负方向( 梯度下降原理解析 ),如何选择每一步的方向,就需要用到大名鼎鼎的泰勒公式,先看一下下面这个泰勒展式:

梯度下降原理解析

左边就是当前的 梯度下降原理解析 移动一小步 梯度下降原理解析 之后的下一个点位,它近似等于右边。前面我们说了关键问题是找到一个方向,使得 梯度下降原理解析 ,那么根据上面的泰勒展式,显然我们需要保证:

梯度下降原理解析

可选择令:

梯度下降原理解析

其中步长 梯度下降原理解析 是一个较小的正数,从而: 梯度下降原理解析 .

由于任何不为0的数的平方均大于0因此保证了 梯度下降原理解析 .

从而,设定:

梯度下降原理解析 ,

则可保证:

梯度下降原理解析

那么更新 梯度下降原理解析 的计算方式就很简单了,可按如下公式更新 梯度下降原理解析

梯度下降原理解析

这就是所谓的沿负梯度方向走一小步

到此为止,这就是梯度下降的全部原理。

如果稍有不清楚的地方,再用下图重新回顾一下具体的设计过程:

梯度下降原理解析梯度下降原理解析
梯度下降法的设计过程

相关文章:

  • 2021-04-17
  • 2021-10-19
  • 2021-07-08
  • 2021-11-07
  • 2021-11-27
猜你喜欢
  • 2022-01-22
  • 2021-12-28
  • 2021-07-09
  • 2021-09-13
相关资源
相似解决方案