首页 > 解决方案 > LSTM 中节点数的影响

问题描述

我是机器学习的新手,我建立了一个有 2 个密集层的神经网络。当我进行实验时,我有以下观察结果:

  1. 当我减少每个密集层中的节点数量时,我似乎获得了更好的训练和预测精度。这让我感到惊讶,因为我假设密集层中的节点越多,模型就越能理解数据。为什么减少节点数会提高准确性?

  2. 当每个密集层中的节点数不一致时,该模型也产生了更好的结果。例如,当一个密集层有 5 个节点而另一层有 10 个节点时,我得到了最好的结果,而不是两个层都有 5 个节点或 10 个节点。这是为什么?密集层中不一致的节点计数提高准确性是否常见?

标签: tensorflowmachine-learningkerasneural-networklstm

解决方案


要按顺序回答您的问题:

  1. a) 当您减少每个密集层中的神经元数量并获得更好的训练和准确性时,您就减少了问题中的过度拟合现象。从你的层中删除一些神经元的行为就像你的问题的正则化器一样,从而减轻了过度拟合的影响。这种情况并不少见;根据您的数据集和神经网络的整体架构,减少某些层中的神经元数量很可能会更好地泛化您的模型。

b) 如果在减少节点数量时仅提高训练精度,则答案 a) 不适用,因为过拟合会提高训练精度,但会降低测试/保持精度。

  1. 第二个问题视情况而定;从头开始构建神经网络时,不能保证您的问题在使用方法 A 或方法 B 时会更好;这就是我们进行超参数搜索和优化的原因,以寻求最佳的整体参数,以最大限度地减少我们在验证集上的损失。

对于从头开始构建模型时应用的常见启发式方法,尤其是密集层,请参阅下一个链接:https ://towardsdatascience.com/17-rules-of-thumb-for-building-a-neural-network-93356f9930af 。一些适用的启发式方法可用于整个密集层;输入(如您的问题中的输入)是否来自 LSTM 处理并不重要。


推荐阅读