首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >何时停止训练-洛夫MLP

何时停止训练-洛夫MLP
EN

Stack Overflow用户
提问于 2016-06-01 20:09:53
回答 3查看 561关注 0票数 0

我正在运行一个MLP来将一组值分类为10个不同的类。

简化下来,我有一个声纳给我400个“读数”的一个物体。每次读取都是一个包含1000个浮动值的列表。

我已经扫描了100个对象,并希望对它们进行分类,并根据保留一次交叉验证对模型进行评估。

对于每个对象,我将数据分成一个由99个对象组成的训练集和一个其余对象的测试集。我将训练集(99对象,99*400“读数”)输入MLP,并使用测试集(1对象,1*400“读数)进行验证。

我的问题是:如何知道应该使用哪个训练时代作为最终的“最佳”模型?我在谷歌上搜索了一下,有些人说使用的时代具有最好的验证精度,但对我来说,这似乎是作弊。我不应该仅仅根据培训数据的统计数据来选择一个模型吗?(我的思维过程是,在训练中随机调整权重可以创造一个人工高的验证精度,实际上并不能为将来可能被扫描的新对象提供有用的模型)

因此,要使用提供最佳验证准确性的培训时代,请回答:

在神经网络中,训练、验证和测试集之间有什么区别?

最好的,甲板垫圈

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2016-06-03 04:42:53

这叫“早停”。

您需要的是一个验证集。

-After每个时代,计算您想要的评估措施之上的验证集。

-Always将性能最好的模型的参数保存在变量中。

对于-If两次或n次迭代,验证结果没有改进,停止了历次迭代,并用性能最好的参数重置了MLP。

-Then使用之前保存的性能最好的验证集模型计算测试集上的结果。

票数 1
EN

Stack Overflow用户

发布于 2016-06-01 20:29:49

您希望优化您的generalization/true-error (我对未见数据的预测有多好),它通常由以下内容组成(包括此概念的纸质这里;尽管在另一个上下文中-> SGD + SVM):

  • approximation-error:你的模型所描述的数据有多好?
  • 最小化经验风险而不是预期风险的estimation-error:效应
  • optimization-error:度量近似优化对预期风险的影响
    • 通过延长优化器的运行时间(这里是您的变量),可以减少优化错误。

您可以看到,真错误仅部分地由您的优化错误(决定何时停止)来描述,但是对于真实错误的描述/评估,一个好的交叉验证方案可以更加精确(这就是为什么要做CV;需要付出一定的代价)。因此,基于CV的选择时代是如此普遍。

当然,让交叉验证方案变得更加合理也是非常重要的。基于k折叠的方案通常使用不太小的k(至少在非NN应用中是这样;对NNs来说可能太昂贵)。

票数 0
EN

Stack Overflow用户

发布于 2016-06-02 10:40:44

决定何时停止的一种方法是评估测试集(或验证集)的准确性,并在每个时代之后打印出来。一旦达到最大的时代,你就可以阻止它。

另一种方法是(在python中)或序列化(在Java中),并将一组权重和偏差存储在文件或磁盘中,如果当前权重和偏差的准确性优于当前最大值的话。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37577891

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档