在一个训练周期中我使用训练数据样本多少次?
假设我有 60 个训练数据。我遍历第一行并进行前向传递,并使用后向传递的结果调整权重。使用 sigmoidal 函数如下:
Forward pass
Si = sum of (Wi * Uj)
Ui = f(Si) = 1 / 1 + e^ - Si
Backward pass
Output Cell = (expected -Ui)(f'(Si)), where
f'(Si) = Ui(1-Ui)
然后我是否要遍历第二行并执行与第一行相同的过程,还是绕过第一行直到错误减少?
我希望有人可以帮忙
训练网络
您应该在每个训练周期使用训练集的每个实例一次。
A 训练时期是数据集的完整循环。
循环访问数据集并计算增量后,您应该调整网络的权重。然后,您可以在神经网络上执行新的前向传递,并进行另一个训练周期,循环遍历训练数据集。
图示
可以找到反向传播的非常好的图形表示在这个链接。 http://galaxy.agh.edu.pl/~vlsi/AI/backp_t_en/backprop.html
单步训练
有两种方法可以训练网络对数据集执行分类。最简单的方法称为单步学习或在线学习。这是大多数文献中可以找到的方法,也是收敛速度最快的方法。当您训练网络时,您将计算每一层的增量并调整权重数据集的每个实例.
因此,如果您有一个包含 60 个实例的数据集,这意味着您应该在训练周期结束之前调整权重 60 次。
批量训练
另一种方法称为批量训练或离线学习。这种方法通常会产生具有较低残余误差的网络。
当您训练网络时,您应该计算数据集每个实例的每个层的增量,然后最后对各个增量进行平均,每个时期校正一次权重.
如果您有一个包含 60 个实例的数据集,这意味着您应该在训练周期结束之前调整权重一次。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)