What is `epoch`?

假设,你是一个新手。

一天,有人问了你 epoch在机器学习里面代表着什么?

QQ里面截图:


截图1

最好的方式是在知乎里面找啦:

https://www.zhihu.com/question/43673341

但是,

本着认真的态度,在网上查查 :

在stackOverflow

1. Meaning of an Epoch in Neural Networks Training

What is `epoch`?_第1张图片
这个有个单词 cycle , cycle是循环的一次啊,full taining cycle on training set 就是说在epoch就是一次对所有数据的训练啦。 那么,每次训练是不是一样的呢? 

How do know how many deep learning epochs were done, from R?


What is `epoch`?_第2张图片
这个人是从代码的角度解释的。


在Quora里面找了找

What is an epoch in deep learning?


What is `epoch`?_第3张图片
这位投票率比较高: 他的观点是 一个epoch就是将全部训练集合的一次传播(这里并没有指名是正向还是反向?),通常情况下,one epoch 包含很多迭代(这是自然的);回答者的第二句话就厉害了:Because usually we divide the training set into batches, each epoch go through the whole training set. Each iteration goes through on batch. 我们把数据集分割成很多批次batch, 每次迭代经过批处理,每个epoch要经过整个训练集合。最后这位还给出了一本书的链接支持自己观点


http://neuralnetworksanddeeplearning.com/chap1.html  这里给出的更加具体:


What is `epoch`?_第4张图片
从给出的程序片段上,我们可以知道epoch 是训练整个数据集合的,每次训练之前shuffle一次。每个epoch中包含batches.    与图一,图二中的说法一致


本着怀疑的态度,又看了一个链接 Epoch vs. Iteration  


What is `epoch`?_第5张图片
”an epoch is a complete pass through a given dataset.“ 这里说的很明白了。再看看最后:Epoch and iteration are only synonymous if you update your parameters once for each pass through the whole dataset; if you update using mini-batches, they mean different things.  如果每次通过整个数据集更新参数一次,epoch和terator是同义词; 如果使用小批量进行更新,则意味着不同的事情。 注意,这就和我们之前的理解不同了。假设我们有两个batch A和B, 进行3次迭代, 虽然迭代的是AAABBB, 但是这3个epoch 可以看做AB ,AB,AB 

多看了一个文献,我发现和之前描述的略有不同。这里说在大良的数据情况下,迭代和epoch 是一样的,但是在小数据的情况下是不同的。

有点开始怀疑英语水平了。。。。继续看--》

What is batch size and epoch in neural network? 


What is `epoch`?_第6张图片
这位作者也给出比较详细:epoch是整个训练数据进行一次正向传播和反向传播的。; 那么迭代和batch的关系呢???给出了一个例子: 假如,你的训练数据有1000个,你的batch_size=500. 那么需要两次iteration才能完成一次epoch.这下似乎明白了: 图1,2说的不错,那么图3呢,说的也不错,batch1=A,batch2=B的时候,在进行三个epoch, 你看看是不是和图3的说法一样的呢? 


说了这么久,似乎还忘了一个问题:epoch 有什么用呢?且继续看上面的链接。。。。


What is `epoch`?_第7张图片
似乎没有找到我们想要的

嘿嘿,这个时候找一篇深度学习的论文,在实验部分一定会有介绍的。


小结

epoch 其实也是我在写论文的时候遇到的,在度量模型训练的程度时候可以用一下。


敬请期待:
How To Improve Deep Learning Performance

http://epoch.ch/

你可能感兴趣的:(What is `epoch`?)