keras中的神经网络为什么需要多次epoch

Δ w ( t ) = − ε ∂ E ∂ w ( t ) + α Δ w ( t − 1 ) ( 9 ) \Delta w(t)=-\varepsilon\frac{∂E}{∂w(t)}+\alpha\Delta w(t-1)(9) Δw(t)=εw(t)E+αΔw(t1)(9)
我们知道反向传播每次迭代的效果是这样的:
w = w + Δ w ( t ) w=w+\Delta w(t) w=w+Δw(t)

我们知道,每条训练数据都会导致训练的过程中,
计算一次 ∂ E ∂ w ( t ) \frac{∂E}{∂w(t)} w(t)E,假如我的 w i w_i wi初始化为0,最终的值是0.7
但是我的学习率 ε = 0.0001 \varepsilon=0.0001 ε=0.0001,一万条数据,
epoch=1够不够,可能够,也可能不够.
因为你想啊,就假如一个三层的神经网络
第一层和第二层之间有个 w i w_i wi
第2层和第3层之间有个 w j w_j wj
假设w在0~1之间,那么就有1/ ε \varepsilon ε=10000种取值,
并且层与层之间的w还得排列组合,这些排列组合虽然是根据 ∂ E ∂ w ( t ) \frac{∂E}{∂w(t)} w(t)E不断调整 w w w的,你能确保这些层与层之间的不同w的值的组合
刚好令loss(也就是E)最小吗?
显然不能,所以根据梯度下降的过程,你需要很多次epoch,才有可能让神经网络来拟合处满足当前训练集的模型.
一言概之,为啥需要多次epoch,
就是 w = w + Δ w ( t ) w=w+\Delta w(t) w=w+Δw(t)还没来得及迭代到最终的值.

当然最终的值很可能会让神经网络过拟合,这是后话.

  • 5
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值