三层bp神经网络的隐层中的神经元怎么确定呢?

来源:百度知道 编辑:UC知道 时间:2024/06/22 02:33:15
最近学神经网络,感觉很抽象啊~谢谢
感谢 煌兮诸火 的回答
但还是感觉比较笼统呵呵,比如做预测的时候,怎么样来尝试呢?呵呵,能不能麻烦给个具体的例子?谢谢了!

由多层FNN的BP算法误差函数构成的非线性方程组的独立方程个数和FNN的待求未知变量的个数应该相等,该方程组才能有唯一组解。
由此导出网络结构方程式,进而导出隐层层数判别式和每层神经元个数判别式:
依据Kolmogorov定理,由该判别式得出求解FNN隐层层数和每个隐层神经元个数的具体算法。计算机仿真结果表明该方法简明实用。

尝试法 try-error-try
一般常用方法,就是尝试,可以根据训练集的规模(输入个数)进行尝试,有人提了一些经验公式。
比如这个数据集有4个输入,2个输出,那么你可以设置一个隐层,这个隐层有4个神经元,也可以是4+2,也可以是(4+2)/2,当然也可以是1,也可以是100,完全是人为设定的,你需要根据训练情况(是否易收敛,泛化能力如何)来增加或减少

构造(Constructive)
从一个小规模的网络开始学习,依据训练过程中网络的性能,逐步增加网络结构的规模或复杂性

修剪(Pruning)
从一个规模较大的初始网络开始学习,在网络训练过程中,依据一定的性能准则对得到的满意网络进行结构删减,删除不必要的连接或节点,直到网络性能变差

进化神经网络
使用进化算法学习神经网络的结构