目前,我正在遵循最佳实践并使用来自训练数据的词汇表创建一个“词袋”向量。我的交叉验证(和测试)数据集使用此模型进行转换,使用训练集创建的相同词汇表。它们不贡献任何词汇,也不影响文档频率(用于“词频逆文档频率”计算)。
然而,这在某些方面是有限制的。首先,计算词袋模型的成本很高,因此这阻止了我进行 k 折交叉验证(因为它需要不断地重新计算词袋)。我的数据集大约有 1000 万个单词,我正在计算词袋和双元词袋,每次大约需要 5 分钟。
这也意味着我目前有交叉验证和测试集的保留数据,这是我不能用于训练的数据。
如果我在训练集和交叉验证集上都装上词袋,我的结果会显着偏差吗?换句话说,如果我使用验证集中的词汇来计算词袋的词汇?我认为,即使它们可能有助于词汇量,也不存在过度拟合的风险,因为在训练中不会看到这些特定样本的频率。这使我可以稍后根据自己的喜好对验证集进行切片,并且我仍然有一个“测试”集来准确预测泛化错误(直到测试时才看到测试集)。
我想知道这样的事情是否有任何先例,以及您的经历是否在做类似的事情。