梯度下降法-概念理解

写在前面的话:部分内容来自:刘建平Pinard  https://www.cnblogs.com/pinard/p/5970503.html   以及 百度百科

在求解机器学习算法的模型参数,即无约束优化问题时,梯度下降(Gradient Descent)是最常采用的方法之一,另一种常用的方法是最小二乘法。

什么叫梯度

在微积分里面,对多元函数的参数求∂偏导数,把求得的各个参数的偏导数以向量的形式写出来,就是梯度。比如函数f(x,y), 分别对x,y求偏导数,求得的梯度向量就是(∂f/∂x, ∂f/∂y)T,简称grad f(x,y)或者▽f(x,y)。对于在点(x0,y0)的具体梯度向量就是(∂f/∂x0, ∂f/∂y0)T.或者▽f(x0,y0),如果是3个参数的向量梯度,就是(∂f/∂x, ∂f/∂y,∂f/∂z)T,以此类推。

那么这个梯度向量求出来有什么意义呢?他的意义从几何意义上讲,就是函数变化增加最快的地方。具体来说,对于函数f(x,y),在点(x0,y0),沿着梯度向量的方向就是(∂f/∂x0, ∂f/∂y0)T的方向是f(x,y)增加最快的地方。或者说,沿着梯度向量的方向,更加容易找到函数的最大值。反过来说,沿着梯度向量相反的方向,也就是 -(∂f/∂x0, ∂f/∂y0)T的方向,梯度减少最快,也就是更加容易找到函数的最小值。

梯度下降法求解过程

举个例子

用口头语言去理解梯度下降

梯度下降实际就是类似于求导的概念,每次X,Y减少一丢丢,看看Z变化是啥样子。故这里有两个变量:X Y下降多少----梯度值   Z变化多少---变化值

梯度值我们正常使用  \text { learningrate }^{*} \mathrm{f}^{\prime}(\mathrm{x})来表示 , 所以X Y的梯度值可以表示为\text { learningrate }^{*} \mathrm{f}^{\prime}(\mathrm{X})\text { learningrate }^{*} \mathrm{f}^{\prime}(\mathrm{Y}), 因为\mathrm{Z}=\mathrm{f}(\mathrm{X}, \mathrm{Y})是已知的,所以\mathrm{f}^{\prime}(\mathrm{X})\mathrm{f}^{\prime}(\mathrm{Y})便也是已知的(就是对函数求个偏导)。OK,到这里便一目了然了,影响函数梯度的变量就是learningrate了,learningrate越大 X Y下降就越多,收敛就越快。

X Y一直减小,Z也跟着变。当Z变化量越来越小,就说明函数收敛了,到了极小值了(也可能极大值,那就是反向梯度了) 。那么变化量究竟要到多小,我们才能说他收敛了?那是不是得研究变化量的变化量了。其实也不用那么麻烦 就直接自己给个小一点的值吧,比如0.0000000000000001  哈哈哈哈,看个人需要。变化量越小越接近极值。

额外补充信息:

1.梯度下降法只能求出函数的局部最小值 无法求出函数的全局最小值

2.学习率(步长)不宜设置的过大,否则可能导致不收敛  即步长过大 直接迈过了局部最低点

 

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

MacalDan

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值