我建立了两个模型,一个没有任何隐藏层,我在输出中使用了softmax。另一个是一个隐藏层,在隐藏层中,我使用了Sigmoid作为激活函数。我曾希望具有一个隐藏层的模型可以提供更好的性能,但是两种模型的性能几乎都相同。我想知道为什么没有任何隐藏层的模型显示出如此高的性能?在这两种情况下,我都使用了大量数据来训练网络。 这是没有任何隐藏层的模型。有人可以指导我为什么它显示出如此高的准确性。在文学作品中,我读到了更深层次的网络更具表达力。
`step: 4400, train_acc: 0.99, test_acc: 0.996
step: 4500, train_acc: 1.0, test_acc: 0.996
step: 4600, train_acc: 1.0, test_acc: 0.998
step: 4700, train_acc: 0.99, test_acc: 0.998
step: 4800, train_acc: 1.0,test_acc: 1.0
step: 4900, train_acc: 0.99,test_acc: 0.996`
答案 0 :(得分:1)
看来您的数据集是线性可分离的,这意味着如果不是100%,则线性分类器可用于获得良好的训练集准确性。找到一个线性可分离问题的决策边界只需一个神经元。在没有线性激活函数的情况下,在每一层中添加更多的层和更多的神经元,仅是为了对更复杂的模式进行更复杂的分类。 结论是,如果您获得了尽可能最高的准确性,那么您期望更复杂的网络还能提供什么呢?当然计算成本。