梯度下降和梯度上升之间有什么区别?

时间:2014-03-23 17:05:52

标签: optimization machine-learning mathematical-optimization

我无法找到有关渐变上升的任何信息。关于梯度上升的任何良好链接都可以说明它与梯度下降有何不同。

6 个答案:

答案 0 :(得分:20)

没有什么不同。梯度上升只是最大化而不是最小化损失函数的过程。其他一切都完全一样。你可以说,上升到一些损失函数,就像衰落函数的负面因素一样。

答案 1 :(得分:16)

通常,您使用渐变上升来最大化似然函数,并使用渐变下降来最小化成本函数。梯度下降和上升几乎都是相同的。让我举一个具体的例子,使用一个简单的基于梯度的优化友好算法和一个凹凸似然/成本函数:逻辑回归。

不幸的是,SO似乎仍然不支持LaTeX,所以让我发布一些截图。

您希望在逻辑回归中最大化的似然函数是

enter image description here

其中“phi”只是sigmoid函数

enter image description here

现在,你想要一个渐变函数的渐变函数,因此需要记录日志:

enter image description here

同样,您可以将其写为反向,以获得可通过梯度下降最小化的成本函数。

enter image description here

对于对数似然,您可以推导并应用渐变上升,如下所示:

enter image description here

enter image description here

由于您想要同时更新所有权重,我们将其写为

enter image description here

现在,应该很明显看到渐变下降更新与渐变上升更新相同,但请记住,我们正在将其制定为“向成本梯度的相反方向迈出一步”函数“

enter image description here

希望能回答你的问题!

答案 2 :(得分:6)

渐变下降用于最小化特定函数,而渐变上升用于最大化函数。

查看http://www.speech.sri.com/people/anand/771/html/node33.html

答案 3 :(得分:3)

梯度上升是功能的最大化,以实现更好的优化 用于强化学习 它会给出向上的斜率或增加的图形。

梯度下降使成本函数最小化 用于线性回归 它提供了成本函数的下降或下降斜率。

答案 4 :(得分:1)

渐变是斜率的另一个词。点(x,y)处的图的正梯度意味着图在点(x,y)处向上倾斜。另一方面,曲线在点(x,y)处的负梯度意味着曲线图在点(x,y)处向下倾斜。

梯度下降是一种迭代算法,用于找到一组最小化成本函数值的theta。因此,梯度上升将产生一组theta,其使成本函数的值最大化。

答案 5 :(得分:0)

如果要最小化功能,我们使用渐变下降。例如。在深度学习中,我们希望最小化损失函数,因此我们使用梯度下降。

如果要最大化功能,我们使用Gradient Ascent。例如。在“强化学习-策略梯度”方法中,我们的目标是最大化奖励/预期收益函数,因此我们使用“梯度上升”。