首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >用于训练机器学习模型的80-20或80-10-10?

用于训练机器学习模型的80-20或80-10-10?
EN

Stack Overflow用户
提问于 2020-03-18 23:25:33
回答 1查看 415关注 0票数 0

我有一个非常基本的问题。

1)建议在什么时候保留部分数据进行验证,什么时候不需要?例如,什么时候我们可以说80%的训练,10%的验证和10%的测试拆分更好,什么时候我们可以说简单的80%的培训和20%的测试拆分就足够了?

2)另外,使用K-Cross验证是否适用于简单的拆分(训练-测试)?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-03-19 02:01:03

如果我有一个有限大小的数据集,我发现拥有一个训练和验证集更有价值。无论如何,验证集本质上是一个测试集。这样做的原因是,您希望您的模型能够从它所训练的数据的高精度进行推断,也希望您的模型能够对它以前从未见过的数据具有高精度。验证集允许您确定是否是这种情况。我通常取至少10%的数据集,并将其作为验证集。随机选择验证数据以使其概率分布与训练集的概率分布相匹配,这一点很重要。接下来,我监视验证损失,并以最低的验证损失保存模型。我还使用了一个可调的学习率。Keras为此提供了两个有用的回调函数: ModelCheckpoint和ReduceLROnPlateau。文档是here。有了验证集,您可以在训练期间监视验证损失,并确定模型是否正在进行训练(训练准确性)以及是否正确地外推(验证损失)。随着模型精度的提高,平均验证损失应该会降低。如果验证损失开始随着高训练精度的增加而增加,则您的模型过度拟合,您可以采取补救措施,例如包括dropout层、正则化或降低模型复杂性。相关的文档是herehere。要了解我为什么使用可调学习率,请参阅堆栈溢出问题here的答案。

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

https://stackoverflow.com/questions/60742605

复制
相关文章

相似问题

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