前馈神经网络如何选择隐藏层的数量

  统计/机器学习 深度学习 人工神经网络    浏览次数:22174        分享
6

我现在想用前馈神经网络做预测,我好奇有没有什么系统的方法来选择神经网络中隐藏层的数量?

此外每个隐藏层的节点数量又该如何选择呢?

 

机器小白   2017-03-11 11:40



   2个回答 
9

一般都是通过cross validation试出来的,没有什么绝对正确的准则。

不过有些是大家(包括Jeff Heaton)普遍的经验心得,值得参考下。

隐藏层数

一般是一层,因为大部分情况下都够用了。理论上说,一个有两个隐藏层的前馈神经网络可以表示任意的非线性决策边界。所以,可以说1到2个隐藏册。

隐藏层中的节点数

假设输入层的节点数是$N_x$,输出层的节点数$N_y$,那么每个隐藏层中的节点数$N_h$一般在$N_x$和$N_y$之间,有人推荐$\sqrt{N_xN_y}$,也有人推荐

$$N_h=\frac{N_s}{c(N_x+N_y)},$$

其中$N_s$是样本的数量,$c$是一个常数,通常选择个位数。当然以上都是根据经验而来的,具体怎么选,还需要针对具体问题进行分析然后做交叉验证。

SofaSofa数据科学社区DS面试题库 DS面经

蓝色北方   2017-03-25 13:53

因吹斯听! - Gavin   2017-10-18 13:18
学习了。请问有文献吗? - okayguy   2018-06-11 14:02
3

对于分类问题,我一般都是用一个隐藏层,隐藏神经元的个数是从Nx一直试到Ny

SofaSofa数据科学社区DS面试题库 DS面经

数据痴汉   2017-03-26 02:56



  相关讨论

为什么RNN会有梯度消失的问题,LSTM是怎么解决梯度消失的?

epoch和batch之间有什么关系?

关于神经网络的性能

吴恩达深度学习第一课第四周作业L层结果收敛在0.64的问题

为什么小数据不适合神经网络模型?

dropout rate一般设置多大?

deep learning中的pooling是什么意思?

神经网络中的dense和sparse是什么意思?

反向传播和梯度算法概念???反向传播是指反向传播算法,还是反向传播算法中的一个过程?

BatchNormalization这一层一般有哪些参数需要调?

  随便看看

deep learning中的pooling是什么意思?

统计学中的自变量和因变量分别是什么意思?

怎么在已有的dataframe中插入一个新列(Pandas)

两个独立的正态随机变量的乘积服从什么分布?

AB实验的哈希分桶技术是什么意思?