我正在尝试使用Tensorflow NN构建模型 .
输入矩阵大小:[6699,m] - >'m'示例;输出矩阵大小:[11,m] - > 11个具有softmax实现的输出层节点
我一直在获得非常高的列车精度(> 95%)和非常低的测试精度(~20-30%) . 我试过的一些事情:
-
训练集大小从m = 1200到m = 13000左右
-
增加了正则化(lambda = 0.5&0.7)
-
添加了Dropouts(keep_prob = 0.5)
-
Gradient Descent然后是Adam优化器(仅用于加速收敛)
-
尝试了各种学习率的 Value 观
-
尝试改变每层中的层数和神经元数量 . 再次从浅1隐藏层到6隐藏层 .
-
目前使用1200个num_epochs,但是在500-600个时期之后,成本几乎稳定下来 .
-
尝试了mini_batch大小的一些选项 .
我在上周左右尝试了所有这些 . 尽管如此,我无法破译导致训练集和测试集准确度如此大的差异的原因,而且我几乎在上面描述的每个场景中都会出现这种差异 . 这是一个过度拟合的明显案例,我对这些选项非常疲惫 .
请建议我还能做些什么 .