Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/kubernetes/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Neural network 隐藏层有多少个单位?_Neural Network_Pybrain_Fann - Fatal编程技术网

Neural network 隐藏层有多少个单位?

Neural network 隐藏层有多少个单位?,neural-network,pybrain,fann,Neural Network,Pybrain,Fann,我开始学习人工神经网络编程。我想知道,根据输入和输出的数量,是否有某种计算方法来确定前馈多层网络中隐藏层应具有的单元的确切数量。例如,在经典的XOR函数中,有2个输入和1个输出。如何知道隐藏层可能有3个单位?否 简短但正确的答案是,层中隐藏节点的“正确数量”没有任何定义。不过,有一些指导原则,比如在给定层中使用的隐藏节点不多于输入信号 配置网络 底线是,您必须根据特定的数据集或问题实例校准隐藏节点的数量。重要的是要记住,使用尽可能少的隐藏节点是有利的,因为这将确保网络的通用性。粗略地说: 线性问

我开始学习人工神经网络编程。我想知道,根据输入和输出的数量,是否有某种计算方法来确定前馈多层网络中隐藏层应具有的单元的确切数量。例如,在经典的XOR函数中,有2个输入和1个输出。如何知道隐藏层可能有3个单位?

否 简短但正确的答案是,层中隐藏节点的“正确数量”没有任何定义。不过,有一些指导原则,比如在给定层中使用的隐藏节点不多于输入信号

配置网络 底线是,您必须根据特定的数据集或问题实例校准隐藏节点的数量。重要的是要记住,使用尽可能少的隐藏节点是有利的,因为这将确保网络的通用性。

粗略地说:

线性问题越多=>隐藏节点越少,非线性问题越多=>隐藏节点越多

更多的泛化=>更少的隐藏节点,更少的泛化=>更多的隐藏节点

准确答案(至少针对您的培训集)=>更多隐藏节点,近似答案=>更少隐藏节点

仅供参考:在异或的情况下,如果两个输入都直接连接到输出,则需要一个额外的隐藏节点。如果不允许输入到输出的连接,则至少有两个隐藏节点


在回答这个问题时,是否有一个公式给出了一般问题的隐藏节点的确切数量?否。

为什么使用尽可能少的隐藏节点很重要?我不明白。假设你知道你只需要6个隐藏节点来准确(足够)描述你的训练集。然后,通过添加额外的节点,网络将自学输入值之间的(偶然)依赖关系。当你应用新的输入信号实例时,这些自学错误的模式将降低你的神经网络的整体准确度,因为这些模式并不存在。概括到底是什么?概括:“对未来数据实例进行正确分类的能力,或者至少与训练后报告的一样正确。”. 换句话说:如果您想通过网络对以前从未见过的数据实例进行分类,则泛化非常重要。谢谢。我猜泛化越好,新测试集的错误就越少。