keras中的mini-batch gradient descent (转)

深度学习的优化算法,说白了就是梯度下降。每次的参数更新有两种方式。

一、

第一种,遍历全部数据集算一次损失函数,然后算函数对各个参数的梯度,更新梯度。这种方法每更新一次参数都要把数据集里的所有样本都看一遍,计算量开销大,计算速度慢,不支持在线学习,这称为Batch gradient descent,批梯度下降。

二、

另一种,每看一个数据就算一下损失函数,然后求梯度更新参数,这个称为随机梯度下降,stochastic gradient descent。这个方法速度比较快,但是收敛性能不太好,可能在最优点附近晃来晃去,hit不到最优点。两次参数的更新也有可能互相抵消掉,造成目标函数震荡的比较剧烈。

三、

为了克服两种方法的缺点,现在一般采用的是一种折中手段,mini-batch gradient decent,小批的梯度下降,这种方法把数据分为若干个批,按批来更新参数,这样,一个批中的一组数据共同决定了本次梯度的方向,下降起来就不容易跑偏,减少了随机性。另一方面因为批的样本数与整个数据集相比小了很多,计算量也不是很大。

基本上现在的梯度下降都是基于mini-batch的,所以Keras的模块中经常会出现batch_size,就是指这个。batch_size指的是一个batch有多少个样本,而不是由多少个batch

顺便说一句,Keras中用的优化器SGD是stochastic gradient descent的缩写,但不代表是一个样本就更新一回,还是基于mini-batch的。

 

------------------------------------------------

来源:

  1、keras中文文档: https://keras-cn.readthedocs.io/en/latest/for_beginners/concepts/

转载于:https://www.cnblogs.com/hezhiyao/p/8405449.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/428186.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Leetcode 206. Reverse Linked List

Similar Questions Reverse Linked List II Binary Tree Upside Down Palindrome Linked List思路:链表反转。 解法一:迭代。 添加头节点(推荐):不断将当前元素start插入dummy和dummy.next之间,实现反转。…

java中输出系统时间

老用老忘,乐此不疲 自己给自己写个模板,忘了随时copy也很香,不是吗? 不说废话了,上代码: package java操作的复习;import java.text.SimpleDateFormat; import java.util.Date;public class SystemTime {public sta…

centos redis make 报错_Redis入门安装,你只需要看我写的这篇就行了

今天来写点基础的东西,可能很多初学者不太会装Redis,这篇文章主要是分享一下如何在Linux中安装redis服务。1. Redis的介绍Redis是一种非关系型数据库(NoSQL),NoSQL是以key-value的形式存储,和传统的关系型数据库不一样&#xff0c…

论算法的实际应用——泡妞论

http://blog.csdn.net/sm9sun/article/details/53519226 我们都知道,算法即解决问题的方法,我们衡量一个算法的优劣,可以用空间复杂度与时间复杂度来衡量。 换做我们实际生活中,就是物质成本开销与时间成本开销。 不同算法进行泡妞…

四舍六入五凑偶原则

写物理实验报告遇到的,给自己的记忆存个档,下次遇到不迷路 1 2

axios某一接口失败后不调用_axios 源码系列之如何取消请求

我们在前后端交互的过程中,通常是通过请求接口来实现的,而一个页面中的交互又非常复杂,例如需要多次频繁请求同一个接口,或者在接口还没返回时就要切换路由等。这些都需要对接口请求的时机或者请求接口之后进行处理,避…

office之excel设置文本格式

来到大学,好多时候填写一些班级或者身份证的表格时都要求设置文本格式,具体该怎么做呢,music走起嘿嘿。 Excel实现设置文本格式随手录了一个小视频,希望对你有所帮助,有帮到你的话可以点个赞,鼓励一下创作哈…

函数调用关系图如何画_程序是如何在 CPU 中运行的(二)

笔者能力有限,如果文中出现错误的地方,还请各位朋友能够给我指出来,我将不胜感激,谢谢~ 前言 在上一篇文章中《程序是如何在 CPU 中运行的(一)》笔者讲述了程序中一条一条指令以及一条一条数据是如何在 CPU 中运行的,在本文笔者将以 ARM Cortex M3 的内核为背景分析指令是…

yii2中的rules 自定义验证规则详解

yii2的一个强大之处之一就是他的Form组件,既方便又安全。有些小伙伴感觉用yii一段时间了,好嘛,除了比tp"难懂"好像啥都没有。 领导安排搞一个注册的功能,这家伙刷刷刷的又是百度啥啥啥好的表单样式,又是百度…

电脑功耗监测_应急监测便携式VOC检测仪色谱分析仪原理解析

对目前越来越多的应急测试要求,应急监测便携式VOC检测仪色谱分析仪的发展日趋迅猛和成熟。而仪器的体积和重量一直制约着应急监测便携式VOC检测仪色谱分析仪的发展,Model 3200打破了传统色谱仪的桎梏,将便携式标气、便携式电脑工作站、在线VO…

L1-058 6翻了 (15 分)

题目复制不太好看,我直接给截图了,如上: 究其本源,pta L1的题目主要侧重于对字符串处理的考察,可以说拿下字符串,pta L1的题目百分之八十五的部分基本上都不会难倒你了,所以要在做题的时候注意积累。这里是…

N皇后问题12 · N-Queens

[抄题]: n皇后问题是将n个皇后放置在n*n的棋盘上,皇后彼此之间不能相互攻击。 给定一个整数n,返回所有不同的n皇后问题的解决方案。 每个解决方案包含一个明确的n皇后放置布局,其中“Q”和“.”分别表示一个…

python md5解密_python写一个md5解密器示例

{"moduleinfo":{"card_count":[{"count_phone":1,"count":1}],"search_count":[{"count_phone":4,"count":4}]},"card":[{"des":"阿里技术人对外发布原创技术内容的最大平台&…

L1-059 敲笨钟 (20 分)

题目截图如下,也可以跳转下方这个链接去pta平台自己测试一下: L1-059 敲笨钟 (20 分) 代码如下&#xff0c;部分关键注释已经在代码中标明: #include<bits/stdc.h> using namespace std; int main() {int n;string s;cin>>n;getchar(); //也可以使用cin.ignore()…

退出vim

退出vim命令 简单说明 :w保存编辑后的文件内容&#xff0c;但不退出vim编辑器。这个命令的作用是把内存缓冲区中的数据写到启动vim时指定的文件中。 :w! 强制写文件&#xff0c;即强制覆盖原有文件。如果原有文件的访问权限不允许写入文件&#xff0c;例如&#xff0c;原有的文…

python解压加密zip文件_Python:解压缩前检测一个zip文件否为加密,两种算法。

前一篇文章介绍了如何用python自动解压缩加密的zip文件&#xff0c;但是有一个问题&#xff0c;在服务器端脚本在解加密zip文件之前&#xff0c;需要检测其是否是加密文件&#xff0c;若是&#xff0c;则询问密码&#xff0c;结合密码解压缩&#xff1b;如果不是&#xff0c;则…

web前端表格css三个t的使用(thead,tbody,tfoot)

其实从这三个词的翻译上&#xff0c;也可以知道他们的使用用途&#xff1a; thead&#xff08;表格头&#xff09;tbody&#xff08;表格主体&#xff09;tfoot &#xff08;表尾&#xff09; 话不多说&#xff0c;先上效果图: 具体使用看见代码演示: <html> <head…

HDU 2102 A计划

A计划 Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 26316 Accepted Submission(s): 6623 Problem Description可怜的公主在一次次被魔王掳走一次次被骑士们救回来之后&#xff0c;而今&#xff0c;不幸的她再…

Vue框架之条件与循环的使用

如果是初学者的话&#xff0c;这里先给你一个基础知识的框图&#xff0c;可以了解一下下面代码的由来。 也可以选择我这个链接Vue条件与循环跳转到Vue官网进行学习。 上面是Vue的一个简单案例&#xff0c;不要急&#xff0c;进阶版来了&#xff0c;通过这个框架应用到你的表格…

git连接jenkins_开普勒云平台:如何配置gitlab与Jenkins

一、Kplcloud是什么?kplcloud是一个基于Kubernetes的轻量级PaaS平台&#xff0c;通过可视化的界面对应用进行管理&#xff0c;降低应用容器化的对度&#xff0c;从而减少应用容器化的时间成本。Kplcloud已在宜信服务于宜人财富等多个团队&#xff0c;稳定运行了近两年&#xf…