我正在使用 python 中的前馈神经网络,利用 pybrain 实现。 对于训练,我将使用反向传播算法。 我知道对于神经网络,我们需要有适量的数据,以避免对网络进行欠/过拟合。 我可以获得大约 1200 个不同的训练数据模板用于数据集。
所以问题是:
如何计算训练的最佳数据量?
因为我已经在数据集中尝试了 500 个条目,并且花费了数小时才收敛,所以我希望不必尝试太多尺寸。 使用这个最后的尺寸,结果非常好,但我想找到最佳数量。 神经网络有大约 7 个输入、3 个隐藏节点和一个输出。
回答:
如何计算训练的最佳数据量?
这完全取决于具体的解决方案。 并且带有一些艺术性。 了解你是否进入过拟合区域的唯一方法是定期使用一组验证数据(即你不用于训练的数据)来测试你的网络。 当该数据集的性能开始下降时,你可能训练过度了——回滚到上一次迭代。
使用这个最后的尺寸,结果非常好,但我想找到最佳数量。
“最佳”不一定能够实现; 这也取决于你的定义。 你通常寻找的是对一组给定的权重在未见过的数据上表现”良好”的高度置信度。 这就是验证集背后的想法。