我应该删除与某些训练样本相同的测试样本吗?
Posted
技术标签:
【中文标题】我应该删除与某些训练样本相同的测试样本吗?【英文标题】:Should I remove test samples that are identical to some training sample? 【发布时间】:2013-12-21 20:17:55 【问题描述】:我一直在与我的顾问就这个问题进行一些辩论,我想听听你的意见。
我有一个相当大的数据集,用于构建分类器。我有一个单独的、较小的测试数据集,它是独立于训练集获得的(实际上,您可以说任一集中的每个样本都是独立获得的)。每个样本都有一个类别标签,以及收集日期和位置等元数据。
测试集中没有样本与训练集中的任何样本具有相同的元数据(因为每个样本都是在不同的位置或时间收集的)。但是,特征向量本身可能与训练集中的某个样本相同。例如,可能有两种病毒株分别在非洲和加拿大取样,但它们都具有相同的蛋白质序列(特征向量)。
我的顾问认为我应该从测试集中删除这些样本。他的理由是,在测试方面,这些就像“免费赠品”,可能会人为地提高报告的准确性。
但是,我不同意并认为应该将它们包括在内,因为在现实世界中,分类器看到之前已经看到的样本实际上可能会发生。移除这些样本会让我们离现实更远。
你怎么看?
【问题讨论】:
【参考方案1】:很高兴知道您是在谈论百万样本中的几次重复还是 15 个样本中的 10 次重复。
总的来说,我认为您的做法并不合理。我认为你的顾问有一个很好的观点。您的评估需要尽可能接近使用您无法控制的分类器——您不能只假设您将在您已经看到的数据点上进行评估。即使每个数据点都是独立的,您也将根据从未见过的数据进行评估。
我的经验是计算机视觉,用同一主题的同一张图片进行训练和测试是非常值得怀疑的。事实上,我对使用同一视频的帧(甚至不是同一帧)进行训练和测试感到不舒服。
编辑:
有两个问题:
分布允许这些重复自然发生。一世 相信你,你知道你的实验,你知道你的数据,你是 专家。
你通过这样做得到提升的问题 boost 可能是不公平的。解决顾问问题的一种可能方式 关注的是评估您获得的杠杆作用有多大 从重复的数据点。生成 20 个测试用例 10 其中 你用 1000 训练并在 33 上测试,确保没有 重复 33 次,另外 10 次你用 1000 次并在 33 次上进行测试,允许重复出现 自然。报告两者的平均值和标准差 实验。
【讨论】:
我不认为我会在我已经看到的数据点上进行评估。我有一组大约 1000 个在世界各地不同日期采集的训练样本,以及一组 33 个测试样本。使用与训练样本大致相同的过程收集测试样本,并且与将来呈现给分类器的任何样本的过程基本相同。假设我们有一个分布,我们从中采样以获取两个数据集。如果碰巧我们得到相同的特征向量,对我来说仍然反映了现实。【参考方案2】:这取决于...您的顾问建议了常见的做法。您通常在未用于训练的样本上测试分类器。如果与训练集匹配的测试集样本很少,那么由于相同向量的重现,您的结果不会有统计差异。如果你想正式并且仍然保持你的逻辑,你必须证明相同向量的再次出现在测试过程中没有统计意义。如果你在理论上证明了这一点,我会接受你的逻辑。请参阅 this ebook 了解一般统计信息,并参阅 this chapter 作为统计显着性和零假设检验的起点。
希望我能帮上忙!
【讨论】:
【参考方案3】:尽管训练和测试数据集代表了基础数据分布,我认为保留重复是完全有效的。测试数据应该代表您希望您的方法执行的数据类型。如果你真的可以得到精确的复制,那很好。但是,我会质疑您的域是什么,可以完全多次生成相同的样本。你的数据是合成的吗?您是否使用了一个很小的特征集,每个特征的可能值很少,因此输入空间中的不同点映射到特征空间中的同一点?
你能够多次遇到同一个实例这一事实对我来说是可疑的。此外,如果您有 1,033 个实例,那么您应该使用远远超过 33 个实例进行测试。您的测试准确性的差异将是巨大的。查看答案here。
【讨论】:
【参考方案4】:有几个重复或非常相似的样本似乎有点类似于您试图分类的人口分布不均匀。也就是说,某些特征组合比其他特征组合更常见,并且它们在数据中的高出现率赋予它们更大的权重。要么,或您的样本不具有代表性。
注意:当然,即使人口是均匀分布的,也总有可能抽取相似样本(根据分布情况甚至可能相同)。
您可能会提出一些论点,即相同的观察结果是一种特殊情况,但它们真的是这样吗? 如果您的样本具有代表性,某些特征组合会比其他特征组合更常见(甚至可能相同,具体取决于您的问题领域),这似乎是完全合理的。
【讨论】:
以上是关于我应该删除与某些训练样本相同的测试样本吗?的主要内容,如果未能解决你的问题,请参考以下文章