Machine learning 训练ANN时,验证数据去哪里?

Machine learning 训练ANN时,验证数据去哪里?,machine-learning,neural-network,training-data,Machine Learning,Neural Network,Training Data,将训练集的一部分用作验证数据的需要很简单,但我不太清楚如何以及在训练的哪个阶段不进行操作 是否在培训结束时(达到培训数据的最低要求后)?如果是这样,如果验证数据出现较大错误,应该怎么做 是否贯穿整个培训过程(当培训和验证数据的错误都不令人满意时,保持最低限度) 无论我尝试什么,当验证集达到一定大小时,网络似乎在学习培训和验证方面都遇到了困难(我记得在某个地方读到,70%培训30%验证是一个常见的比率,我被困在一个小得多的比率上),当完全用于培训时,学习相同的数据没有问题。重要的是,您的验证集必须

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

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

是否贯穿整个培训过程(当培训和验证数据的错误都不令人满意时,保持最低限度)


无论我尝试什么,当验证集达到一定大小时,网络似乎在学习培训和验证方面都遇到了困难(我记得在某个地方读到,70%培训30%验证是一个常见的比率,我被困在一个小得多的比率上),当完全用于培训时,学习相同的数据没有问题。

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

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

  • 基于测试数据的历元i列车网络。设测试误差为e(t,i)
  • 在验证集上评估网络。让它成为e(v,i)
  • 如果e(v,i)>e(v,i-1)停止训练。否则转到1
  • 因此,它可以帮助您看到,当网络过度匹配时,这意味着它对测试数据的细节建模过多。其思想是,使用ANN,您希望实现从训练数据到不可见数据的良好泛化。验证集可帮助您确定何时达到某一点,即它对训练数据的专门性太强。

    表示训练过度 我建议在培训期间检查验证集“MSE” 参见《过度训练警告系统》

    我把那部分搞定了。问题是我如何使用验证数据?用于绘图。你的“错误不令人满意”会产生一个反馈循环。那么,如果网络在验证方面表现不好,我该怎么办?你重新考虑你的模型。验证错误图可以告诉你模型是否不是很好,或者你是否过度学习。解决方案在很大程度上取决于确切的学习问题。有时,作为停止标准,我们在验证集上寻找X个连续的错误恶化时期,而不是在第一个时期之后停止(以避免过于敏感)