梯度上升VS梯度下降,加还是减

本文探讨了梯度下降与梯度上升的区别,解释了为何下降时要减去梯度,上升时要加上梯度。通过导数和梯度的概念,阐述了它们在二维和三维空间中的表示,并指出在寻找极值时,对于凹函数应减去梯度,对于凸函数应加上梯度。

梯度下降VS梯度上升

梯度下降是一种常用的优化算法,公式是这样的:

w(τ+1)=wταE(wτ)w(τ+1)=wτ−α∇E(wτ)

其中, E(w)∇E(w) 是cost函数的梯度,减去这个值和学习率的乘积,就代表沿着最陡峭的面滑向最低点。嗯,没有问题。

可是有一天看到有本书提到梯度上升,公式是这样的:

w=w+αwf(w)w=w+α∇wf(w)

嗯,也容易理解,式1中 E(w)E(w) 是个碗的形状,要下降到最低点,式2中 f(w)f(w) 是个蘑菇的形状,要上升到最顶点。E(w)E(w) 加个负号就变成 f(w)f(w) 了。

等等,这一对比才意识到还有一个问题:为什么下降就一定是减,上升就一定是加?

梯度、导数、倾斜方向

要回答这个问题,就要理解梯度的含义,梯度是三维以上坐标系的概念,它在平面坐标系对应的概念是导数

那么我们先来看导数,它表示线的斜率,斜率又可以分两部分来看,一个是倾斜的程度(我有多斜),一个是倾斜的方向(我往那儿斜)。此处只讨论倾斜方向。

其实二维平面上只两个倾斜方向:往左斜和往右斜。有人就怀疑了,为什么没有往上斜和往下斜,因为那是根线啊,这两种说法一样,我们取其一种说法而已。又有人怀疑了,你说它上头往左斜,它同时下头就往右斜啊。也对,那为了把事儿说清楚,我们就只看一、二象限。总而言之,倾斜方向只有两个,为了表述清楚,我们需要加一些限制。二维平面的倾斜方向正好对应导数的正负,导数为正,线右倾,导数为负,线左倾。

二维平面中, 导数 代表 线 的倾斜方向和倾斜程度,三维空间中, 梯度 代表 的倾斜方向和倾斜程度。线的倾斜方向只有两个用正负表示,而面的倾斜方向是无穷的,是由向量表示。

梯度是个向量,向量的方向就代表倾斜方向,向量的模就代表倾斜程度。图1绘制了三维空间中两个倾斜的平面和一个参考水平面,为了清晰,画出了两个视角的截图:
“梯度示意图”

如图所示,三维空间中面的梯度是二维向量,我把它画在Z=0的XY平面上,它就是这个倾斜平面的梯度向量,它垂直于这个平面与水平面的交线,图中画的两个面倾斜方向是一样的,倾斜程度不同,也就是梯度向量方向相等,模不相等。这里就可以看到面的倾斜方向的含义,同样的,为了表述明确,需要几个限制,一是倾斜是以面的锐角夹角方向,二是从右手坐标系上方视角来看的。

加梯度永远是向上的

现在很明显了,加梯度,就是自变量沿着面的倾斜方向移动,函数值就会向上移动。对于平面如此,而到了曲面上,某个点的梯度就是该点切面的倾斜方向和倾斜程度。所以对碗形函数求极小值,就要减梯度,对蘑菇形函数求极大值,就要加梯度。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值