我有一个想法来找到神经网络中所需的最佳隐藏神经元数量,但我不确定它有多准确。
假设它只有1个隐藏层,它是一个有1个输出节点的分类问题(所以它是一个二元分类任务),对于数据集中的N个特征有N个输入节点,每个节点都连接到下一个节点层。
我在想,为了确保网络能够提取数据之间的所有有用关系,那么每条数据都必须链接到其他每条数据,就像在一个完整的图表中一样。因此,如果您有 6 个输入,则必须有 15 个边才能完成。再多一点,它将重新计算先前计算的信息,再少一点就不会计算所有可能的关系。
所以,如果一个网络有 6 个输入节点,1 个隐藏节点,1 个输出节点。将有 6 + 1 个连接。有 6 个输入节点、2 个隐藏节点和 1 个输出节点,将有 12 + 2 个连接。有 3 个隐藏节点将有 21 个连接。因此,隐藏层应该有 3 个隐藏节点,以确保覆盖所有可能性。
这个答案讨论了另一种方法。为了争论,我试图让这两个例子都使用相同的数据。如果这个想法是用 6 个输入特征、1 个输出节点计算的,,以及训练集中的 60 个样本,这将导致最多 4 个隐藏神经元。由于 60 个样本非常小,将其增加到 600 个将导致最多 42 个隐藏神经元。
根据我的想法,我认为最多应该有 3 个隐藏节点,我无法想象它还有用,但是有什么理由超过 3 到 42 个,就像第二个例子一样?