梯度下降法(BGD & SGD & Mini-batch SGD)
梯度下降法(Gradient Descent)
优化思想:用当前位置的负梯度方向作为搜索方向,亦即为当前位置下降最快的方向,也称“最速下降法”。越接近目标值时,步长越小,下降越慢。
如下图所示,梯度下降不一定能找到全局最优解,可能寻找到的是局部最优解。(当损失函数是凸函数时,梯度下降得到的解一定是全局最优解,因为凸函数的极小值即为最小值)

批量梯度下降法(Batch Gradient Descent,BGD):在更新参数时,BGD根据batch中的所有样本对参数进行更新。





随机梯度下降法(Stochastic Gradient Descent,SGD):和BGD的原理类似,区别在于每次随机选取一个样本j求梯度。
对于训练速度来说,SGD每次仅仅采用一个样本来迭代,训练速度很快,而BGD在样本量很大的时候,训练速度不能让人满意。
对于准确度来说,SGD仅仅用一个样本决定梯度方向,导致解很有可能不是最优。
对于收敛速度来说,由于SGD一次迭代一个样本,导致迭代方向变化很大,不能很快的收敛到局部最优解。

小批量梯度下降法(Mini-batch Gradient Desent,也称Mini-batch SGD):BGD和SGD二者的折中法,对于m个样本,选取x个子样本进行迭代,且1<x<m。

(1)选择n个训练样本(n<m,m为总训练集样本数)(即batchsize = n,样本总数为m,随机的思想在于每个epoch之前,随机打乱样本顺序,顺序选取n个样本作为batch)
(2)在这n个样本中进行n次迭代,每次使用1个样本
(3)对n次迭代得出的n个gradient进行加权平均再并求和,作为这一次mini-batch下降梯度
(4)不断在训练集中重复以上步骤,直到收敛。
梯度下降法(BGD & SGD & Mini-batch SGD)的更多相关文章
- 1. 批量梯度下降法BGD 2. 随机梯度下降法SGD 3. 小批量梯度下降法MBGD
排版也是醉了见原文:http://www.cnblogs.com/maybe2030/p/5089753.html 在应用机器学习算法时,我们通常采用梯度下降法来对采用的算法进行训练.其实,常用的梯度 ...
- 梯度下降法(BGD、SGD)、牛顿法、拟牛顿法(DFP、BFGS)、共轭梯度法
一.梯度下降法 梯度:如果函数是一维的变量,则梯度就是导数的方向: 如果是大于一维的,梯度就是在这个点的法向量,并指向数值更高的等值线,这就是为什么求最小值的时候要用负梯度 梯度下降法(Gr ...
- 随机梯度下降法(Stochastic gradient descent, SGD)
BGD(Batch gradient descent)批量梯度下降法:每次迭代使用所有的样本(样本量小) Mold 一直在更新 SGD(Stochastic gradientdescent)随机 ...
- [Machine Learning] 梯度下降法的三种形式BGD、SGD以及MBGD
在应用机器学习算法时,我们通常采用梯度下降法来对采用的算法进行训练.其实,常用的梯度下降法还具体包含有三种不同的形式,它们也各自有着不同的优缺点. 下面我们以线性回归算法来对三种梯度下降法进行比较. ...
- 梯度下降法的三种形式BGD、SGD以及MBGD
https://www.cnblogs.com/maybe2030/p/5089753.html 阅读目录 1. 批量梯度下降法BGD 2. 随机梯度下降法SGD 3. 小批量梯度下降法MBGD 4. ...
- 梯度下降法的三种形式-BGD、SGD、MBGD
在应用机器学习算法时,我们通常采用梯度下降法来对采用的算法进行训练.其实,常用的梯度下降法还具体包含有三种不同的形式,它们也各自有着不同的优缺点. 下面我们以线性回归算法来对三种梯度下降法进行比较. ...
- 线性回归(最小二乘法、批量梯度下降法、随机梯度下降法、局部加权线性回归) C++
We turn next to the task of finding a weight vector w which minimizes the chosen function E(w). Beca ...
- 机器学习中梯度下降法原理及用其解决线性回归问题的C语言实现
本文讲梯度下降(Gradient Descent)前先看看利用梯度下降法进行监督学习(例如分类.回归等)的一般步骤: 1, 定义损失函数(Loss Function) 2, 信息流forward pr ...
- ubuntu之路——day8.1 深度学习优化算法之mini-batch梯度下降法
所谓Mini-batch梯度下降法就是划分训练集和测试集为等分的数个子集,比如原来有500W个样本,将其划分为5000个baby batch,每个子集中有1000个样本,然后每次对一个mini-bat ...
随机推荐
- layui切换
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...
- Django组件之forms
forms:校验字段功能 针对一个实例:注册用户讲解. 模型:models.py class UserInfo(models.Model): name=models.CharField(max_len ...
- 基于Java+Selenium的WebUI自动化测试框架(九)-----基础页面类(BasePage)
上篇我们写了java读取xml文件的类,实现了可以从xml文件读取元素的方式.那么,接下来我们需要考虑一个问题.我们拿了这些元素之后怎么去操作呢? 先来看看我们手工测试的时候是怎么进行的. 双击浏览器 ...
- Springboot与ActiveMQ、Solr、Redis中分布式事物的初步探索
Springboot与ActiveMQ.Solr.Redis中分布式事物的初步探索 解决的场景:事物中的异步问题,当要求数据库与solr服务器的最终一致时. 程序条件: 利用消息队列,当数据库添加成功 ...
- python开发全自动网站链接主动提交百度工具
自己网站因数据比较多,趁晚上没事就写了一个通过python爬取url自动提交给百度,实现网站全站提交的思路,代码实现很简单,因为编写时间仓储,难免有些bug,可以放在服务器上配置下定时爬取提交. im ...
- 22 Jquery 事件
一.概述: 当用户与浏览器进行交互时这些方法被用于注册行为生效, 并进一步处理这些注册行为. 二.绑定事件处理器 .bind() ..unbind():为一个元素绑定一个事件处理程序.3.0版本已经弃 ...
- idea远程debug调试阿里云ECS
1.首先远程服务器的代码跟本地项目代码应该完全一致,否则会出现debug混乱现象,亲测. 2.config如图: ①命名可以省略②复制这个地址③输入远程ip和自定义且未被占用的端口号xxxx 3.开放 ...
- 29、[源码]-AOP原理-AnnotationAwareAspectJAutoProxyCreatovi
29.[源码]-AOP原理-AnnotationAwareAspectJAutoProxyCreatovi
- linux系统常用软件
输入法---搜狗输入法 音乐播放器---网易云音乐 邮箱---
- MySQL数据库卸载有残留, windows10 sc delete 拒绝访问 失败5
sc delete 拒绝访问,原因是当前用户的权限不足,需要做的是在注册表 HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\P ...