我有一个二进制 NLP 分类任务,可以从数百万个句子中识别出谈论目标主题的文本。5-10% 的句子是正面的,其余的都是负面的。
我已经在一个随机样本上训练了几个模型,大约 1000 个手动注释,其中 30% 为阳性,70% 为阴性,在看到阳性病例的精度太低后,我对阳性病例进行了过度采样。我最初的探索表明,负面案例更容易识别,因此我包含了更多正面案例。
使用交叉验证或训练/验证拆分,我得到了 80% 到 90% 之间的准确率,这对于项目来说已经足够了。
但是,当我在实际数据上运行模型并观察结果样本时,结果要差得多(准确率约为 60%)。这与我使用的所有模型(随机森林、神经网络等)都以非常相似的方式发生。是过度拟合的问题还是训练样本不具有代表性?如何诊断和解决问题?