神經網絡為什么需要多次epoch


Δw(t)=−ε
∂w(t)
∂E

+αΔw(t−1)(9)

我們知道反向傳播每次迭代的效果是這樣的:
w=w+Δw(t) w=w+\Delta w(t)
w=w+Δw(t)

我們知道,每條訓練數據都會導致訓練的過程中,
計算一次∂E∂w(t) \frac{∂E}{∂w(t)}
∂w(t)
∂E

,假如我的wi w_iw
i

初始化為0,最終的值是0.7
但是我的學習率ε=0.0001 \varepsilon=0.0001ε=0.0001,一萬條數據,
epoch=1夠不夠,可能夠,也可能不夠.
因為你想啊,就假如一個三層的神經網絡
第一層和第二層之間有個wi w_iw
i


第2層和第3層之間有個wj w_jw
j


假設w在0~1之間,那么就有1/ε \varepsilonε=10000種取值,
並且層與層之間的w還得排列組合,這些排列組合雖然是根據∂E∂w(t) \frac{∂E}{∂w(t)}
∂w(t)
∂E

不斷調整w ww的,你能確保這些層與層之間的不同w的值的組合
剛好令loss(也就是E)最小嗎?
顯然不能,所以根據梯度下降的過程,你需要很多次epoch,才有可能讓神經網絡來擬合處滿足當前訓練集的模型.
一言概之,為啥需要多次epoch,
就是
w=w+Δw(t) w=w+\Delta w(t)
w=w+Δw(t)
還沒來得及迭代到最終的值.

當然最終的值很可能會讓神經網絡過擬合,這是后話.
---------------------
作者:Chi Yus Blog
來源:CSDN
原文:https://blog.csdn.net/appleyuchi/article/details/86555315
版權聲明:本文為博主原創文章,轉載請附上博文鏈接!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM