梯度下降

关于梯度下降算法的直观理解,我们以一个人下山为例。比如刚开始的初始位置是在红色的山顶位置,那么现在的问题是该如何达到蓝色的山底呢?按照梯度下降算法的思想,它将按如下操作达到最低点:

第一步,明确自己现在所处的位置

第二步,找到相对于该位置而言下降最快的方向

第三步, 沿着第二步找到的方向走一小步,到达一个新的位置,此时的位置肯定比原来低

第四部, 回到第一步

第五步,终止于最低点
按照以上5步,最终达到最低点,这就是梯度下降的完整流程。当然你可能会说,上图不是有不同的路径吗?是的,因为上图并不是标准的凸函数,往往不能找到最小值,只能找到局部极小值。所以你可以用不同的初始位置进行梯度下降,来寻找更小的极小值点,当然如果损失函数是凸函数就没必要了。

一元函数

一元函数的导数其几何意义是某点切线的斜率,除此之外它还能表示函数在该点的变化率,导数越大,说明函数在该点的变化越大。在这里插入图片描述

二元函数

对于二元函数,z=f(x,y),它对x和y的偏导数分别表示如下:

函数在y方向不变的情况下,函数值沿x方向的变化率

函数在x方向不变的情况下,函数值沿y方向的变化率

有了以上的了解,我们分别知道了函数在单独在x和y方向上的变化率

现在有一个问题,我想知道函数在其他方向上的变化率怎么办?

比如下图中的u方向上:在这里插入图片描述
其实是可以做到的,我们都学过,在一平面中,任意一向量都可以用两个不共线的基向量表示,也就是说任意一方向上的变化,都可以分解到x和y两个方向上。

比如,我想求u方向上的变化率,根据导函数的定义

若:在这里插入图片描述
这是一个自变量是α的函数,我们将其命名为方向导数,其表明随着α的不同,方向不同,函数的变化率不同。

至此,我们推出了,方向导数的概念,还记得我们的梯度下降算法的第二步是什么吗?

”找到相对于该位置而言下降最快的方向“

而我们的方向导数,本身代表的就是函数变化率与方向的关系,也就是说我们需要利用方向导数,找到使得函数变化率最大的方向

那么,问题来了,在哪一个方向上变化率最大呢?

寻找函数变化率最大的方向-梯度

我们可以这样改写,令:在这里插入图片描述
我们把上式称之为梯度,所以梯度方向是函数变化率最大的方向,更本质的说是函数增长最快的方向

所以,当我们需要最小化损失函数时,只需要使损失函数沿着负梯度前行,就能使损失函数最快下降。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值