模型训练时准确率很高,但实际准确率却远低于此,一般会是什么原因?
老板要做一个内容审核系统,选取好模型和样本集后进行训练,识别出 badcase 准确率能接近 95%,有时甚至更高。但实际用到产品中运营却反映帮助比较小,拦截率很低。现在有点蒙,第一次做模型不知道从哪开始排查。希望大家能帮帮我,感谢!
回答·39
最热
最新
- 不是说都一定要大数据才能怎样,few-shotlearning 的研究和应用也很多,加上主动学习策略,应该能稍稍缓解。但对于数据驱动算法而言,的确需要喂各种各样的数据,没得好说。为什么?本质就是算法不够聪明,我们人类是具备少样本学习的能力,尝试在感知中加入认知,单模态变成多模态
- 过拟合。可以尝试 1.添加 dropout 层。2.减小网络容量。3.L1,L2 正则化。3.增加训练数据。4.检查测试数据集是否泄露给了网络
- 线上线下数据分布是否一致是个常见问题,目标的训练和实际问题是不是一回事也是一个显著问题即样本的确定和目标的确定。 另一个是,线上是不是有一些规则做了过滤,并不是全部数据都用了你的模型。 时间问题考虑了吗?是不是时间问题导致了模型和问题不匹配。 思考下
- 1.过拟合。 2.数据分布不均匀,训练数据和测试数据分布概率差距较大。 3.±样本比例差距较大。 4.训练数据已经过时。
- 别只看准确率,具体场景下,precision 和 recall 的 tradeoff 问题是需要业务背景做支撑
- 整体来说就是训练过拟合。过拟合的原因从数据和模型两个方面分析。从模型方面分析:模型泛化能力不足,模型可能偏小,可以稍微调大一下模型,权重衰减过小,加大正则化衰减程度,模型学习时候的特征图过多,使用增加 dropout 层等;从数据方面分析:训练数据集中特征不能完全涵盖所有的特征数据,所以在模型选择正确的情况下,需要扩大训练数据。
- 思考檢查訓練與測試數據 是否相似 是否作了一樣的預處理等等 更換較不複雜的模型是否有相同現象?
- 过拟合,数据集抽样误差,数据集正反例比例与生产环境的差异
- 拿出你准确率低的测试集,一张图一张图喂给你的模型看看结果,站在模型的角度想想为啥捏🐸
- 大概率是过拟合了,或者是训练数据集不够,没有覆盖到所有的应用场景。过拟合的话可以通过数据平衡,训练时加正则惩罚等方法解决。