训练数据量中关于batch_size,iteration和epoch的概念
batch_size
機器學習使用訓練數據進行學習,針對訓練數據計算損失函數的值,找出使該值盡可能小的參數。但當訓練數據量非常大,這種情況下以全部數據為對象計算損失函數是不現實的。因此,我們從全部數據中選出一部分,作為全部數據的“近似”。神經網絡的學習也是從訓練數據中選出一批數據(稱為 mini-batch,小批量),然后對每個mini-batch進行學習。比如,從60000個訓練數據中隨機選取100個數據,用這100個數據進行學習,這種學習方式成為 mini-batch 學習。
用mini-batch的方法定義batch_size,把數據分成小批量,每小批的大小batch_size=100
iteration
迭代,即訓練學習循環一遍(尋找最優參數(權重和偏置))。比如 iteration=30000,循環一遍即執行了30000次迭代。當 batch_size=100,可以說執行完一遍 iteration,即執行了30000次 batch_size
epoch
epoch 是一個單位。一個 epoch表示學習中所有訓練數據均被使用過一次時的更新次數。比如,對于1000個訓練數據,用大小為100個數據的mini-batch(batch_size=100)進行學習時,重復隨機梯度下降法100次,所有的訓練數據就都被“看過”了。此時,10次就是一個 epoch。(即:遍歷一次所有數據,就稱為一個 epoch)
實例
從這個實例可以看出,執行完一遍 iteration,完成了50個 epoch
————————————————
總結
以上是生活随笔為你收集整理的训练数据量中关于batch_size,iteration和epoch的概念的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: DTW动态时间规整算法
- 下一篇: 论文浅尝 | 在生成式多跳机器阅读任务中