梯度下降法

梯度下降

梯度下降是迭代法的一种,可以用于求解最小二乘法(线性和非线性都可以)。在求解机器学习算法的模型参数,即无约束优化问题时,梯度下降(Gradient Descent)是最常采用的方法之一,另一种常用的方法是。在求解损失函数的最小值时,可以通过梯度下降法来一步步的迭代求解,得到最小化的损失函数和模型参数值。反过来,如果我们需要求解损失函数的最大值,这时就需要用梯度上升法来迭代了。在机器学习中,基于基本的梯度下降法发展了两种梯度下降方法,分别为随机梯度下降法和批量梯度下降法。

梯度下降算法解释

梯度下降法的基本思想可以类比为一个下山的过程。
假设这样一个场景:一个人被困在山上,需要从山上下来(找到山的最低点,也就是山谷)。但此时山上的浓雾很大,导致可视度很低;因此,下山的路径就无法确定,必须利用自己周围的信息一步一步地找到下山的路。这个时候,便可利用梯度下降算法来帮助自己下山。怎么做呢,首先以他当前的所处的位置为基准,寻找这个位置最陡峭的地方,然后朝着下降方向走一步,然后又继续以当前位置为基准,再找最陡峭的地方,再走直到最后到达最低处;同理上山也是如此,只是这时候就变成梯度上升算法了

梯度下降的数学模型

机器学习的本质就是“喂”给模型数据,让模型不断地去学习,而这个学习的过程就是利用梯度下降法不断去优化的过程,目前最为常见的深度神经网络便是利用梯度的反向传播,反复更新模型参数直至收敛,从而达到优化模型的目的。
对于最简单的线性模型,如 

  • 微分

我们所要优化的函数必须是一个连续可微的函数,可微,既可微分,意思是在函数的任意定义域上导数存在。如果导数存在且是连续函数,则原函数是连续可微的。在中学时我们便知道,函数的导数(近似于函数的微分)可以有以下两种理解:

  • 函数在某点切线的斜率即为函数在该点处导数值。
  • 函数在某点的导数值反映函数在该处的变化率,导数值越大,原函数函数值变化越快。

以上两个解释可以让我们对梯度下降法理解得更直观形象,下面我们一起来看几个连续可微函数求微分的例子:

   

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值