【问题标题】:Ensuring memorization doesn't happen between between train and test sets in a Machine Learning model确保机器学习模型中训练集和测试集之间不会发生记忆
【发布时间】:2022-12-03 08:12:35
【问题描述】:
最近,承包商为我们开发了一个 NER 解决方案,该解决方案从药物政策中提取相关药物(政策描述覆盖标准的药物)。他们的部分过程是通过训练集,并替换也出现在测试集中的药物(“泰诺”等),以确保模型正在学习药物的背景,而不是记住药物名称(例如,出现在“泰诺在以下情况下受保护……”等句子中)。
我的问题是,如果我们添加了新的测试数据,并且我们想要重新评估模型,那么替换测试集中的单词以确保它们不会出现在之前的训练集中是否有意义,或者我们是否应该重新- 替换训练集中的单词,重新训练模型,并在新的测试数据上重新评估?
谢谢
【问题讨论】:
标签:
machine-learning
training-data
named-entity-recognition
【解决方案1】:
为了避免模型记忆,替换测试集中的单词通常不是一个好主意。这是因为测试集的目的是评估模型在看不见的数据上的表现,而替换测试集中的单词有效地使模型不那么“看不见”数据。这可能导致夸大的性能分数和模型对新数据的普遍性的错误认识。
与其替换测试集中的词,不如在包含更新词的新训练数据上重新训练模型,然后在新测试集上评估模型。这将更准确地描述模型在新数据上的性能,并有助于避免过度拟合训练集。
同样重要的是要注意,训练模型的目标不应该是避免记忆特定单词,而是学习数据中的潜在模式和关系,使其能够做出准确的预测。这可以通过正则化等技术以及使用适当的培训和评估指标来实现。