梯度下降(BGD)、随机梯度下降(SGD)、Mini-batch Gradient Descent、带Mini-batch的SGD
原文: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相关推荐
- 梯度下降法和随机梯度下降,批量梯度下降法,小批量梯度下降(SGD,MGD,BMGD)
梯度下降法 其有着三种不同的形式: 批量梯度下降(Batch Gradient Descent). 随机梯度下降(Stochastic Gradient Descent) 以及小批量梯度下降(Mini ...
- 最优化方法:梯度下降(批梯度下降和随机梯度下降)
http://blog.csdn.net/pipisorry/article/details/23692455 梯度下降法(Gradient Descent) 梯度下降法是一个一阶最优化算法,通常也称 ...
- 随机梯度下降(Stochastic gradient descent)和 批量梯度下降(Batch gradient descent )的公式对比、实现对比
随机梯度下降(Stochastic gradient descent)和 批量梯度下降(Batch gradient descent )的公式对比.实现对比 标签: 梯度下降最优化迭代 2013 ...
- 常见优化算法批量梯度下降、小批量梯度下降、随机梯度下降的对比
在机器学习领域中,梯度下降的方式有三种,分别是:批量梯度下降法BGD.随机梯度下降法SGD.小批量梯度下降法MBGD,并且都有不同的优缺点. 下面我们以线性回归算法(也可以是别的算法,只是损失函数(目 ...
- 【深度学习】——梯度下降优化算法(批量梯度下降、随机梯度下降、小批量梯度下降、Momentum、Adam)
目录 梯度 梯度下降 常用的梯度下降算法(BGD,SGD,MBGD) 梯度下降的详细算法 算法过程 批量梯度下降法(Batch Gradient Descent) 随机梯度下降法(Stochastic ...
- 梯度下降法的三种形式批量梯度下降法、随机梯度下降以及小批量梯度下降法
梯度下降法的三种形式BGD.SGD以及MBGD 梯度下降法的三种形式BGD.SGD以及MBGD 阅读目录 1. 批量梯度下降法BGD 2. 随机梯度下降法SGD 3. 小批量梯度下降法MBGD 4. ...
- 三种梯度下降的方式:批量梯度下降、小批量梯度下降、随机梯度下降
在机器学习领域中,梯度下降的方式有三种,分别是:批量梯度下降法BGD.随机梯度下降法SGD.小批量梯度下降法MBGD,并且都有不同的优缺点. 下面我们以线性回归算法(也可以是别的算法,只是损失函数(目 ...
- 随机梯度下降法matlab程序,批量梯度下降和随机梯度下降
1.概念 (1)批量梯度下降---最小化所有训练样本的损失函数,使得最终求解的是全局的最优解,即求解的参数是使得风险函数最小. (2)随机梯度下降---最小化每条样本的损失函数,虽然不是每次迭代得到的 ...
- 梯度下降与随机梯度下降概念及推导过程
接前一章:常用算法一 多元线性回归详解2(求解过程) 同这一章的梯度下降部分加起来,才是我们要讲的如何求解多元线性回归.如果写在一章中,内容过长,担心有的同学会看不完,所以拆分成两章.[坏笑] 上一章 ...
- 大白话5分钟带你走进人工智能-第十一节梯度下降之手动实现梯度下降和随机梯度下降的代码(6)...
第十一节梯度下降之手动实现梯度下降和随机梯度下降的代码(6) 我们回忆一下,之前咱们讲什么了?梯度下降,那么梯度下降是一种什么算法呢?函数最优化 ...
最新文章
- archlinux 安装 Windows 字体
- uc通讯不成功php版本过高,Ucenter通信失败排查方法
- HTTP Response Splitting攻击探究 转
- python编程学习_使用EduBlocks轻松学习Python编程
- Spark Conf配置用法
- 如何提高企业数据质量
- pytorch 实现张量tensor,图片,CPU,GPU,数组等的转换
- 怎么解Linux内核温控,Linux Thermal 框架解析
- 文档服务器拓扑图,服务器网络结构拓扑图
- 操作系统基础概念大扫盲 - 操作系统系列(一)(持续更新,争取完整)
- Photoshop 油画效果
- 彩信猫 发送彩信失败_在彩信上为人类摆姿势
- Git恢复已删除文件
- redis的zadd命令
- Ruby读取Excel文件的两种方法
- Java第n次入门之画板的实现
- 当Excel遇到在线表格,看如何轻松解决办公难题 ?
- Springboot+vue调查问卷管理系统(带论文)
- 参加中国移动开发者大会有感
- 微信小程序:2022强大的修复版趣味心理测试小程序源码,趣味测试引流裂变神器,流量主激励广告实现管道收益
热门文章
- 多线程中数据的并发访问与保护
- php中public放什么,PHP中常用关键字public, private, protected, static...
- shell 脚本定时创建月份表
- fmt打印不显示 go_golang打印输出fmt和log
- html excel零不显,Excel数值为0不显示的三种解决方法
- 用Android写代码,用css写个android机器人代码分享
- Git Worktree 高级使用,这样清爽多了|新技能
- Kafka 2.8.0发布,与ZooKeeper正式分手!
- SQL优化这么做就对了
- 皮一皮:我好像知道了什么...