在进行神经网络的设计的时候確定各层神经元的个数是一个非常重要的问题,同时也是比较困难的事情
由于一个神经元通常只有一个输出(注意:输入可有无数个!),所以如果我们针对的问题中需要n个输出,那么就将输出层的神经元个数设置为n
单层神经网络:对于单层神经网络,输入层和输出层嘟是指同一层所以知道了输出变量的个数,也就知道了神经元的个数!
多层神经网络: 输入变量的个数通常都是由问题的外部描述所确定嘚例如,如果有4个外部变量作为网络的输入那么网络就有4个输入。但是这是不是意味着输入层的神经元个数就为4呢?答案是否定的! 洇为每个神经元的输入可以有无数个所以,通常当输入变量较多的时候输入层神经元个数是明显的少于输入变量的个数的!这是一个和輸出层很不一样的地方!
神经网络理论上可以采用4层或者更多的层(在《神经网络设计》一书中指出,大多数实际问题的神经网络仅仅有2層到3层)在《神经网络设计》一书中,将除输出层以为的层都称为隐含层隐含层就包括输入层和介于输入层和输出层之间的各层。
对於隐含层各层神经元的数目其问题关键在于外部问题并没有直接指明隐含层需要的神经元数目(输出层神经元数目有外部问题指定!)。实际上精确预测隐含层所需要的神经元的数目至今仍然存在理论上还没有解决的问题。
输出信号所期望的特征有助于选择输出层的传遞函数如果一个输出要么是-1,要么是1那么该输出神经元就可以用对称硬限度极限传输函数。
单层网络结构完全由问题描述决定包括特定的输入/输出数和输出信号的特征。
《神经网络设计》机械工业出版社