可以判定问题的原因来自两方面,一方面是模型过拟合,另一方面是训练集和测试机的数据域不同。

一、问题定位:

至于问题的定位排查,建议按照先易后难的角度,也就是先排查训练集和测试集是否存在数据域的不同,再排查模型是否过拟合。

1.关于数据域的排查

具体来讲就是查验训练集和测试集的数据分布不一致,具体来说有如下几点

(1)数据源分布不一样:例如在图像处理中,训练集的图像采集使用的是摄像头A拍摄的,而测试集是摄像头B拍摄的,但是摄像头A和B的拍摄效果差别较大(例如:图像成图的清晰度、对比度等);在语音识别中,训练集是音频普通话较多,测试集却很多方言;

(2)数据集的噪声干扰不同:例如在图像中,训练集的图像都是正常拍摄,但是测试集的图像都是昏暗的或遮挡的;在语音识别中,训练集可能都是清晰的音频,测试集却有很多背景杂音等。

2.关于过拟合的排查

如果不是数据域的问题,那么可以基本判定训练集和测试集的数据域是一致的。那么问题可以归为模型过拟合。

二、问题对应的解决方案

1)数据域问题的解决方式

重新编排训练集和测试集的数据组成比例,尽量做到数据在训练集和测试集上分布是一致的。

2)过拟合问题的解决方式

针对过拟合问题,一般是从数据增广和模型复杂度两个角度去处理。

(1)在数增广上,尽量在训练时增加一些在线增广的策略,例如,图像处理中,增加图像的扭曲、噪声点、扭曲、模糊等。

(2)在模型复杂度上,可以适当的增加些dropout、normal等操作,或者增减一些网络层数和数据加权等。

参考链接:
知乎回答

Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐