美文网首页
梯度下降法

梯度下降法

作者: 马光98 | 来源:发表于2018-05-19 14:33 被阅读0次

在寻找代价函数最小值时,我们通常使用梯度下降法(Gradient)来进行寻找

如:对于代价函数 J(θ0, θ1)

我们通过梯度下降的算法为:

j = 0 或 1

其中 := 在数学上是赋值的意思,与计算机中的 = 等价

梯度下降的主要思想就是对于不同的 θj 都进行尝试,一小步一小步地下降,直到找到最小值

通过不断地对 θj 进行赋值,直至算法收敛,我们可以找到 θ0 和 θ1 的局部最优解(极小值)

α代表了学习速率,控制了对于 θj 的更新幅度


对于梯度下降法来说,α (值为正)与偏导数相乘,相当于一个人在下山的过程

如下图:

这里的代价函数只包含一个参数 θ

因为这是对于单个参数的代价函数的算法,所以偏导数变成了导数,不过不会有实质性的差别。当 θ1 处于右边时,此时的导数值为正,此时 θ1 是减去一个正值,θ1 会左移,而当 θ1 处于左侧时,此时导数值为负,此时 θ1 是减去一个负值,会向右移。因此无论 θ1 是处于何处,它都会逼近于极小值(若非单调递减)。若是为了求代价函数的最大值,仅需将式子中的 “ - ” 改成 “ + ” 即可。


在 θ1 不断逼近与最小值的过程中,如果α的值设置没有过大或者过小,那么θ的变化应该如下图(不断逼近极小值但不跨过极小值),因为约接近极小值,偏导数(此处为导数)的值就越接近0,那么每次减去的值就越少,那么变化过程应该如下图:

合理的 α

最终 θ1 的值会达到极小值并不再改变,因为此时(偏)导数为0,不会有新的值产生


如果 α 的值设置得过小,那么逼近的过程将会非常慢,尤其是离得越近,逼近越慢(原因如上)

过小的 α

如果设置的过大,那么有可能不仅无法逼近最小值,甚至会不断地远离最小值,因为过大时,可能下一次的点的偏导数比这次还大,会导致下一步的步长更长,恶性循环,如下图

过大的 α

注意:在对 θj (j=1,2……n)迭代赋值的过程中,在迭代赋值的过程中,参数的值不应该改变,而是应该在遍历完之后,统一改变(先存在一个临时变量中),如图:

右边的错在θ0被更新后立即参与了本轮的赋值

相关文章

  • 2020-08-19--梯度下降法01

    梯度下降法简介 多元线性回归中的梯度下降法 随机梯度下降法 梯度下降法 的调试 1.梯度下降法简介 不是一个机器学...

  • 梯度下降法

    梯度下降法 本文主要是为了讲解 梯度下降法 的原理和实践,至于什么是梯度下降法,他能做什么,相信百度一下你就都知道...

  • 学习笔记:两种梯度下降法的思考

    在看梯度下降法的时候最初还真没看明白两种梯度下降法的区别,于是昨天散步的时候认真的思考了一下。 两种梯度下降法分别...

  • 最速梯度下降

    梯度下降法实现简单,当目标函数是凸函数时,梯度下降法的解是全局解。一般情况下,其解不保证是全局最优解,梯度下降法的...

  • 神经网络优化2

    梯度下降 梯度下降法 批梯度下降法(Batch Gradient Descent,BGD)是最常用的梯度下降形式,...

  • 2019-03-17神经网络——optimizer

    神经网络优化算法,通常有三种:小批量梯度下降法,随机梯度下降法和批量梯度下降法。 小批量梯度下降法 适用于训练数据...

  • 2019-11-01第二课二周优化算法

    指数加权平均: 动量梯度下降法: RMSprop:和动量梯度下降法相似 adam优化算法:将动量梯度下降法和RMS...

  • 机器学习系列(十六)——随机梯度下降Stochastic Gra

    随机梯度下降法Stochastic Gradient Descent 在之前的梯度下降法解决线性回归问题中,梯度向...

  • 全梯度下降算法从零实现,基于Numpy

    批量梯度下降法BGD Github 批量梯度下降法(Batch Gradient Descent,简称BGD)是梯...

  • 机器学习学习笔记(六)梯度下降法

    基础 (1)梯度下降法本身不是一个机器学习算法 (2)梯度下降法是一种基于搜索的最优化方法 (3)梯度下降法的作用...

网友评论

      本文标题:梯度下降法

      本文链接:https://www.haomeiwen.com/subject/aksmdftx.html