梯度下降法总结归纳

梯度下降法可以解决哪些问题?

梯度下降法可以解决凸函数的最优化问题。对于非凸函数也可得到最优解或局部最优解。

简单描述梯度下降法的过程?

梯度下降法简要过程如下:
1,设置出发点(初值x_0),设置每一步的长度(步长η),设置停止的条件(比如最多迭代10次,两次下降的结果小于0.00001等);
2,通过求导找到下降的方向(导数的正负)及落差(导数的大小);
3,到达下一个出发点,重复第2步,直到不满足继续迭代的条件。

如何理解梯度下降法?

先看个例子,假设我们需要求解y=x^2的最小值。如何用梯度下降法去解决这个问题呢?
先看y=x^2的图像
按照前面说的梯度下降法过程,我们尝试一次
1,设置出发点(x=2),设置步长(η=0.5);(注:这里自己设置,设置得不好,可能得不到好的结果)
2,计算导数,找到下降的方向(导数的正负)及落差(导数的大小);
在这里插入图片描述

导数为正就表示函数在这一点递增,那么往x轴的负方向就是递减。导数的值为4,那么落差就是4。计算下一个出发点。
在这里插入图片描述
我们发现,方向和导数值的正负刚好相反,所以,可以将上面式子化简一下
通过计算可以得到x_1=2-0.5*
所以,下一个出发点为x_1 = 0
计算一下是否满足继续迭代的要求,发现迭代次数<10,两次迭代差值 |y_1 - y_0| > 0.00001.
因此重复步骤2
在这里插入图片描述
再次计算是否满足继续迭代的要求,这里我们发现两次迭代的差值 |y_1 - y_0| = 0 < 0.00001,不满足继续迭代的条件,停止迭代,返回上一次迭代结果x_1 = 0, y_1 = 0。
所以通过梯度下降法得到凸函数y=x^2最小值为0。

总结梯度下降法的优缺点。

优点:
1,梯度下降法可以解决函数无法通过数学推导求最优解的问题;
2,简单易行,上手容易
缺点:
1,步长较难选择。如果步长太小可能很慢才能得到最优解,如果步长太大,可能得不到最优解;
2,凸函数可能得到的只是近似最优解,非凸函数可能只能得到局部最优解;
目前有很多优化过梯度下降法相关的算法,可以去参考

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值