Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenDocCN
ml-mastery-zh
提交
be275ea7
M
ml-mastery-zh
项目概览
OpenDocCN
/
ml-mastery-zh
8 个月 前同步成功
通知
2
Star
556
Fork
158
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
M
ml-mastery-zh
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
be275ea7
编写于
9月 12, 2019
作者:
Lnssssss
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
翻译校对
上级
980987e9
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
33 addition
and
33 deletion
+33
-33
docs/dl-keras/difference-between-a-batch-and-an-epoch.md
docs/dl-keras/difference-between-a-batch-and-an-epoch.md
+33
-33
未找到文件。
docs/dl-keras/difference-between-a-batch-and-an-epoch.md
浏览文件 @
be275ea7
...
...
@@ -4,15 +4,15 @@
随机梯度下降是一种学习算法,具有许多超参数。
两个经常让初学者感到困惑的超参数是批
量大小和时代
数。它们都是整数值,似乎做同样的事情。
两个经常让初学者感到困惑的超参数是批
次和迭代次
数。它们都是整数值,似乎做同样的事情。
在这篇文章中,您将
发现随机梯度下降中批次和时期
之间的差异。
在这篇文章中,您将
了解随机梯度下降中批次和迭代次数
之间的差异。
阅读这篇文章后,你会知道:
*
随机梯度下降是一种迭代学习算法,它使用训练数据集来更新模型。
*
批量
大小是梯度下降的超参数,在模型的内部参数更新之前控制
训练样本的数量。
*
时期数是梯度下降的超参数,其控制通过训练数据集的完整遍
数。
*
批量
尺寸是梯度下降的超参数,用来控制在模型的内部参数更新之前
训练样本的数量。
*
迭代次数是梯度下降的超参数,用来控制完成对训练数据集进行完整训练的循环次
数。
让我们开始吧。
...
...
@@ -21,27 +21,27 @@
神经网络中批量和迭代之间的区别是什么?
[
Graham Cook
](
https://www.flickr.com/photos/grazza123/9754438586/
)
的照片,保留一些权利。
## 概
观
## 概
述
这篇文章分为五个部分;他们是:
1.
随机梯度下降
2.
什么是样品?
3.
什么是批次?
4.
什么是
大迭代
?
4.
什么是
迭代次数
?
5.
Batch 和 Epoch 有什么区别?
## 随机梯度下降
随机梯度下降(Stochastic Gradient Descent,简称 SGD)是一种用于训练机器学习算法的优化算法,最
值得注意的是深度学习中使用
的人工神经网络。
随机梯度下降(Stochastic Gradient Descent,简称 SGD)是一种用于训练机器学习算法的优化算法,最
常使用在深度学习中
的人工神经网络。
该算法的
工作是找到一组内部模型参数,这些参数在某些表现测量中表现良好
,例如对数损失或均方误差。
该算法的
作用是找到一组内部模型参数,这些参数的运用使得模型的衡量指标很优秀
,例如对数损失或均方误差。
优化是一种搜索过程,您可以将此搜索视为学习。优化算法称为“_ 梯度下降 _”,其中“_ 梯度 _”是指误差梯度或误差斜率的计算,“下降”是指沿着该斜率向下移动朝着某种最低程度的错误。
该算法是迭代的。这意味着搜索过程发生在多个不连续的步骤上,每个步骤都希望略微改进模型参数。
每个步骤都涉及将模型与当前内部参数集一起使用,以对某些样本进行预测,将预测
与实际预期结果
进行比较,计算误差,并使用误差更新内部模型参数。
每个步骤都涉及将模型与当前内部参数集一起使用,以对某些样本进行预测,将预测
结果与实际的
进行比较,计算误差,并使用误差更新内部模型参数。
该更新过程对于不同的算法是不同的,但是在人工神经网络的情况下,使用
[
反向传播
](
https://en.wikipedia.org/wiki/Backpropagation
)
更新算法。
...
...
@@ -57,9 +57,9 @@
它包含输入算法的输入和用于与预测进行比较并计算错误的输出。
训练数据集由许多行数据组成,例如,很多样品。样本也可以称为实例,观
察
,输入向量或特征向量。
训练数据集由许多行数据组成,例如,很多样品。样本也可以称为实例,观
测值
,输入向量或特征向量。
现在我们知道
样本是什么,让我们定义一个批量
。
现在我们知道
了样本是什么,再让我们定义一个批次
。
## 什么是批次?
...
...
@@ -73,9 +73,9 @@
*
**批量梯度下降**
。批量大小=训练集的大小
*
**随机梯度下降**
。批量大小= 1
*
**
Mini-Batch Gradient Descent
**
。 1<批量大小<训练集的大小
*
**
小批量梯度下降
**
。 1<批量大小<训练集的大小
在小批量梯度下降的情况下,
流行的批量大小包括 32,64 和 128 个样本。您可能会在文献和教程中看到这些值
在模型中使用。
在小批量梯度下降的情况下,
常用的批量大小包括 32,64 和 128 个样本。您可能会在文献和教程中看到这些值经常
在模型中使用。
**如果数据集不能按批量大小均匀分配怎么办?**
...
...
@@ -87,19 +87,19 @@
*
[
微量批量梯度下降的简要介绍以及如何配置批量大小
](
https://machinelearningmastery.com/gentle-introduction-mini-batch-gradient-descent-configure-batch-size/
)
批量涉及使用样本更新模型;接下来,让我们来看一个
时代
。
批量涉及使用样本更新模型;接下来,让我们来看一个
迭代周期
。
## 什么是
大迭代
?
## 什么是
迭代周期
?
时
期数是一个超参数,它定义了学习算法在整个训练数据集中的工作次数。
周
期数是一个超参数,它定义了学习算法在整个训练数据集中的工作次数。
一个
时期意味着训练数据集中的每个样本都有机会更新内部模型参数。时
期由一个或多个批次组成。例如,如上所述,具有一批的时期称为批量梯度下降学习算法。
一个
完整的周期意味着训练数据集中的每个样本都有机会更新内部模型参数。一个周
期由一个或多个批次组成。例如,如上所述,具有一批的时期称为批量梯度下降学习算法。
您可以考虑在
每个循环在训练数据集上进行的时期数量的 for 循环
。在这个 for 循环中是另一个嵌套的 for 循环,它遍历每批样本,其中一个批次具有指定的“批量大小”样本数。
您可以考虑在
进行的迭代周期个 for 循环,每次循环中都会遍历训练集样本
。在这个 for 循环中是另一个嵌套的 for 循环,它遍历每批样本,其中一个批次具有指定的“批量大小”样本数。
迭代的数量传统上很大,通常是数百或数千,允许学习算法运行直到模型的误差被充分最小化。您可能会看到文献和教程设置为 10,100,500,1000 和更大的时期数量的示例。
通常创建线图
,其显示沿 x 轴的时期作为时间以及模型在 y 轴上的误差或技能
。这些图有时称为学习曲线。这些图可以帮助诊断模型是否已经过度学习,学习不足或是否适合训练数据集。
通常创建线图
:在 x 轴上显示的是迭代周期数,在 y 轴上显示的是模型的误差或评估能力
。这些图有时称为学习曲线。这些图可以帮助诊断模型是否已经过度学习,学习不足或是否适合训练数据集。
有关使用 LSTM 网络学习曲线的诊断信息,请参阅帖子:
...
...
@@ -109,31 +109,31 @@
## Batch 和 Epoch 有什么区别?
批量大小是在更新模型之前处理的多个样本。
批量大小是在更新模型之前处理的多个样本
的个数
。
时期数是通过训练数据集的完整传递
次数。
迭代次数是对训练数据集的进行完整训练的循环
次数。
批量的大小必须大于或等于 1 且小于或等于训练数据集中的样本数。
时期数可以设置为 1 和无穷大之间的整数值。您可以根据需要运行算法
,甚至可以使用除固定数量的迭代之外的其他标准来停止算法,例如模型错误随时间的变化(或缺少更改)。
迭代次数可以设置为 1 和无穷大之间的整数值。您可以根据需要设定运行算法的次数
,甚至可以使用除固定数量的迭代之外的其他标准来停止算法,例如模型错误随时间的变化(或缺少更改)。
它们都是整数值,并且它们都是学习算法的超参数,例如,学习过程的参数,而不是学习过程中找到的内部模型参数。
您必须为学习算法指定批次大小和
时期
数。
您必须为学习算法指定批次大小和
迭代
数。
如何配置这些参数没有
神奇
的规则。您必须尝试不同的值,看看哪种方法最适合您的问题。
如何配置这些参数没有
固定
的规则。您必须尝试不同的值,看看哪种方法最适合您的问题。
### 工作示例
最后,让我们用一个小例子来具体化。
最后,让我们用一个小例子来具体化
这些概念
。
假设您有一个包含 200 个样本(数据行)的数据集,并且您选择的批量大小为 5 和 1,000
个
迭代。
假设您有一个包含 200 个样本(数据行)的数据集,并且您选择的批量大小为 5 和 1,000
次
迭代。
这意味着数据集将分为 40 个批次,每个批次有 5 个样本。
每批五个样品
后,模型权重将更新。
这意味着数据集将分为 40 个批次,每个批次有 5 个样本。
对每批样本训练
后,模型权重将更新。
这也意味着一
个时
代将涉及 40 个批次或 40 个模型更新。
这也意味着一
次迭
代将涉及 40 个批次或 40 个模型更新。
有 1000 个时期,模型将暴露或传递整个数据集 1,000 次。
在整个训练过程中总共有 40,000 批次。
1000 次迭代意味着模型将传递整个数据集 1,000 次。则
在整个训练过程中总共有 40,000 批次。
## 进一步阅读
...
...
@@ -145,15 +145,15 @@
*
[
维基百科上的随机梯度下降
](
https://en.wikipedia.org/wiki/Stochastic_gradient_descent
)
*
[
维基百科上的反向传播
](
https://en.wikipedia.org/wiki/Backpropagation
)
##
摘要
##
总结
在这篇文章中,您发现了随机梯度下降中批次和
时期
之间的差异。
在这篇文章中,您发现了随机梯度下降中批次和
迭代次数
之间的差异。
具体来说,你学到了:
*
随机梯度下降是一种迭代学习算法,它使用训练数据集来更新模型。
*
批量大小是梯度下降的超参数,在模型的内部参数更新之前控制训练样本的数量。
*
时期数是梯度下降的超参数
,其控制通过训练数据集的完整遍
数。
*
时期数是梯度下降的超参数
表示训练整个数据集的次
数。
你有任何问题吗?
在下面的评论中提出您的问题,我会尽力回答。
\ No newline at end of file
在下面的评论中提出您的问题,我会尽力回答。
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录