原文:http://blog.csdn.net/llx1990rl/article/details/44001921

梯度下降(BGD)、随机梯度下降(SGD)、Mini-batch Gradient Descent、带Mini-batch的SGD

一、回归函数及目标函数

以均方误差作为目标函数(损失函数),目的是使其值最小化,用于优化上式。

二、优化方式(Gradient Descent)

1、最速梯度下降法

也叫批量梯度下降法Batch Gradient Descent,BSD

a、对目标函数求导

b、沿导数相反方向移动theta

原因:

(1)对于目标函数,theta的移动量应当如下,其中a为步长,p为方向向量。

(2)对J(theta)做一阶泰勒级数展开:

(3)上式中,ak是步长,为正数,可知要使得目标函数变小,则应当<0,并且其绝对值应当越大越好,这样下降的速度更快。在泰勒级数中,g代表J(theta k)的梯度,所以为了使得为负并且绝对值最大,应当使theta的移动方向与梯度g相反。

2、随机梯度下降法(stochastic gradient descent,SGD)

SGD是最速梯度下降法的变种。

使用最速梯度下降法,将进行N次迭代,直到目标函数收敛,或者到达某个既定的收敛界限。每次迭代都将对m个样本进行计算,计算量大。

为了简便计算,SGD每次迭代仅对一个样本计算梯度,直到收敛。伪代码如下(以下仅为一个loop,实际上可以有多个这样的loop,直到收敛):

(1)由于SGD每次迭代只使用一个训练样本,因此这种方法也可用作online learning。

(2)每次只使用一个样本迭代,若遇上噪声则容易陷入局部最优解。

3、Mini-batch Gradient Descent

(1)这是介于BSD和SGD之间的一种优化算法。每次选取一定量的训练样本进行迭代。

(2)从公式上似乎可以得出以下分析:速度比BSD快,比SGD慢;精度比BSD低,比SGD高。

4、带Mini-batch的SGD

(1)选择n个训练样本(n<m,m为总训练集样本数)

(2)在这n个样本中进行n次迭代,每次使用1个样本

(3)对n次迭代得出的n个gradient进行加权平均再并求和,作为这一次mini-batch下降梯度

(4)不断在训练集中重复以上步骤,直到收敛。

梯度下降(BGD)、随机梯度下降(SGD)、Mini-batch Gradient Descent、带Mini-batch的SGD相关推荐

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

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

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

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

  3. 随机梯度下降(Stochastic gradient descent)和 批量梯度下降(Batch gradient descent )的公式对比、实现对比

     随机梯度下降(Stochastic gradient descent)和 批量梯度下降(Batch gradient descent )的公式对比.实现对比 标签: 梯度下降最优化迭代 2013 ...

  4. 常见优化算法批量梯度下降、小批量梯度下降、随机梯度下降的对比

    在机器学习领域中,梯度下降的方式有三种,分别是:批量梯度下降法BGD.随机梯度下降法SGD.小批量梯度下降法MBGD,并且都有不同的优缺点. 下面我们以线性回归算法(也可以是别的算法,只是损失函数(目 ...

  5. 【深度学习】——梯度下降优化算法(批量梯度下降、随机梯度下降、小批量梯度下降、Momentum、Adam)

    目录 梯度 梯度下降 常用的梯度下降算法(BGD,SGD,MBGD) 梯度下降的详细算法 算法过程 批量梯度下降法(Batch Gradient Descent) 随机梯度下降法(Stochastic ...

  6. 梯度下降法的三种形式批量梯度下降法、随机梯度下降以及小批量梯度下降法

    梯度下降法的三种形式BGD.SGD以及MBGD 梯度下降法的三种形式BGD.SGD以及MBGD 阅读目录 1. 批量梯度下降法BGD 2. 随机梯度下降法SGD 3. 小批量梯度下降法MBGD 4. ...

  7. 三种梯度下降的方式:批量梯度下降、小批量梯度下降、随机梯度下降

    在机器学习领域中,梯度下降的方式有三种,分别是:批量梯度下降法BGD.随机梯度下降法SGD.小批量梯度下降法MBGD,并且都有不同的优缺点. 下面我们以线性回归算法(也可以是别的算法,只是损失函数(目 ...

  8. 随机梯度下降法matlab程序,批量梯度下降和随机梯度下降

    1.概念 (1)批量梯度下降---最小化所有训练样本的损失函数,使得最终求解的是全局的最优解,即求解的参数是使得风险函数最小. (2)随机梯度下降---最小化每条样本的损失函数,虽然不是每次迭代得到的 ...

  9. 梯度下降与随机梯度下降概念及推导过程

    接前一章:常用算法一 多元线性回归详解2(求解过程) 同这一章的梯度下降部分加起来,才是我们要讲的如何求解多元线性回归.如果写在一章中,内容过长,担心有的同学会看不完,所以拆分成两章.[坏笑] 上一章 ...

  10. 大白话5分钟带你走进人工智能-第十一节梯度下降之手动实现梯度下降和随机梯度下降的代码(6)...

                                第十一节梯度下降之手动实现梯度下降和随机梯度下降的代码(6) 我们回忆一下,之前咱们讲什么了?梯度下降,那么梯度下降是一种什么算法呢?函数最优化 ...

最新文章

  1. archlinux 安装 Windows 字体
  2. uc通讯不成功php版本过高,Ucenter通信失败排查方法
  3. HTTP Response Splitting攻击探究 转
  4. python编程学习_使用EduBlocks轻松学习Python编程
  5. Spark Conf配置用法
  6. 如何提高企业数据质量
  7. pytorch 实现张量tensor,图片,CPU,GPU,数组等的转换
  8. 怎么解Linux内核温控,Linux Thermal 框架解析
  9. 文档服务器拓扑图,服务器网络结构拓扑图
  10. 操作系统基础概念大扫盲 - 操作系统系列(一)(持续更新,争取完整)
  11. Photoshop 油画效果
  12. 彩信猫 发送彩信失败_在彩信上为人类摆姿势
  13. Git恢复已删除文件
  14. redis的zadd命令
  15. Ruby读取Excel文件的两种方法
  16. Java第n次入门之画板的实现
  17. 当Excel遇到在线表格,看如何轻松解决办公难题 ?
  18. Springboot+vue调查问卷管理系统(带论文)
  19. 参加中国移动开发者大会有感
  20. 微信小程序:2022强大的修复版趣味心理测试小程序源码,趣味测试引流裂变神器,流量主激励广告实现管道收益

热门文章

  1. 多线程中数据的并发访问与保护
  2. php中public放什么,PHP中常用关键字public, private, protected, static...
  3. shell 脚本定时创建月份表
  4. fmt打印不显示 go_golang打印输出fmt和log
  5. html excel零不显,Excel数值为0不显示的三种解决方法
  6. 用Android写代码,用css写个android机器人代码分享
  7. Git Worktree 高级使用,这样清爽多了|新技能
  8. Kafka 2.8.0发布,与ZooKeeper正式分手!
  9. SQL优化这么做就对了
  10. 皮一皮:我好像知道了什么...