【机器学习】梯度下降算法分析与简述

梯度下降算法分析与简述梯度下降(gradient descent)是一种最优化算法,基于爬山法的搜索策略,其原理简单易懂,广泛应用于机器学习和各种神经网络模型中。在吴恩达的神经网络课程中,梯度下降算法是最先拿来教学的基础算法。梯度下降算法的基本原理要想找到某函数的最大值或者最小值,最迅速的方法就是沿着梯度的方向上升或者下降。梯度下降算法就是以目标的负梯度方向对参数进行调整,沿着目标函数J(x,y)的
摘要由CSDN通过智能技术生成

梯度下降算法分析与简述

梯度下降(gradient descent)是一种最优化算法,基于爬山法的搜索策略,其原理简单易懂,广泛应用于机器学习和各种神经网络模型中。在吴恩达的神经网络课程中,梯度下降算法是最先拿来教学的基础算法。

梯度下降算法的基本原理

要想找到某函数的最大值或者最小值,最迅速的方法就是沿着梯度的方向上升或者下降。梯度下降算法就是以目标的负梯度方向对参数进行调整,沿着目标函数J(x,y)的梯度(一阶偏导数)的相反方向,即−∇θJ(x,y)来不断更新参数直到达到目标函数的极值点。当然除了方向还应该有下降的步长即学习率(learning rate),一般这个参数是提前指定好。
基本的梯度下降算法无法满足众多应用需求,所以每一个先进的机器学习框架或者模型都会使用梯度下降的变种,目前广泛使用的有三种,分别是全量梯度下降(batch gradient descent)、随机梯度下降(stochastic gradient descent)和批量梯度(mini-batch gradient descent)下降。

全量梯度下降(batch gradient descent)

又称Full Batch Learning,顾名思义该方法是由整个训练集来确定梯度的方向,需要将所有的训练数据都计算一遍。公式如下:
θ=θ−η⋅∇θJ(θ)
优点和缺点也是显而易见的。优点就是遍历全部数据得到的梯度方向是相对来说最正确的,因此能更好的找到极值点。缺点是一次计算大量的数据需要非常大的内存,而且计算时间过长。数据集比较大的时候不适合这种方法。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值