训练集和验证集准确率可以达到>90%但是测试集的准确率只达到了30%多,无论是textcnn还是bi-lstm+attention,模型准确率都是这样。
泛化的措施比如加l2正则,dropout,BN层,数据增强等方式都用了,但是还是这样。
数据都是一个数据集随机划分的。
有没有可能是数据训练的语句和标签的关系不大导致的,不能通过语句推出这个标签(之前的标签都是不同人打的,可能规则不一样,不准确?)
各位有没有什么思路或想法赐教下?
因为没看到数据集和代码,我这边简单提供一种可能性参考下哈
首先你提到数据都是一个数据集随机划分的,可能存在的请况是本身类不平衡,导致你训练集和最早测试集标签分布相差较大,你切换随机种子试试呢,或者按照类别做分层抽样去划分数据集,也可以调换验证集和测试集。
上述操作的目的就是看看是否存在随机划分导致数据分布相差较大的问题