我开始学习人工神经网络编程。我想知道是否有某种计算可以根据输入和输出的数量来确定前馈多层网络中隐藏层应该具有的确切单元数。例如,在经典的 XOR 函数中,有 2 个输入和 1 个输出。我怎么知道隐藏层可能有 3 个单位?
问问题
792 次
2 回答
1
大致说来:
更多线性问题 => 更少隐藏节点,更多非线性 => 更多隐藏节点。
更多的泛化 => 更少的隐藏节点,更少的泛化 => 更多的隐藏节点
准确答案(至少对于您的训练集)=> 更多隐藏节点,近似答案 => 更少隐藏节点
仅供参考:在 xor 的情况下,如果两个输入都直接连接到输出,则需要一个额外的隐藏节点。如果不允许输入到输出连接,则最少有两个隐藏节点。
在回答这个问题时,是否有一个公式可以给出一般问题的隐藏节点的确切数量 - 没有。
于 2014-04-03T16:41:20.933 回答
1
不
简短但正确的答案是,对于层中隐藏节点的“适量”没有任何定义。但是有一些指导方针,例如在给定层中使用的隐藏节点不超过输入信号的数量。
配置您的网络底线是您必须根据您的特定数据集或问题实例校准隐藏节点的数量。重要的是要记住,使用尽可能少的隐藏节点是有利的,因为这将确保网络具有泛化性。
于 2014-04-02T16:07:55.010 回答