降低损失--梯度下降法

假设我们有时间和计算资源来计算w1的所有可能值的损失。对于我们一直在研究的回归问题,所产生的损失与w1的图形始终是凸形。如下图所示:
image

图2回归问题产生的损失与权重图为凸形


凸形问题只有一个最低点,即只存在一个斜率正好为0的位置。这个最小值就是损失函数收敛之处。

通过计算整个数据集中w1每个可能值的损失函数来找到收敛点的这种方法效率太低。我们来研究一种更好的机制,这种机制在机器学习领域非常热门,称为梯度下降法

梯度下降法的第一个阶段是为w1选择一个起始值(起点)。起点的选择并不重要,因此很多算法就将w1设置为0或一个随机的值。下图显示的是我们选择的一个稍大于0的起点:
image

图3梯度下降的起点


然后,梯度下降法会计算损失曲线在起点处的梯度。简而言之,梯度是偏导数的矢量,它可以让你了解那个方向距离目标更近更远,损失相对于单个权重的梯度就等于导数。

梯度是一个矢量,具有两个特征:

  • 大小
  • 方向

梯度始终指向损失函数中增长最为迅猛的方向。梯度下降算法会沿着负梯度的方向走一步,以便尽快降低损失。

image

图4 梯度下降法依赖于负梯度

为了确定损失函数曲线上的下一个点,梯度下降算法会将梯度大小的一部分与起点相加,如下图所示:
image

图5一个梯度步长将我们移动到损失曲线上的下一个点

然后,梯度下降法会重复此过程,逐渐接近最低点。

引用

降低损失 (Reducing Loss):梯度下降法

原文地址:https://www.cnblogs.com/taro/p/8637314.html