当前位置:   article > 正文

epochs,batch_size,iterations的理解_n_iterations

n_iterations

对于这几个参数,一直不怎么理解,每次写一个小demo都要一个个百度是什么意思。为了能够记住,决定自己写一遍,这样影响更深刻,也能更好的理解,虽然这类的博客很多,但是每个人喜欢的格式都不一样,希望可以帮到跟我一样的人。

Batch

首先说batch size,就要说到深度学习的算法,梯度下降。下面是梯度下降的几种方法

这几种梯度下降最大不同点在于什么时候更新损失函数,关于损失函数如果不理解可以看另外一篇博客:

1.批梯度下降(BGD   -----  Batch  Gradient Decent)

概念:训练数据集的时候,将所有的数据集样本都训练一遍后更新损失函数

特点:这样效率低,计算开销大,速度慢,不适合在线机器学习。

batch英文直接翻译过来就是一批的意思,批梯度下降我们可以把这样一批看成是整个数据集。

2.随机梯度下降(SGD   ----  Stochastic Gradient Decent)

概念:每训练一个数据更新一次损失函数。

特点:这样的计算速度提高了很多,但是收敛性可能不太好,容易在最优点徘徊,很难get到那个最优点。

3.小批梯度下降(mini-batch Gradient Decent)

概念:把数据分为若干批,按批来更新损失函数

这个方法是上面两个方法的折中方法。

batch size:每次选取的数据集中的一小部分,也就是小批度下降中的那一小批。

iterations

iterations(迭代):每次迭代都要更新一次权重参数,每次权重的更新都需要batch size个数据进行Forward计算得到损失函数,再用BP算法更新参数。

1 次Iteration=迭代一个batch size的量

epochs

(直译过来是时代、时期的意思)

epochs:也是就是在训练过程中所有训练集反复训练的次数。

三者关系

1 次Iteration=迭代一个batch size的量=N

1次epochs=所有数据集/batch size=N次Iteration

例:假设有1000个数据样本,batch size=10,那么一次epoch需要迭代100次。(1000/10=100)

即100次iteration,1次epoch。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/weixin_40725706/article/detail/261761
推荐阅读
相关标签
  

闽ICP备14008679号