我应该删除与某些训练样本相同的测试样本吗



我和我的顾问就这个问题进行了一些辩论,我想听听你的意见。

我有一个相当大的数据集,用来构建分类器。我有一个单独的、较小的测试数据集,它是独立于训练集获得的(事实上,你可以说任何一集中的每个样本都是独立获得的)。每个样本都有一个类标签,以及收集日期和位置等元数据。

测试集中没有任何样本与训练集中的任何样本具有相同的元数据(因为每个样本都是在不同的位置或时间收集的)。然而,特征向量本身可能与训练集中的某个样本相同。例如,可能有两种病毒株分别在非洲和加拿大采样,但它们都具有相同的蛋白质序列(特征载体)。

我的顾问认为我应该把这些样品从测试装置中取出。他的理由是,在测试方面,这些就像是"免费赠品",可能会人为地提高报告的准确性。

然而,我不同意,并认为它们应该被包括在内,因为在现实世界中,分类器看到的样本可能是它以前已经看到的。去除这些样本将使我们更加远离现实。

你觉得怎么样?

如果你说的是百万样本中的几次重复,还是15个样本中的10次重复,那就太好了。

总的来说,我觉得你的做法不合理。我认为你的顾问说得很好。你的评估需要尽可能接近于在你的控制之外使用你的分类器——你不能只是假设你将在你已经看到的数据点上进行评估。即使每个数据点是独立的,您也将根据从未见过的数据进行评估。

我的经验是在计算机视觉方面,如果用一个科目的同一张照片进行训练和测试,那将是非常值得怀疑的。事实上,用同一帧视频(甚至不是同一帧)训练和测试我会感到不舒服。

编辑:

有两个问题:

  1. 分布允许这些重复自然发生。我相信你,你了解你的实验,你知道你的数据,你专家。

  2. 这个问题是,你通过这样做和那样做得到了提升这可能是不公平的。解决顾问问题的一种可能方法关注的是评估你获得的杠杆作用有多大从重复的数据点。生成20个测试用例10,其中你用1000进行训练,用33进行测试,确保没有重复33次,另外10次1000,并在33上进行测试,出现时允许重复自然。报告两者的平均值和标准偏差实验。

这取决于。。。你的顾问建议采取一般做法。您通常在未用于训练的样本上测试分类器。如果与训练集匹配的测试集样本非常少,则由于相同向量的再次出现,您的结果不会有统计差异。如果你想保持形式化并保持你的逻辑,你必须证明相同向量的再现在测试过程中没有统计显著性。如果你从理论上证明了这一点,我会接受你的逻辑。请参阅这本关于统计学的电子书,并将本章作为统计显著性和零假设检验的起点。

希望我能帮上忙!

尽管训练和测试数据集代表了底层数据分布,但我认为重复离开是完全有效的。测试数据应该代表你希望你的方法执行的数据类型。如果你真的能得到准确的复制,那也没关系。然而,我想问你的域是什么,在哪里可以多次生成完全相同的样本。你的数据是合成的吗?你是否使用了一个小特征集,每个特征的可能值很少,这样输入空间中的不同点就会映射到特征空间中的同一点?

事实上,你能够多次遇到同一个实例,这对我来说是可疑的。此外,如果你有1033个实例,你应该使用其中33个以上的实例进行测试。你的测试准确性会有很大的差异。请在此处查看答案。

有几个重复或非常相似的样本似乎在某种程度上类似于你试图分类的群体的分布是不均匀的。也就是说,某些特征组合比其他特征组合更常见,并且它们在数据中的高出现率赋予了它们更大的权重。不管怎样,您的样品都不具有代表性。

注意:当然,即使种群是均匀分布的,也总是有可能绘制出相似的样本(根据分布情况,甚至可能是相同的)。

你可能会提出一些论点,认为相同的观察结果是一种特殊情况,但它们真的是吗如果您的样本具有代表性则某些特征组合比其他特征组合更常见(根据您的问题域,甚至可能相同)似乎是完全合理的。

最新更新