神经网络为什么需要多次epoch
Δw(t)=?ε
?w(t)
?E
?
+αΔw(t?1)(9)
我們知道反向傳播每次迭代的效果是這樣的:
w=w+Δw(t) w=w+\Delta w(t)
w=w+Δw(t)
我們知道,每條訓(xùn)練數(shù)據(jù)都會導(dǎo)致訓(xùn)練的過程中,
計算一次?E?w(t) \frac{?E}{?w(t)}
?w(t)
?E
?
,假如我的wi w_iw
i
?
初始化為0,最終的值是0.7
但是我的學(xué)習(xí)率ε=0.0001 \varepsilon=0.0001ε=0.0001,一萬條數(shù)據(jù),
epoch=1夠不夠,可能夠,也可能不夠.
因為你想啊,就假如一個三層的神經(jīng)網(wǎng)絡(luò)
第一層和第二層之間有個wi w_iw
i
?
第2層和第3層之間有個wj w_jw
j
?
假設(shè)w在0~1之間,那么就有1/ε \varepsilonε=10000種取值,
并且層與層之間的w還得排列組合,這些排列組合雖然是根據(jù)?E?w(t) \frac{?E}{?w(t)}
?w(t)
?E
?
不斷調(diào)整w ww的,你能確保這些層與層之間的不同w的值的組合
剛好令loss(也就是E)最小嗎?
顯然不能,所以根據(jù)梯度下降的過程,你需要很多次epoch,才有可能讓神經(jīng)網(wǎng)絡(luò)來擬合處滿足當(dāng)前訓(xùn)練集的模型.
一言概之,為啥需要多次epoch,
就是
w=w+Δw(t) w=w+\Delta w(t)
w=w+Δw(t)
還沒來得及迭代到最終的值.
當(dāng)然最終的值很可能會讓神經(jīng)網(wǎng)絡(luò)過擬合,這是后話.
---------------------
作者:Chi Yus Blog
來源:CSDN
原文:https://blog.csdn.net/appleyuchi/article/details/86555315
版權(quán)聲明:本文為博主原創(chuàng)文章,轉(zhuǎn)載請附上博文鏈接!
總結(jié)
以上是生活随笔為你收集整理的神经网络为什么需要多次epoch的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 最优化方法系列:Adam+SGD-AMS
- 下一篇: 一文告诉你Adam、AdamW、Amsg