梯度下降的魔力:二维坐标系中的奇妙旅程

举报
染念 发表于 2023/11/30 14:36:29 2023/11/30
【摘要】 最近在学习梯度下降的知识,可是怎么也跳不出对公式的理解。这是怎么回事呢?我们先来看看这个公式:ω:=ω−α∂j(ω,b)∂ω\omega:=\omega-α\frac{\partial j(\omega,b)}{\partial \omega}ω:=ω−α∂ω∂j(ω,b)​从公式上直观理解,就是对ω\omegaω一直更新,∂j(ω,b)∂ω\frac{\partial j(\omega,b...

最近在学习梯度下降的知识,可是怎么也跳不出对公式的理解。

这是怎么回事呢?

我们先来看看这个公式:

ω:=ωαj(ω,b)ω\omega:=\omega-α\frac{\partial j(\omega,b)}{\partial \omega}

从公式上直观理解,就是对ω\omega一直更新,j(ω,b)ω\frac{\partial j(\omega,b)}{\partial \omega}是对ω\omega的偏导,是每次ω\omega走的长度,α是学习率,用来控制步长。

这就是梯度下降的公式,为什么这么减,很多很多的教程都告诉我们,因为梯度是变化率最大的方向,朝这个方向走,那么就能更快的到达最小值,这里我们就不过多讨论为什么了。

然后他们举三维的山脉例子,这种例子是可以理解的。

但是当你尝试用公式结合二维例子去理解,就会十分难受,不知道是否有人也是这样的疑惑看到我这篇博客,希望我的理解能够帮到你。

看到这个例子,你是否有以下疑惑:

首先公式会变成ω:=ωαdj(ω)dω\omega:=\omega-α\frac{d j(\omega)}{d \omega}

  • 在二维坐标系里,对ω\omega求导,梯度方向是切线方向,梯度大小是斜率大小。(实际上这种情况已经不能称为梯度了!)
  • 那么梯度下降的话应该沿着切线方向
  • 可是你细看这图,这橙色的线根本就不是切线方向,你也不要说这是放大效果,细想什么是切线,怎么样都和函数是只有一个交点的。

问题就出在这:从梯度的概念来看,梯度方向就是切线的方向,这样这不就和图冲突了吗?

如果是这样想,那么恭喜你入坑了!


首先,你需要理解一个概念,那么就是斜率是没有方向的,是一个标量,而梯度它的确是一个向量,有方向,我们所画的切线,会有人告诉你从上往下画和从下往上画是不一样的吗???

是吧,斜率是标量,但它有正负,这个符号只是代表正负,这个正负怎么来的,如上图所示,它与x轴正方向呈钝角,因此是负的。

当你理解好斜率是标量之后,我们再接着看。

因此,在二维下,怎么理解梯度下降?

Google的例子就很好,

发现没有,Google的例子和其他人不一样的是,他的箭头是与x水平的。

因此,我们怎么理解呢?

梯度是变化率最大的方向,这从三维的图像来说,你从一点做切线,它的确有不止一个交点,从这方向走到最近的一个交点,就完成了一次的梯度下降。

对于二维坐标来说,切线的交点只有一个,梯度的大小是斜率,但方向不是切线的方向了,我们移动的方向只有x轴正,x轴负,因此移动的方向就是水平的。我们做了切线,只是告诉我们,切线与移动的方向总是呈钝角,这样的角能够让我们找到最小值。带着这个想法再去理解二维下的梯度下降公式,你是不是觉得舒服许多了呢?

【版权声明】本文为华为云社区用户原创内容,未经允许不得转载,如需转载请自行联系原作者进行授权。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。