为啥 Monk 的问题的测试集比他们的训练集大?

Posted

技术标签:

【中文标题】为啥 Monk 的问题的测试集比他们的训练集大?【英文标题】:Why is Monk's problems' test set bigger than their train set?为什么 Monk 的问题的测试集比他们的训练集大? 【发布时间】:2018-07-06 21:22:43 【问题描述】:

我意识到所有Monk's problems 的测试集都比他们的训练集大。 为什么这个数据集是这样组织的?我认为这很奇怪,即使它是用于模型比较的虚拟数据集。

僧侣1 训练样本:124 测试样本:432

僧侣2 训练样本:169 测试样本:432

僧侣3 训练样本:122 测试样本:432

【问题讨论】:

【参考方案1】:

从机器学习的角度来看,测试集的大小绝对无关紧要。为什么会打扰你?现实世界看起来完全一样:你有 N 个标记样本用于训练,但有 N*10、N*1000、N*10^9 或更多真实案例,因此每个(手动标记、固定)测试集将必然太小。目标是拥有一个具有代表性的集,涵盖我们在现实世界中所期望的一切,如果这意味着拥有一个 YUGE™ 测试集,那么您能做的最好的事情就是拥有一个大于训练集的测试集。

在这个特殊情况下(我不熟悉这个特殊任务)它看起来像你引用的网站阅读

有三个MONK的问题。所有 MONK 问题的域都是相同的(如下所述)。 MONK 的问题之一是添加了噪音。对于每个问题,域都被划分为训练集和测试集。

下面链接的论文

Wnek, J. 和 Michalski, R.S.,“Comparing Symbolic and Subsymbolic Learning: Three Studies”,在机器学习:一种多策略方法,卷。 4.,R.S. Michalski 和 G. Tecuci (Eds.), Morgan Kaufmann, San Mateo, CA, 1993。

第 20 页内容如下:

所以在这个特定的场景中,作者选择了不同的训练条件,因此三个训练集。根据

Leondes, Cornelius T. 图像处理和模式识别。卷。 5. 爱思唯尔,1998,pp 307

他们使用所有 432 个可用样本进行训练,并针对这些数据的一个子集进行了训练。

训练数据和测试数据重叠被认为是不好的做法,但在我不熟悉的领域中,我有什么资格来评判 25 年前的研究。也许获取更多数据并进行干净的拆分太难了。

【讨论】:

从机器学习的角度来看,测试集的大小绝对确实重要,因为可用标记数据的数量是有限的,并且在训练、验证、和测试集。在实践中,为测试保留的每个样本都少一个用于训练的样本。使用80/20 training/test split 是常见的做法。所以很自然地想知道为什么这里只有不到 30% 的数据用于训练。 这是一个特定于特定任务的数据管理和实际考虑问题,而不是算法约束或理论要求。我同意,从今天的角度来看,这似乎是一个奇怪的选择,我不建议在任何新的任务设计中进行这样的拆分。

以上是关于为啥 Monk 的问题的测试集比他们的训练集大?的主要内容,如果未能解决你的问题,请参考以下文章

Sql中in和exists详解

学习曲线(高偏差/高方差)为啥测试学习曲线变平

DL中traindev est集

人工智能“训练员”,让AI更聪明

新职业 新机遇人工智能“训练员”,让AI更聪明

为啥我的交叉验证始终比训练测试分割表现更好?