xuanjihe / speech-emotion-recognition

speech emotion recognition using a convolutional recurrent networks based on IEMOCAP
389 stars 142 forks source link

数据集的处理问题 #34

Closed songyue666666 closed 5 years ago

songyue666666 commented 5 years ago

请问您的代码是不是没有用交叉验证呢?只是把前4个Session的作为训练集,剩下的Session5作为验证集和测试集?

kvincek commented 5 years ago

请问您的代码是不是没有用交叉验证呢?只是把前4个Session的作为训练集,剩下的Session5作为验证集和测试集?

我觉得作者使用一个单独的session来做validation可以避免过拟合,毕竟随机抽样的话,过拟合了就没法从validation accuracy看出来了

xuanjihe commented 5 years ago

请问您的代码是不是没有用交叉验证呢?只是把前4个Session的作为训练集,剩下的Session5作为验证集和测试集?

这个代码没有交叉验证,你只要把训练的session换一下就可以了,另外,session1-4训练,session5验证,效果应该50%左右,你换别的session进行训练,效果会比较好,你也可以不用先统计各个情感的样本数,直接用append

xuanjihe commented 5 years ago

请问您的代码是不是没有用交叉验证呢?只是把前4个Session的作为训练集,剩下的Session5作为验证集和测试集?

我觉得作者使用一个单独的session来做validation可以避免过拟合,毕竟随机抽样的话,过拟合了就没法从validation accuracy看出来了

但这样也有一个问题,容易过拟合验证集,数据量太小了没办法,应该配上early stop比较好点。

kvincek commented 5 years ago

请问您的代码是不是没有用交叉验证呢?只是把前4个Session的作为训练集,剩下的Session5作为验证集和测试集?

我觉得作者使用一个单独的session来做validation可以避免过拟合,毕竟随机抽样的话,过拟合了就没法从validation accuracy看出来了

但这样也有一个问题,容易过拟合验证集,数据量太小了没办法,应该配上early stop比较好点。

是的,我用session5测试出来结果最高53.77%,这个不balance的数据集怎样evaluate还是挺灵活的。 我还发现了个数据处理问题,就是在提取300个frame过程中,你的代码是小于300时zero padding, 大于300时取后300个frame,这样会损失挺多有效frame, 所以可能加一个silence detector会有帮助。 谢谢你的code, 学到很多。

xuanjihe commented 5 years ago

请问您的代码是不是没有用交叉验证呢?只是把前4个Session的作为训练集,剩下的Session5作为验证集和测试集?

我觉得作者使用一个单独的session来做validation可以避免过拟合,毕竟随机抽样的话,过拟合了就没法从validation accuracy看出来了

但这样也有一个问题,容易过拟合验证集,数据量太小了没办法,应该配上early stop比较好点。

是的,我用session5测试出来结果最高53.77%,这个不balance的数据集怎样evaluate还是挺灵活的。 我还发现了个数据处理问题,就是在提取300个frame过程中,你的代码是小于300时zero padding, 大于300时取后300个frame,这样会损失挺多有效frame, 所以可能加一个silence detector会有帮助。 谢谢你的code, 学到很多。

其实有人做过实验,测试的时候,完整的一个句子进行测试效果最好,可以一次测一个句子的方式来进行测试,训练的时候也可以将帧数小于300的重复使用拼接成300帧。