3

我是 Matlab 中神经网络工具箱(nntool)的新手。我已经使用相同的数据集训练了两个网络。这些网络中的一个包含比另一个更多的神经元。

现在我想知道:如何比较这些网络?我怎么能说网络 A 比网络 B 好?

这完全与我的测试集中正确分类模式的数量有关吗?假设两个网络都显示了相同的测试集,并且网络 A 正确分类了更多模式。我可以说网络 A(通常)比网络 B 好吗?

还是我也应该根据我的表现功能来看看表现?

是否有任何其他措施可以比较使用不同参数训练的两个网络?

4

1 回答 1

1

这主要取决于您关心的是什么。正如我所看到的,在大多数情况下,分析预测标签或网络的准确性可以导致一个好的拾取决策,特别是当你的网络具有浅层架构时,但是当你决定时,有些问题可能变得更加重要睁大眼睛看网。

  • 例如,在训练阶段,即使向第一个隐藏层添加一个隐藏单元,也会将d(输入层的维度)自由参数(权重)插入到应该估计的模型中。另一方面,你的模型有更多的自由参数,需要更多的训练数据来建立一个可靠的模型。因此,只要您有足够的数据来补偿添加的免费参数,更大的网络就会被广泛接受。根据经验,插入更多的自由参数会增加过度拟合的机会,这一直是深度神经网络中的一个重要问题,并且已经做出了许多努力来解决它。
  • 在浅层网络中不太重要的另一种情况是额外隐藏节点带来的计算成本。既然我们睁大了眼睛,提到这个问题就有些必要了。如果您的网络更深,这种计算成本变得更具挑战性。当您使用反向传播更新参数时,训练阶段的计算成本也是一个重要问题。
  • 您可能主要在深度神经网络中看到的另一件事是内存要求。随着层数或神经元数量的增加,自由参数的数量急剧增加,以至于在深度网络中您可能会看到数百万个参数。很明显,加载这么多参数需要足够的硬件要求。

希望能帮助到你。

于 2015-10-10T12:37:07.563 回答