在培训人工神经网络时,验证数据在哪里?

时间:2010-01-27 17:25:31

标签: machine-learning neural-network training-data

将部分训练集用作验证数据的需要很简单,但我不清楚如何以及在什么阶段进行训练?

是否在培训结束时(达到培训数据的最低要求后)?如果是这样,如果验证数据出现大错误应该怎么办?

是否在整个培训期间(继续寻找最低限度,而培训和验证数据的错误并不令人满意)?

无论我尝试什么,当验证集达到一定规模时,网络似乎很难学习培训和验证(我记得在某处看到70%的培训30%验证是一个常见的比例,我得到虽然在完全用于训练时学习相同的数据没有问题。

3 个答案:

答案 0 :(得分:1)

重要的是,您的验证集必须没有对培训的反馈。您可以在验证集上绘制错误率,但训练算法只能使用训练集上的错误率来纠正自己。

答案 1 :(得分:1)

验证数据集主要用于提前停止。

  1. 为测试数据训练网络以获得时代。让测试错误是e(t,i)。
  2. 评估验证集上的网络。那就是e(v,i)。
  3. 如果e(v,i)> e(v,i-1)停止训练。其他转到1。
  4. 因此,当网络过度使用时,它可以帮助您查看,这意味着它会过多地模拟测试数据的细节。我们的想法是,通过人工神经网络,您希望从训练数据到看不见的数据实现良好的推广。验证集可帮助您确定何时达到该点,因为它过多地专注于训练数据。

答案 2 :(得分:0)

意味着过度训练 我建议在培训期间检查验证集'MSE 见FannTool的过度训练警告系统 http://fanntool.googlecode.com/files/FannTool_Users_Guide.zip