我正在尝试使用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大小的一些选项 .

我在上周左右尝试了所有这些 . 尽管如此,我无法破译导致训练集和测试集准确度如此大的差异的原因,而且我几乎在上面描述的每个场景中都会出现这种差异 . 这是一个过度拟合的明显案例,我对这些选项非常疲惫 .

请建议我还能做些什么 .