已知条件:基于keras搭建了一个全连接网络,训练数据2000个,数据特征4个,标签3个。隐藏层2层,分别是6、4个神经元,relu激活函数+L2正则化,输出层仅sigmoid激活函数。batch=32,优化器adam,loss用的是mse。
总结学习中遇见的几种常见问题:
1. 学习很早就结束,大约在20~50个epoch时候,acc和loss曲线基本就稳定了。后来尝试用动态学习率,貌似也没什么变化。为什么模型很快就不学习了?见下图
2. 训练数据属于[a,b]范围的数据,从中单独生成一个子集[a1,b1]的数据(50个数据),验证模型泛化力,发现学习的结果非常糟糕。见下图
3. 数据样本是实验和数值模拟生成的,数据特征具有实际的物理意义,时间和代价以及人力,难以说我能做上万次实验得到更多的数据。
不知道你这个问题是否已经解决, 如果还没有解决的话: