逻辑回归中的梯度上升与梯度下降

机器算法验证 机器学习 物流 梯度下降
2022-03-09 22:14:11

我一直在阅读 manning ( https://www.manning.com/books/machine-learning-in-action ) 的《机器学习实战》一书中的逻辑回归章节,它使用梯度上升来计算最佳权重。为什么我们选择梯度上升而不是梯度下降?

4个回答

https://en.wikipedia.org/wiki/Gradient_descent

使用梯度下降找到函数的局部最小值,需要采取与当前点处函数的梯度(或近似梯度)的负数成比例的步骤。

相反,如果采取与梯度的正数成比例的步骤,则接近该函数的局部最大值该过程被称为梯度上升

换句话说:

  • 梯度下降旨在最小化一些目标函数:θjθjαθjJ(θ)
  • 梯度上升 旨在最大化一些目标函数:θjθj+αθjJ(θ)

什么是渐变?

它是函数在某一点的导数。基本上,给出该点的直线斜率。如何几何计算这个斜率(只考虑一个二维图和任何连续函数)?您在该点绘制一条切线,该点穿过 x 轴并从该点垂直于 x 轴。它将形成一个三角形,现在计算斜率很容易。此外,如果此切线平行于 x 轴,则梯度为 0,如果它平行于 y 轴,则梯度为无穷大

为什么要使用上升或下降?

如果我有一个函数,那么在底部的梯度导数为 0。类似地,如果我们在顶部有一个凹函数,梯度导数为 0。为什么我们对 0 感兴趣?这是因为它可以帮助我们找到函数的最低(凸)或最高(凹)值

现在我们的机器学习有一个成本函数,它们可以是的也可以是的。如果它是的,我们使用Gradient Descent,如果它是的,我们使用Gradient Ascent现在逻辑回归有两个成本函数当我们使用凸的时候我们使用梯度下降,当我们使用凹的时候我们使用梯度上升。另外,请注意,如果我在凸函数之前添加减号,它会变为凹函数,反之亦然。

@Franck 是正确的,除了符号是正面还是负面之外,它们是相同的。书中有很好的解释:

在此处输入图像描述

如果你想最小化一个函数,我们使用梯度下降。例如。在深度学习中,我们希望最小化损失,因此我们使用梯度下降。

如果你想最大化一个函数,我们使用 Gradient Ascent。例如。在强化学习 - 策略梯度方法中,我们的目标是最大化奖励函数,因此我们使用梯度上升。