(一)梯度下降算法

(一)梯度下降算法

深度学习的核心精髓就是梯度下降算法。在某些方面深度学习表现出来的结果可以接近人的智力,就是因为它可以求解出一个巨大的函数,而这个函数的用来求解的方法就是梯度下降算法。

下面我们来看一个函数:
l o s s = x 2 ∗ s i n ( x ) loss = x^2 * sin(x) loss=x2sin(x)

f ( x ) = x 2 ∗ s i n ( x ) f(x) = x^2 * sin(x) f(x)=x2sin(x)
所以
f ′ ( x ) = 2 x s i n ( x ) + x 2 c o s ( x ) f'(x) = 2xsin(x) + x^2cos(x) f(x)=2xsin(x)+x2cos(x)
这样我们就能计算在当前位置 x x x的导数值。通过高等数学的学习我们知道梯度是一个矢量,但是对于只有一个变量的情况,导数值等于梯度的模,所以此时的梯度值等于导数值。我们令 Δ x \Delta x Δx x x x的梯度所以我们可以通过公式
x ′ = x − l r Δ x x' = x - lr\Delta x x=xlrΔx
x x x迭代更新去让 x x x不断地逼近极小值(注意这里是极小值不是最小值),具体如下图:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-f3PJQS0l-1643339749249)(C:\Users\ying\AppData\Roaming\Typora\typora-user-images\image-20220128110603437.png)]

从图中可见 x x x会不断向右增大到极小值点后停止。这里的 l r lr lr是学习速率(learning rate),我们可以通过调节学习速率改变 x x x的变化速率。假如 l r lr lr 过大那么就会出现下图的情况:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-bSjEpIjV-1643339749251)(C:\Users\ying\AppData\Roaming\Typora\typora-user-images\image-20220128111206897.png)]

由于 x x x每一步移动过大,这时它会在极小值点周围发生比较大的左右抖动,而无法逼近极小值。

总的来说,梯度下降算法就是通过利用当前位置的梯度信息去不断比较我们所想要得到的那个最优解。
利用当前位置的梯度信息去不断比较我们所想要得到的那个最优解。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值