什么是梯度下降法?

梯度下降法是一种机器学习中常用的优化算法,用来找到一个函数(f)的参数(系数)的值,使成本函数(cost)最小。

当参数不能解析计算时(如使用线性代数),并且必须通过优化算法搜索时,它是最佳选择。

批梯度下降法

batch梯度下降针对每次梯度下降迭代处理所有训练实例。如果训练样本的数量很大,那么批梯度下降在计算上将非常昂贵。因此,如果训练实例的数量很大,则批梯度下降不是首选。相反,我们更喜欢使用随机梯度下降或mini-batch梯度下降。

它是如何运作的?

由于我们需要计算整个机器学习数据集上的梯度来执行一次更新,因此批梯度下降可能非常慢,并且对于内存中不适合的数据集来说很棘手。用任意值初始化参数(说θ1=θ2=…=θn= 0)后,我们使用以下关系式计算成本函数的梯度:

其中“ m”是训练样本的数量。

  • 如果您有1万条记录,则需要将所有记录从磁盘读入内存。
  • 在计算了一次迭代的sigma之后,我们执行了一步。
  • 然后对每个步骤重复一次。
  • 这意味着收敛需要很长时间。

因此,我们将倾向于使用其他方法。

随机梯度下降法

随机梯度下降中,每次迭代处理一个训练实例。因此,这比批梯度下降要快得多。但是,当训练样本的数量很大时,它也只处理一个样本,这可能会增加系统的开销,因为迭代的数量会非常大。

它是如何工作的?

算法的第一步是将整个训练集随机化。然后,对于每个参数的更新,我们在每次迭代中仅使用一个训练样本来计算成本函数的梯度。

由于它在每次迭代中都使用一个训练样本,因此对于较大的机器学习数据集,此方法更快。用任意值初始化参数(说θ1=θ2=…=θn= 0)后,我们使用以下关系式计算成本函数的梯度:

其中“ m”是训练样本的数量

  • 选择第一个训练样本并使用该样本更新参数,然后选择第二个样本,依此类推
  • 然后选择第二个训练样本,并使用该样本更新参数,以此类推。
  • 选择第三个直到n。
  • 直到达到全局最小值。

随机梯度下降法实际上不像批梯度下降法那样收敛,而是在接近全局最小值的区域内徘徊。

Mini Batch梯度下降法

Mini Batch梯度下降的速度比批梯度下降和随机梯度下降均快。在这里,每个迭代处理b个样本,其中b(m是训练样本的数量)。因此,即使训练样本数量很多,也要一次性处理b个训练样本的批次。因此,它适用于较大的训练样本,并且适用于较少的迭代次数。

如何运作

由于它是使用最广泛的算法,可以产生准确,快速的结果。

  • 减少了参数更新的方差,这可以导致更稳定的收敛。
  • 可以利用高度优化的矩阵,从而使梯度计算非常有效。

用任意值初始化参数后,我们使用以下关系式计算成本函数的梯度:

alpha是学习率

常见的Mini Batch大小在50到256之间,但是会因不同的应用而有所不同。

最后

批梯度下降,Mini Batch梯度下降和随机梯度下降之间的区别是用于执行一个更新步骤的样本数。经过微调的mini-batch,其性能优于梯度下降或随机梯度下降。

基于准确度和时间消耗等参数的批量梯度下降法、小批量梯度下降法和随机梯度下降法的区别是

梯度下降算法_批梯度下降法,Minibatch梯度下降法和随机梯度下降法之间的区别...相关推荐

  1. 梯度下降法和随机梯度下降法

    1. 梯度 在微积分里面,对多元函数的参数求∂偏导数,把求得的各个参数的偏导数以向量的形式写出来,就是梯度.比如函数f(x,y), 分别对x,y求偏导数,求得的梯度向量就是(∂f/∂x, ∂f/∂y) ...

  2. 梯度下降法和随机梯度下降法的区别

    这几天在看<统计学习方法>这本书,发现 梯度下降法 在 感知机 等机器学习算法中有很重要的应用,所以就特别查了些资料.  一.介绍 梯度下降法(gradient descent)是求解无约 ...

  3. 梯度下降法和随机梯度下降,批量梯度下降法,小批量梯度下降(SGD,MGD,BMGD)

    梯度下降法 其有着三种不同的形式: 批量梯度下降(Batch Gradient Descent). 随机梯度下降(Stochastic Gradient Descent) 以及小批量梯度下降(Mini ...

  4. 『ML笔记』梯度下降法和随机梯度下降法和小批量梯度对比

    目录 1. 梯度下降法(gradient descent) 2. 随机梯度下降(Stochastic gradient descent) 3. 小批量梯度下降(Mini-Batch gradient ...

  5. 局部最优、梯度消失、鞍点、海森矩阵(Hessian Matric)、批梯度下降算法(btach批梯度下降法BGD、小批量梯度下降法Mini-Batch GD、随机梯度下降法SGD)

    日萌社 人工智能AI:Keras PyTorch MXNet TensorFlow PaddlePaddle 深度学习实战(不定时更新) BATCH_SIZE大小设置对训练耗时的影响:1.如果当设置B ...

  6. 最优化方法:梯度下降(批梯度下降和随机梯度下降)

    http://blog.csdn.net/pipisorry/article/details/23692455 梯度下降法(Gradient Descent) 梯度下降法是一个一阶最优化算法,通常也称 ...

  7. 机器学习(四):批量梯度下降法(BGD)、随机梯度下降法(SGD)和小批量梯度下降法(MBGD)

    本文基于吴恩达老师的机器学习课程.看了吴恩达老师的机器学习课程,收获很多,想把课上学做的笔记结合自己的理解以及找到的一些资料综合起来做一个总结.大家感兴趣也可以自己去看一看吴恩达老师的课,这套课程,被 ...

  8. 批量梯度下降法(BGD)、随机梯度下降法(SGD)和小批量梯度下降法(MBGD)

    在机器学习中,对于很多监督学习模型,需要对原始的模型构建损失函数,接下来便是通过优化算法对损失函数进行优化,以便找到最优的参数. 梯度下降法作为机器学习中较常使用的优化算法,在其求解过程中,只需要求解 ...

  9. 机器学习之梯度下降法(GD)、随机梯度下降法(SGD)和随机平均梯度下降法(SAGD)

    目录 基本原理 梯度下降法(Gradient Descent) 随机梯度下降法(Stochastic Gradient Descent,SGD)

最新文章

  1. air什么意思中文_Air译中文是什么意思,the air中文是什么意思
  2. python中读取文件内容-深入学习python解析并读取PDF文件内容的方法
  3. 【Collection、泛型】
  4. JsonException: Max allowed object depth reached while trying to export from type System.Single
  5. putty怎么拷贝Linux下的日志,linux 下的 putty 如何复制与粘贴?
  6. 话里话外:从信息系统两大特性理解信息化的实施难度
  7. 自己学Docker:4.開始了解Docker的工作模式
  8. Redis端口为什么是6379?
  9. XCTF-高手进阶区:mfw
  10. 在美国读博士的那七年
  11. 能力值的计算:一年 365 天,以第 1 天的能力值为基数,记为 1.0,当每天好好学习时能力值相比前一天提高 1‰,当没有学习时由于遗忘等原因能力值相比前一天下降 1‰
  12. 再谈多态——向上映射及VMT/DMT
  13. git合并分支Pulling is not possible because you have unmerged files.
  14. 在word中输入文字后面的文字会被删除?原来是这么回事!
  15. HBuilderX 安装教程
  16. 杭州地区IT公司招聘分析与求职建议
  17. 一图解千言,从兴趣意念直达搜索目标!
  18. 使用java代码获取yml及properties文件中的内容,获取值
  19. 电脑桌面打开计算机打开多个,电脑怎么打开多个微信
  20. todolist(网页版记事本)

热门文章

  1. 非DDS卡发送彩信(MMS)业务流程介绍
  2. html弄出油画效果,照片处理成油画 照片变油画软件|照片处理成油画效果方法
  3. r7 7730U参数 r7 7730U性能怎么样 AMD锐龙77730U相当于什么水平
  4. 51nod 1549 上传说
  5. Windows下whl文件安装
  6. 如何挑选品质好的MPO光纤跳线
  7. 锐龙处理器对linux软件支持咋样,amd锐龙现在还有小毛病吗?据说软件支持不太好?...
  8. 战神引擎php启动不了,phpStudy套件版战神引擎服务端架设教程
  9. 适时而变,联创未来|2022数字技能职业教育生态研讨会圆满落幕
  10. 从GitHub完整克隆项目及其依赖项子模块(submodule,recursive)