神经网络模型中节点和内部层的默认值是多少?

数据挖掘 机器学习 神经网络
2021-10-13 13:32:43

训练神经网络的默认内部层数和内部节点数是多少?

我的数据有 62 个观察值和大约 200 个预测变量。我有一个包含两个类的目标变量,并实现了一个具有一个内部层和一个内部节点的神经网络,没有重复。另外,我尝试了两个内部层,一层有 5 个内部节点,第二层有 2 个内部节点。我想首先找到默认值的准确性,然后我将尝试优化模型性能。

在神经网络训练模型中选择层数和内部节点的标准是什么?在随机森林的情况下,我们可以选择尝试大致等于预测变量数量的平方根。

2个回答

有些网站很好地解释了这些。

决定隐藏层中的神经元数量

来自https://www.r-bloggers.com/selecting-the-number-of-neurons-in-the-hidden-layer-of-a-neural-network/

最常见的经验法则是在 1 和输入变量的数量之间选择多个隐藏神经元。

决定隐藏层的层数

来自https://stats.stackexchange.com/questions/181/how-to-choose-the-number-of-hidden-layers-and-nodes-in-a-feedforward-neural-netw

对于大多数问题,通过仅使用两条规则设置隐藏层配置,可能会获得不错的性能(即使没有第二个优化步骤):(i)隐藏层的数量等于 1;(ii) 该层中神经元的数量是输入和输出层中神经元的平均值。

希望这能回答你的问题!

一种潜在的方法可以是迭代设计神经网络架构,例如多层感知器 (MLP),如下文所述:

https://stats.stackexchange.com/questions/238637/deep-neural-network-tuning-hyperparameters

我们可以将自己限制为 4-8 层,每层有 8-128 个(2 的幂)神经元。此外,我们可以假设推荐使用 He 正常权重初始化的 ReLU 激活和使用 Nesterov 动量优化器的 Adam 或 SGD。

为了避免在小数据集上过拟合,重要的是添加 l1 或 l2 正则化(权重衰减)和 dropout 层(例如保持概率为 0.5)。

然后,我们可以使用带有随机搜索贝叶斯优化的交叉验证来选择上面交叉验证文章中描述的最佳架构。