首页 文章

卷积神经网络不对测试集keras进行分类

提问于
浏览
0

我有一个三维卷积神经网络[keras,tensorflow]和具有高级阿尔茨海默氏症,早期阿尔茨海默氏症和 Health 人(3类)的人的3D脑图像 . 我有324个图像的训练集和74个图像的测试集 . 当我训练我的CNN时,我有大约65-70%的准确度,但对于测试组,我只有30-40% . 当我使用测试数据作为验证数据然后用于训练集时,我的准确度也不超过37%,并且损失始终保持在相同的水平 . 没关系我改变哪些参数,结果是一样的 . 我将准备好的和规范化的数据从.h5文件加载到Python中,输入有形状(None,90,120,80,1) . 我不知道可能出错了什么,我多次检查代码,一切似乎都是正确的 .

我的CNN有4个conv3D层,3个最大池,激活:relu和batch_normalizations,3个密集层和dropout,softmax

我感谢任何帮助或想法 .

1 回答

  • 1

    如果您的训练数据只有65/70%的准确率非常差,并且表明您的神经网络没有正确收敛 . 如果结构足够复杂,通过有效地学习对小输入样本的输出进行硬编码,您的网络应该能够至少过度拟合训练数据 . 听到它的声音,你的结构足够复杂 .

    首先要尝试的是将学习率降低10倍,并关闭验证/早期停止/标准化/正规化以及任何其他防止过度拟合的方法 . 然后冲洗,重复 - 更多迭代,每次将LR减少10倍 - 直到您可以将训练数据过度拟合到训练数据接近100%的位置 .

    然后,您可以进行适当的早期停止,退出,规范化,正规化等,以防止过度拟合,您知道有效的学习率 .

    如果放下LR甚至不适合LR,那么你的NN结构就会出现问题 .

相关问题